应广单片机红外发射例程

应广单片机红外发射例程,采用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

【物联网项目】OLED改造

如何把7ping的SPI通信的OLED改造为IIC通信? 之前买OLED的时候发现有两款OLED。 一款是直接IIC通信的OLED只有4Pin管脚。 分别是GND VCC SCL SDA 另一款是支持SPI通信和IIC通信的

基于GD32MCU程序远程升级IAP设计思路

1.1 mcu设备远程升级程序的应用场景 在远程无线监控设备中,IAP程序远程升级功能起着重要作用。比如安装在监控区域的设备需要进行功能升级或者Bug修改,远程监控端可以通过WIFI、蓝牙、lora、以太网等模块将工

STM32开发笔记04---配置系统时间

架构图 思考重点 本文的目的是使用HSE外部晶振来配置系统时钟参考手册中的时钟树如何理解理解开发版初始化过程中对系统时钟的操作如何自行变更系统时钟 配置时钟源 在开发版STM32F429,以HSE, HSI, PLL作为主要