欢迎来到天天文库
浏览记录
ID:38719047
大小:50.00 KB
页数:8页
时间:2019-06-18
《红外编码解码程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、红外编码解码程序,我写的是:发送模块通过按键,发送出相应键值的编码,接收模块接收到信号后解码该键值,并点亮相应的状态灯(新手,高手勿喷)//*************************单片机红外发射*******************************#includesbitir=P1^3;sbitk1=P2^5;sbitk2=P2^4;sbitk3=P2^3;sbitk4=P2^2;sbitk5=P2^1;unsignedintcount,set_count;bitirflag,ke
2、yflag;unsignedcharirsys[]={0x00,0xff};unsignedcharirdata,ircode;voiddelay(unsignedinta){unsignedchari;while(--a!=0)for(i=300;i>0;i--);}voidkeyscan(){/*if(k1==0){delay(10);if(k1==0){keyflag=1;while(!k1);irdata=0x01;}}*/if(k2==0){delay(10);if(k2==0){keyflag=1;whi
3、le(!k2);irdata=0x02;}}if(k3==0){delay(10);if(k3==0){keyflag=1;while(!k3);irdata=0x03;}}if(k4==0){delay(10);if(k4==0){keyflag=1;while(!k4);irdata=0x04;}}if(k5==0){delay(10);if(k5==0){keyflag=1;while(!k5);irdata=0x05;}}}voidir_sendbyte()//红外发送一个字节数据{unsignedchari
4、;for(i=0;i<8;i++)//发送8位数据{set_count=43;//发送编码中的0.56ms高电平irflag=1;count=0;TR0=1;while(count5、>>1;}}voidir_send(){set_count=346;//发送编码中的引导码(4.5ms高电平+4.5ms低电平)irflag=1;count=0;TR0=1;while(count6、ode=irdata;//发送8位数据码ir_sendbyte();ircode=~irdata;//发送8位数据反码ir_sendbyte();set_count=43;//发送编码中的0.56ms高电平irflag=1;count=0;TR0=1;while(count7、=1;while(count8、形波,晶振24MTL0=0xe6;}voidmain(){timer0_init();count=0;ir=0;irflag=0;while(1){keyscan();if(keyflag){delay(10);ir_send();delay(500);keyflag=0;delay(100);}}}voidtimer0()interrupt1
5、>>1;}}voidir_send(){set_count=346;//发送编码中的引导码(4.5ms高电平+4.5ms低电平)irflag=1;count=0;TR0=1;while(count6、ode=irdata;//发送8位数据码ir_sendbyte();ircode=~irdata;//发送8位数据反码ir_sendbyte();set_count=43;//发送编码中的0.56ms高电平irflag=1;count=0;TR0=1;while(count7、=1;while(count8、形波,晶振24MTL0=0xe6;}voidmain(){timer0_init();count=0;ir=0;irflag=0;while(1){keyscan();if(keyflag){delay(10);ir_send();delay(500);keyflag=0;delay(100);}}}voidtimer0()interrupt1
6、ode=irdata;//发送8位数据码ir_sendbyte();ircode=~irdata;//发送8位数据反码ir_sendbyte();set_count=43;//发送编码中的0.56ms高电平irflag=1;count=0;TR0=1;while(count7、=1;while(count8、形波,晶振24MTL0=0xe6;}voidmain(){timer0_init();count=0;ir=0;irflag=0;while(1){keyscan();if(keyflag){delay(10);ir_send();delay(500);keyflag=0;delay(100);}}}voidtimer0()interrupt1
7、=1;while(count8、形波,晶振24MTL0=0xe6;}voidmain(){timer0_init();count=0;ir=0;irflag=0;while(1){keyscan();if(keyflag){delay(10);ir_send();delay(500);keyflag=0;delay(100);}}}voidtimer0()interrupt1
8、形波,晶振24MTL0=0xe6;}voidmain(){timer0_init();count=0;ir=0;irflag=0;while(1){keyscan();if(keyflag){delay(10);ir_send();delay(500);keyflag=0;delay(100);}}}voidtimer0()interrupt1
此文档下载收益归作者所有