电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

红外接收解码汇编VIP免费

红外接收解码汇编_第1页
红外接收解码汇编_第2页
红外接收解码汇编_第3页
;遥控器控制显示123456789数据保持;***************************************************************************;*gehuiwy@163.comCreateby:葛辉*;***************************************************************************REC_DATAEQU20H;数码管段选的数据存放在片内RAM20H单元REC_DATA1EQU21H;数码管段选的数据存放在片内RAM21H单元ORG0000HSJMPMAINORG0003H;外部中断0引脚链接红外接收头输出LJMPINT0_SERVICEORG0030HMAIN:MOVIE,#10000001B;外部中断使能,全局中断使能MOVREC_DATA,#00000000B;数码管灭MOVREC_DATA,#7EH;数码管亮MOVREC_DATA1,#7EH;数码管亮MOVP1,#11111110B;选中左边的数码管MOVP3,#0FFHLOOP:LCALLDISPLAY;MOVREC_DATA,#0FFH;数码管亮;MOVP2,REC_DATA;段选送P2,P2链接数码管驱动244的输入SJMPLOOP;循环显示INT0_SERVICE:;中断0服务程序SETBP1.0SETBP1.1MOVR4,#8;8毫秒为高电平错误SBA:MOVR5,#250SBB:JBP3.2,SXB1DJNZR5,SBBDJNZR4,SBAMOVR4,#2JMPSBCSXB1:MOVR5,#5SXB2:;去掉20US的尖峰干扰信号JNBP3.2,SBBDJNZR5,SXB2JMPEXITSBC:MOVR5,#250SB1:JBP3.2,SB2;2MS内不为高电平错误(监测9MS的低电平引导码)DJNZR5,SB1DJNZR4,SBCJMPEXITSB2:;去掉20US的尖峰干扰信号MOVR5,#5SB2_A:JNBP3.2,SB1DJNZR5,SB2_AMOVR4,#3SB2_1:MOVR5,#250SB3:;监测4.5MS高电平,如3MS内出现低电平错误JNBP3.2,SXCDJNZR5,SB3DJNZR4,SB2_1MOVR4,#2JMPSB3_1SXC:;去掉20US的尖峰干扰信号MOVR5,#5SXC1:JBP3.2,SB3DJNZR5,SXC1JMPEXITSB3_1:;监测4.5MS高电平,如5MS内不为低电平错误MOVR5,#250SB3_2:JNBP3.2,SB4DJNZR5,SB3_2DJNZR4,SB3_1JMPEXITSB4:;去掉20US的尖峰干扰信号MOVR5,#5SB4_1:JBP3.2,SB3_2DJNZR5,SB4_1MOVR1,#1AH;设定1AH为起始RAM区MOVR2,#4PP:MOVR3,#8JJJJ:MOVR5,#250JJJJ2:;1MS内不为低电平错误JBP3.2,JJJJ3DJNZR5,JJJJ2JMPEXITJJJJ3:LCALLYS1;高电平开始后用882微秒的时间尺去判断信号此时的高低电平状态MOVC,P3.2;将P3.2引脚此时的电平状态0或1存入C中JNCUUU;如果为0就跳转到UUUMOVR5,#250JJJJ4:JNBP3.2,UUUNOPDJNZR5,JJJJ4JMPEXITUUU:MOVA,@R1;将R1中地址的给ARRCA;将C中的值0或1移入A中的最低位MOV@R1,A;将A中的数暂时存放在R1中DJNZR3,JJJJ;接收地址码的高8位INCR1;对R1中的值加1,换成下一个RAMDJNZR2,PP;接收完16位地址码和8位数据码和8位数据反码,存放在1AH/1BH/1CH/1DH的RAM中;以下对代码是否正确和定义进行识别MOVA,1AH;比较高8位地址码XRLA,#00000000B;判断1AH的值是否等于00000000,相等的话A为0JNZEXIT;如果不相等说明解码失败退出解码程序MOVA,1BH;比较低8位地址XRLA,#11111111B;再判断高8位地址是否正确JNZEXIT;如果不相等说明解码失败退出解码程序LCALLYS3MOVA,1CH;比较数据码和数据反码是否正确?CPLAXRLA,1DH;将1CH的值取反后和1DH比较不同则无效丢弃,核对数据是否准确JNZEXIT;如果不相等说明解码失败退出解码程序LCALLYS3AJMPBIJIAO;判断在118毫秒内是否有连发码AA:MOVR1,#25XX:ACALLYS2JNBP3.2,HH;跳转到判断连发代码是否正确的程序段DJNZR1,XXEXIT:RETI;退出中断服务程序;连发码判断程序段-----------HH:MOVR6,#4S:ACALLYS1;调用882微秒延时子程序JBP3.2,EXIT;延时882微秒后判断P3.2脚是否出现高电平如果有就退出解码程序DJNZR6,S;重复4次,目的是确认连发码的低电平信号波形JNBP3.2,$;等待高电?LCALLYS3AJMPAABIJIAO:MOVA,1CH;按键数值判断执CJNEA,#5Fh,TT1;判断接收到的是不是1MOVREC_DATA,#00011000B;数码管显示1MOVREC_DATA1,#01111110BAJMPAATT1:CJNEA,#50h,TT2;判断接收到的是不是2MOVREC_DATA,#01101101B;数码管显示2MOVREC_DATA1,#01111110BAJMPAATT2:CJNEA,#5Dh,TT3;判断接收到的是不是3MOVREC_DATA,#00111101B;数码管显示3MOVREC_DATA1,#01111110BAJMPAATT3:CJNEA,#44h,TT4;判断接收到的是不是4MOVREC_DATA,#00011011B;数码管显示4MOVREC_DATA1,#01111110BAJMPAATT4:CJNEA,#41h,TT5;判断接收到的是不是5MOVREC_DATA,#00110111B;数码管显示5MOVREC_DATA1,#01111110BAJMPAATT5:CJNEA,#0Ah,TT6;判断接收到的是不是6MOVREC_DATA,#01110111B;数...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

金钥匙书屋+ 关注
实名认证
内容提供者

热爱教育事业,爱好互联网行业

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部