微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用单片机解码红外遥控器

用单片机解码红外遥控器

时间:12-23 来源:互联网 点击:

统的地址,数据码与数据反码之和等于0FFH,则接收的本帧数据码有效。否则丢弃本次接收到的数据。

(6)接收完毕,初始化本次接收的数据,准备下一次遥控接收。

示例程序如下: E1INT:

PUSHACC

PUSH PSW

CLRTR1

MOV RM?TLEN,TH1 、

MOVTH1,#00H

MOV TL1,#00H

SETBTR1

MOV A,RMJLEN

JNZ LBL?RM?DAT?BIT

MOV RM?ADDR.#00H

MOV RM?RADDR,#00H

MOV RM?DAT,#00H

MOV RM?RDAT,#00H

MOV RM?BIT_CNT,#00H

CLR RM?OK

CLR RM?GUIDE

POPPSW

POPACC

RET1 I BI RM DAT BIT:

MOV A,RM_TLEN

CJNE A,#23H,LBL?RM_ADDR_DAT

SETB RM?GUIDE

SJMP LBLE1 INT-RET

LBLRM_ADDR_DAT;

JNB RM?GUIDE,LBL?RM?ERROR

CJNE A,#04H,LBL_RM_ONE

CLR C

SJMP LBL_RM?SHIFT

LBLRM?ONE:

CJNE A。#08H。LBL?RM?ERROR

SETB C

LBL_RM_SHIFT:

MOV A,RM?RDAT

RRC A

MOV RM?RDAT.A

MOV A,RM?DAT

RRC A

MOV RM?DAT,A

MOV A,RM?RADDR

RRC A

MOV RM RADDR.A

MOV A。RM?-ADDR

RRC A

MOV RM?.ADDR.A

LBL?RM?END:

INC RM?BIT?CNT

MOV A,RM_BIT_CNT

CJNE A,#32,LBLE1 INT_RET

CLRTR1

MOV TH1,#00H

MOVTL1,#00H

MOV HOUR.RM?ADDR

MOV MINUTE,RM?DAT

MOV RM?_ADDR,#00H

MOV RM?RADDR,#00H

MOV RM?DAT,#00H

MOV RM?RDAT,#00H

MOV RM一8IT_CNT,#00H

CLR RM?GUIDE

SEITB RM?OK

SJMP LBL?E1 INT?RET LBL?RM?ERROR:

CLRTR1

MOV TH1,#0OH

MOVTL1,#00H

MOV RM?_ADDR,#00H

MOV RM?RADDR,#00H

MOV RM?DAT,#00H

MOV RM?RDAT,#00H

MOV RM?B1T?CNT,#00H

CLR RM?GUIDE

LBL?E1 INT?RET:

POPPSW

POPACC

RETI

四、遥控代码与键盘码的转换

在应用系统中,带遥控器的仪器设备一般都带按键。而且二者功能相同。将遥控键值转换成标准的按键值后。遥控按键散转表格可以与键盘散转表格复用。转换方法可用查表法。通过查表。使遥控的按键值转换成本机键盘的值。这样既可以使用按键操作,也可以使用遥控操作,而且相应的处理程序非常简单。

以上以Tc9012编码格式为例,说明了解码的原理与方法。只要注意一帧数据的格式及引导码、O码和1码的时间长度.其它编码芯片如 HT6121、M50560、LC7461等也非常容易解码。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top