合泰单片机HT66F018红外发射C程序及电路图

合泰单片机HT66F018红外发射C程序及电路图


2024年5月20日发(作者:)

include "HT66F018.h"

include "ExternRAM.h"

void SendIRdatachar p_irdata

{

unsigned char iraddr1; //十六位地址的第一个字节

unsigned char iraddr2; //十六位地址的第二个字节

int i;

char irdata;count;

irdata=p_irdata;

iraddr1=0x00;

iraddr2=0xbf;

//发送9ms的起始码

endcount=16;//223

_t1on=1;

_t2on=1;

do{}while0

//发送4.5ms的结果码

endcount=8;//117

_t1on=0;

_pa7=1;

do{}while0

//发送十六位地址的前八位

irdata=iraddr1;

fori=0;i<8;i++

{

//先发送0.56ms的38KHZ红外波即编码中0.56ms的低电平

endcount=1;

_t1on=1;

do{}while0

//停止发送红外信号即编码中的高电平

ifirdata-irdata/22 //判断二进制数个位为1还是0

{

endcount=3; //1为宽的高电平

}

else

{

endcount=1; //0为窄的高电平

}

_t1on=0;

_pa7=1;

do{}whilecount

irdata=irdata>>1;

}

//发送十六位地址的后八位

irdata=iraddr2;

fori=0;i<8;i++

{

//先发送0.56ms的38KHZ红外波即编码中0.56ms的低电平

endcount=1;

_t1on=1;

do{}while0

//停止发送红外信号即编码中的高电平

ifirdata-irdata/22 //判断二进制数个位为1还是0

{

endcount=3; //1为宽的高电平

}

else

{

endcount=1; //0为窄的高电平

}

_t1on=0;

_pa7=1;

do{}whilecount

irdata=irdata>>1;

}

//发送八位数据

irdata=p_irdata;

fori=0;i<8;i++

{

//先发送0.56ms的38KHZ红外波即编码中0.56ms的低电平

endcount=1;

_t1on=1;

do{}while0

//停止发送红外信号即编码中的高电平


发布者:admin,转转请注明出处:http://www.yc00.com/web/1716184142a2726535.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信