红外解码数码管显示红外线解码数码管显示对应值/*-----------------------------------------------名称:遥控器红外解码数码管显示内容:按配套遥控器上1-9会在数码管上对应显示------------------------------------------------*/#includereg52
h//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbitIR=P3^2;#defineDataPortP0第1页共9页sbitLATCH1=P2^6;sbitLATCH2=P2^7;//红外接口标志//定义数据端口程序中遇到DataPort则用P0替换//定义锁存使能端口段锁存//位锁存unsignedcharcodedofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示段码值0~9unsignedcharirtime;//红外用全局变量bitirpro_ok,irok;unsignedcharIRcord[4];unsignedcharirdata[33];第2页共9页voidIr_work(void);voidIrcordpro(void);voidtim0_isr(void)interrupt1using1{irtime++;//用于计数2个下降沿之间的时间}voidEX0_ISR(void)interrupt0//外部中断0服务函数{staticunsignedchari;//接收红外信号处理staticbitstartflag;//是否开始处理标志位第3页共9页if(startflag){if(irtime63irtime=33)//引导码TC9012的头码,9ms+4
5msi=0;irdata[i]=irtim