《红外接收.docx》由会员分享,可在线阅读,更多相关《红外接收.docx(5页珍藏版)》请在第一文库网上搜索。
1、时间:7月IO日解光飞功能:红外收发程序*/#inc1ude#inc1udeshumaguan.h#defineucharunsignedchar#defineuintunsignedintucharirtime;红外时间ucharStartf1ag;标志位ucharirdata33;/4个8位数据与一个引导码总的数据位;ucharbi1num;表示第几位;UCharirreCeok;标志位,表示接受完成;ucharircode4;/4个8位数据ucharirprosok;uchardisp8J;ucharcodetab1e=(0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7
2、d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;voidirwork()16进制数转换;(disp1OJ=ircode1OJ16;客户码不变;disp1=ircode0%16;/客户码不变;一个8位数据disp2=ircode1/16;客户码不变;disp3=ircode1%16;客户码不变;disp4=ircode/16;数据码disp5=ircode16;数据码disp6=ircode3/16;数据码反码disp7J=ircode13%16;/数据码反码VOidirProSo数据处理;16进制数;(uchark,ij,va1ue;/zhik=1
3、;for(j=0;j4;j+)四个码;(for(i=0;i1;移位;执行7次if(irdatak6)8次;1va1ue=va1ue|0x80;/置voidtimerinit()定时器初始化(TMOD=0X02;THO=OXOO;T1O=0X00;ETO=I;EA=I;TRO=I;voidintinit()/中断初始化;(ITO=I;EXO=I;EA=I;k+;)ircodej=va1ue;)irprosok=1;)voiddisp1ay()(du1a=1;PO=tab1edispOJ;du1a=0;PO=Oxff;we1a=1;PO=Oxfe;we1a=O;PO=Oxdf;de1ay;we1a
4、=0;de1ay(1);du1a=1;PO=tab1edisp1;du1a=1;du1a=O;P0=tab1edisp6J;PO=Oxff;du1a=O;we1a=1;PO=Oxff;PO=Oxfd;we1a=1;we1a=0;PO=Oxbf;de1ay;we1a=0;de1ay(1);du1a=1;P0=tab1edisp2J;du1a=1;du1a=O;P0=tab1edisp7;PO=Oxff;du1a=;we1a=1;PO=Oxff;PO=Oxfb;we1a=1;we1a=0;P0=0x7f;de1ay;we1a=0;de1ay(1);du1a=1;)P0=tab1edisp3;du1
5、a=O;voidmain()PO=Oxff;(we1a=1;timerinit();P0=0xf7;intinit();we1a=0;whi1e(1)de1ay;(if(irreceok)du1a=1;(P0=tab1edisp4J;irpros();du1a=O;irreceok=0;PO=Oxff;)we1a=1;if(irprosok)PO=Oxef;(we1a=0;irwork();de1ay;irprosok=0;du1a=1;1disp1ay();P0=tab1edisp5J;)du1a=O;)PO=Oxff;we1a=1;voidtimer()interruptI(irtime+
6、/255最大)voidint()interrupt0(if(startf1ag)判断是不是接受数据;(if(irtime32)/收到引导码信号了;(bitnum=0;从头开始装数据;)irdatabitnum=irtime;装数据;用数组来装值;irtime=0;清零,下次再用;bitnum+;if(bitnum=33)/一帧数据都接受完了。(bitnum=0;下次再用;irreceok=1;)e1sestartf1ag=1;irtime=O;红外时间清零;长按键发码示意图上图中发码!6进创看效为客户码OEOEH1数据码为OBHWIIiI1II叫1113I4.5msJ4ST156QS6rwwTIi2Srms皿一=oJ一动。廿。寸廿上B1中限客户码为S0SS2S3S4S5S6S7=01110800.1.-,i1,-:4.3ms发其数据参数示意图当S00时,2.25MS,当SOT时,1.12MS图4TC9012的输出波形“1”和“0”的区分取决于脉冲之间的时间,称之为脉冲位置调制方式(PPM)II发射端输河高电平时按图5的载波波形发送,频率:38KHz:占空比:13e