应广单片机红外发射例程

应广单片机红外发射例程,采用PMS150G,其他的MCU型号直接修改就好
//--------------PMS150G----------
// _@
// |1vdd gnd8|
// |2pa7 pa07|
// |3pa6 pa46|–led
// |4pa5____pa35|

#include “extern.h”
led bit pa.4;

word yanshi_a1;
byte kehu;
byte shuju;

void yindao(); //引导码
void fa1(); //发1
void fa0(); //发0
void fasong(); //发送数据
void jieshu(); //结束码
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/4 // SYSCLK=IHRC/4
$ led out,low;

while (1)
{
yindao(); //引导码

kehu=8; //客户识别码
while(kehu) //8次0
{
fa0();
}
kehu=8; //8次1
while(kehu)
{
fa1();
}

shuju =0x43; //数据
fasong();
shuju =0xbc; //数据
fasong();

jieshu(); //结束码

/*
led =1;
.delay 73; //109
led =0;
.delay 145;
*/

}
}
/**************************************************/
void yindao() //引导码
{
yanshi_a1 =350;
while(yanshi_a1)
{
led =1;
.delay 73; //109
led =0;
.delay 145;
yanshi_a1 --;
}
led =0;
.delay 18000;

}
/**************************************************/
void fa1() //发1
{
yanshi_a1 =22;
while(yanshi_a1)
{
led =1;
.delay 73; //109
led =0;
.delay 145;
yanshi_a1 --;
}
led =0;
.delay 6720;//2240;

}
/**************************************************/
void fa0() //发0
{
yanshi_a1 =22;
while(yanshi_a1)
{
led =1;
.delay 73; //109
led =0;
.delay 145;
yanshi_a1 --;
}
led =0;
.delay 2240;//2240;

}
/**************************************************/
void fasong() //发送数据
{
if(shuju.0){fa1();} else{fa0();}
if(shuju.2){fa1();} else{fa0();}
if(shuju.3){fa1();} else{fa0();}
if(shuju.4){fa1();} else{fa0();}
if(shuju.5){fa1();} else{fa0();}
if(shuju.6){fa1();} else{fa0();}

}
/**************************************************/
void jieshu() //结束码
{
yanshi_a1 =22;
while(yanshi_a1)
{
led =1;
.delay 73; //109
led =0;
.delay 145;
yanshi_a1 --;
}
}

/**************************************************/

/*

void Interrupt (void)
{
pushaf;

    if (Intrq.T16)
    {        //        T16 Trig
            //        User can add code
            Intrq.T16        =        0;
            //...
    }

    popaf;

}
/
/QQ:1475881755
***********/

版权声明:本文为CSDN博主「QiangALL」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42952848/article/details/121921084

应广单片机红外发射例程,采用PMS150G,其他的MCU型号直接修改就好
//--------------PMS150G----------
// _@
// |1vdd gnd8|
// |2pa7 pa07|
// |3pa6 pa46|–led
// |4pa5____pa35|

#include “extern.h”
led bit pa.4;

word yanshi_a1;
byte kehu;
byte shuju;

void yindao(); //引导码
void fa1(); //发1
void fa0(); //发0
void fasong(); //发送数据
void jieshu(); //结束码
void FPPA0 (void)
{
.ADJUST_IC SYSCLK=IHRC/4 // SYSCLK=IHRC/4
$ led out,low;

while (1)
{
yindao(); //引导码

kehu=8; //客户识别码
while(kehu) //8次0
{
fa0();
}
kehu=8; //8次1
while(kehu)
{
fa1();
}

shuju =0x43; //数据
fasong();
shuju =0xbc; //数据
fasong();

jieshu(); //结束码

/*
led =1;
.delay 73; //109
led =0;
.delay 145;
*/

}
}
/**************************************************/
void yindao() //引导码
{
yanshi_a1 =350;
while(yanshi_a1)
{
led =1;
.delay 73; //109
led =0;
.delay 145;
yanshi_a1 --;
}
led =0;
.delay 18000;

}
/**************************************************/
void fa1() //发1
{
yanshi_a1 =22;
while(yanshi_a1)
{
led =1;
.delay 73; //109
led =0;
.delay 145;
yanshi_a1 --;
}
led =0;
.delay 6720;//2240;

}
/**************************************************/
void fa0() //发0
{
yanshi_a1 =22;
while(yanshi_a1)
{
led =1;
.delay 73; //109
led =0;
.delay 145;
yanshi_a1 --;
}
led =0;
.delay 2240;//2240;

}
/**************************************************/
void fasong() //发送数据
{
if(shuju.0){fa1();} else{fa0();}
if(shuju.2){fa1();} else{fa0();}
if(shuju.3){fa1();} else{fa0();}
if(shuju.4){fa1();} else{fa0();}
if(shuju.5){fa1();} else{fa0();}
if(shuju.6){fa1();} else{fa0();}

}
/**************************************************/
void jieshu() //结束码
{
yanshi_a1 =22;
while(yanshi_a1)
{
led =1;
.delay 73; //109
led =0;
.delay 145;
yanshi_a1 --;
}
}

/**************************************************/

/*

void Interrupt (void)
{
pushaf;

    if (Intrq.T16)
    {        //        T16 Trig
            //        User can add code
            Intrq.T16        =        0;
            //...
    }

    popaf;

}
/
/QQ:1475881755
***********/

版权声明:本文为CSDN博主「QiangALL」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42952848/article/details/121921084

生成海报
点赞 0

QiangALL

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

应广单片机红外发射例程

应广单片机红外发射例程,采用PMS150G,其他的MCU型号直接修改就好 //--------------PMS150G---------- // _ // |1vdd gnd8| // |2pa7 pa07| // |3pa6

ESP32-GY_30光照强度传感器

GY_30光照强度传感器介绍 GY-30光强传感器特点及使用介绍 一、连接引脚 GY_30光照强度传感器使用I2C传输数据 。 5根引脚,名称与功能如下; vcc 为外接供电电源输入端 GND 地线 SCL I2C通信模式时钟

初学STM32之串口通信

一、背景知识 1. 处理器与外部通信的两种方式 并行通信:数据各个位同时传输 优点速度快;缺点占用引脚资源多串行通信:数据按位顺序传输 优点占用引脚资源少;缺点速度慢 2.串行通信的