#include #define uchar unsigned char
#define uint unsigned int
sbit IR_OUT=P1^0 ;
void delay_ms(uint ms)
{
uint i,j;
for(i=0;i<120;i++)
{
for(j=0;j}
}
//T1 13us产生一次中断 用于产生38K载波
//T0 方式1 16位 用于定时
void Init_Timer(void)
{
TMOD=0x21; //T0 mode 1 T1 mode 2
TH1=256-(1000*11.0592/38.0/12)/2+0.5;
//特殊
TL1=TH1;
ET1=1;
EA=1;
}
//发送引导码 发送方:4.5ms高电平 4.5ms低电平
void Send_Start_Bit(void) //TR1的值=发送的电平
{
//4.5ms 1
TH0=(65536-8295)/256;
TL0=(65536-8295)%256;
TR0=1;
TR1=1;
while(!TF0);
TR1=0;
TF0=0;
TR0=0;
IR_OUT=1;
//4.5ms 0
TH0=(65536-4146)/2