📄 ir.c
字号:
#include<AT89x55.H>
#include <stdio.h>
#define uint unsigned int
#define uchar unsigned char
sbit ir=P1^0;
uchar irdata[4];
uchar irdat;
//*********************************
//t*2us 4.5ms equ 561 9ms equ 1124 0.56ms equ 69 2.5ms equ 311
//*********************************
void delay(uint t)
{ while(--t);
}
//*********************************
//
//*********************************
void uprefash(uchar data2)
{ irdata[0]=0xaa;
irdata[1]=0xaa;
irdata[2]=data2;
irdata[3]=~data2;
}
void irf(uchar c)
{ uchar BitCnt,i;
irdata[0]=0x08;
irdata[1]=0xF0;
irdata[2]=c;
irdata[3]=~c;
ir=0;
delay(311);
ir=1;
delay(561);
for(i=0;i<4;i++)
{
for(BitCnt=0;BitCnt<8;BitCnt++) /*要传送的数据长度为8位*/
{
if((irdata[i]<<BitCnt)&0x80)
{ir=0; /*判断发送位*/
delay(69);
ir=1;
delay(207);
}
else
{ir=0;
delay(69);
ir=1;
delay(69);
}
}
}
}
void main()
{
irdat=0x05;
//uprefash(data2);
// P2=irdata[2];
// P3=irdata[3];
while(1)
{
irf(irdat);
//data2<<1;
P2=irdata[0];
P3=irdata[1];
//ir=0;
//delay(311);
// ir=1;
//delay(311);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -