基于51单片机红外发射与接收c程序

基于51单片机红外发射与接收c程序

ID:1191402

大小:187.00 KB

页数:7页

时间:2017-11-08

基于51单片机红外发射与接收c程序_第1页
基于51单片机红外发射与接收c程序_第2页
基于51单片机红外发射与接收c程序_第3页
基于51单片机红外发射与接收c程序_第4页
基于51单片机红外发射与接收c程序_第5页
资源描述:

《基于51单片机红外发射与接收c程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于51单片机红外发射与接收程序实验证明,效果非常好。红外发射程序#include#include#defineucharunsignedchar#defineuintunsignedintsbitkey1=P3^3;sbitkey2=P3^4;sbitkey3=P3^5;sbitLED=P1^0;//发射指示灯sbitout=P3^7;uchari,a,num1;voidinit()//初始化作用{key1=1;key2=1;key3=1;}voiddelay(ucharaa){ucharbb

2、,cc;for(bb=aa;bb>0;bb--)for(cc=200;cc>0;cc--);}voiddelayms(ucharaa)//延时程序{for(a=aa;a>0;a--){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}}voidkhz(ucharaa)//是发射38KHZ的程序{for(a=aa;a>0;a--)//这个for语句可以得到准确的26.3波特率{out=0;i=7;//低了17uswhile(i>0)i--;//38kHZou

3、t=1;//高了9us17+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.5msvoidfashu(ucharnum){khz(116);//发射3ms38khzdelayms(125);for(num1=8;num1>0;num1--)//原来用的是a后来出错,肯定在这里!

4、{khz(40);if(num&0x01)delayms(93);//delay1.5mselsedelayms(65);//delay1msnum=num>>1;}khz(20);}voidtishi(){LED=0;delay(50);LED=1;delay(50);LED=0;delay(50);LED=1;}voidkeyscan()//按键扫描{if(key1==0){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();if(key1==0){whi

5、le(!key1);fashu(0xf3);tishi();}}if(key2==0){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();if(key2==0){while(!key2);fashu(0x3f);tishi();}}if(key3==0){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();if(key3==0){while(!key3);fashu(0xf5);ti

6、shi();}}}voidmain(){init();while(1){keyscan();}}红外接收程序#include#include#defineucharunsignedchar#defineuintunsignedintsbitled1=P1^0;sbitled2=P1^1;sbitled3=P1^2;sbitin=P3^2;uchari,a,num;bitfleg;voidinit(){fleg=1;in=1;EA=1;EX0=1;IT0=1;}voiddelayms(uchara

7、a){for(i=aa;i>0;i--){_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}}voidmain(){init();//delayms(45);//0.642ms//delayms(35);//0.502ms//delayms(115);//1.623ms//delayms(72);//1.02ms//delayms(84);//1.188ms//delayms(31);//0.446mswhile(1);}voidsieasdf()interrupt0{EX0=0;for

8、(a=5;a>0;a--){delayms(35);//延时0.5ms判断5次5*0.5=2.5msif(in)fleg=0;}if(fleg){delayms(72);//延时1ms判断是不是高电平了if(in){de

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。