基于 51 单片机红外发射与接收程序实验证明,效果非常好
红外发射程序#include0;bb-—)for(cc=200;cc>0;cc—-);}void delayms(uchar aa)//延时程序{for(a=aa;a〉0;a—-){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}}void khz(uchar aa)//是发射 38KHZ 的程序{for(a=aa;a>0;a-—) //这个 for 语句可以得到准确的 26
3 波特率{out=0;i=7;//低了 17uswhile(i>0)i-—;// 38kHZ out=1;//高了 9us 17+9=26us 比 26
3 快一点点}}//khz(116);//3
028ms 精确的时间//khz(64);//2
006ms//khz(40); //1
052ms//delayms(125);//2
012ms 这里是一些时间的介绍//delayms(65);//1
054ms//delayms(93);//1
5msvoid fashu(uchar num){khz(116);//发射 3ms 38khzdelayms(125);for(num1=8;num1>0;num1--) //原来用的是 a 后来出错,肯定在这里
{khz(40);if(num&0x01)delayms(93);//delay 1
5mselsedelayms(65);//delay 1msnum=num〉>1;}khz(20);}void tishi(){ LED=0;delay(50);LED=1;delay(50);LED=0;delay(50);LED=1;}void keyscan()//按键扫描{if(key1==0){_nop_();_