基于单片机的通用红外遥控接收器设计

基于单片机的通用红外遥控接收器设计

ID:43273354

大小:25.01 KB

页数:3页

时间:2019-09-28

基于单片机的通用红外遥控接收器设计_第1页
基于单片机的通用红外遥控接收器设计_第2页
基于单片机的通用红外遥控接收器设计_第3页
资源描述:

《基于单片机的通用红外遥控接收器设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于单片机的通用红外遥控接收器设计清华-华录信息技术研究所朱纯益摘要 简单介绍了红外遥控接收系统原理,给出了用8051作遥控接收系统解码器的一种巧妙实现方方法,以及完整的51汇编程序代码。关键词 8051红外遥控 遥控码 MOVTMOD,#00010001B;T0:计数器T1:计数器?MOVTCON,#00000101B;EXINT0和EXINT1下降沿有效MOVLENG,#00H;清码长CLR(29H).0;清起始码标志CLR(29H).1;清用户码标志SETBEASETBET0SETBTR0SETBEX0SETBEX1INFRAR:JNB(29H).0,R_NEW;检

2、测起始码标志MOVA,LENGSUBBA,#20HJBCY,NR;LENG<32跳转MOVA,BUF2XRLA,#0FFHMOVBUF2,ACJNEA,BUF3,R_NEW;用户码OkMOVA,BUF3CJNEA,#01H,R_NEWSETB(29H).1  ;设用户码标志USER:MOVA,BUF0XRLA,#0FFHMOVBUF0,ACJNEA,BUF1,R_NEW;操作码OKMOVA,BUF1MOV42H,A;操作码保存到[42H]R_NEW:MOVLENG,#00HCLR(29H).0CLR(29H).1NR: POPACCPOPPSWRETIINT0中断服务程序

3、INT0中断服务程序的功能比较单一,它完成清计数器0、置位其运行控制位TR0和允许INTI中断等工作。计数器0由INT0中断服务程序来启动,而由INTl中断服务程序来关闭。它所定时计数的值是INT1引脚上正脉冲的宽度。EXINT0:PUSHPSWPUSHACCMOVTH0,#00H;清计数器0MOVTL0,#00HSETBTR0;起动计数器0SETBET0SETBEAPOPACCPOPPSWRETIINTI中断服务程序a.对收到的二进制位数进行计数。b.读出计数器T0的计数值,判断它是对应于二进制的“0”,还是“1”,并据此将进位位清0或置1。如定时计数值大于1.792m

4、s,则置位码间隔标志(29H).1。c.通过累加器连同CY的循环右移操作、累加器与缓冲单元BUF0间的数据传送操作以及解码所得的二进制位逐一存入BUF0-BUF3缓存单元内。EXINT1:PUSHPSWPUSHACCCLREX0CLRTR0CLRET0;关计数器0CLREAJNB(29H).0,BGINCLENG;码长加1BG:CLRCYMOVA,TH0;脉冲间隔>=0.256ms?SUBBA,#01HJBCY,ERRORCLRCYMOVA,TH0;脉冲间隔<=0.768ms?SUBBA,#03HJNBCY,GE07MSCLRCYREC0:MOVA,BUF0;A<--BU

5、F0RRCA;A带CY循环右移MOVBUF0,A;BUF0<--AMOVA,BUF1RRCAMOVBUF1,A;BUF1<--AMOVA,BUF2RRCAMOVBUF2,A;BUF2<--AMOVA,BUF3RRCAMOVBUF3,A;BUF3<--AAJMPNORMGE07MS:CLRCYMOVA,TH0;脉冲间隔>=1.28ms?SUBBA,#05HJBCY,ERRORCLRCYMOVA,TH0;脉冲间隔<=1.792ms?SUBBA,#07HJBCY,REC1SETB(29H).0;设起始码标志MOVLENG,#00H;清码长AJMPNORMREC1:SETBCYA

6、JMPREC0ERROR:CLR(29H).0CLR(29H).1MOVLENG,#00HNORM:POPACCPOPPSWSETBEX0SETBET0SETBTR0SETBEARETI

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

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

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