#include "HT66F018.h"
#include "ExternRAM.h"
void SendIRdata(char 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{}while(0
//
发送
4.5ms
的结果码
endcount=8;//117
_t1on=0;
_pa7=1;
do{}while(0
//
发送十六位地址的前八位
irdata=iraddr1;
for(i=0;i<8;i++)
{
//
先发送
0.56ms
的
38KHZ
红外波(即编码中
0.56ms
的低电平)
endcount=1;
_t1on=1;
do{}while(0
//
停止发送红外信号(即编码中的高电平)
if(irdata-(irdata/2)*2)
//
判断二进制数个位为
1
还是
0
{
endcount=3;
//1
为宽的高电平
}
else
{
endcount=1;
//0
为窄的高电平
}
_t1on=0;