用单片机解码红外遥控器
统的地址,数据码与数据反码之和等于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等也非常容易解码。
红外遥控器 相关文章:
- 红外通信—红外遥控器NEC解码程序(12-02)
- 通过串口发送红外遥控器的解码值到PC(12-02)
- 合泰单片机接收红外遥控器程序(NEC码)(12-01)
- 自制电脑红外遥控器(11-30)
- 基于MSP430的红外遥控器解码(11-28)
- 单片机红外遥控器解码例程源码新说(11-27)