天天加油 - 助您成才
红外遥控器软件解码及其应用
您正在看的电子通信论文是:红外遥控器软件解码及其应用。

摘要:通过对红外遥控器各按键发送冲波形的分析可以识别码型,从而为软件解码提供依据。本文以实例介绍红外遥控器与单片机的硬件接口,并从原理出发给出软件解码的方法。这是一个可以直接引用的成功例子,同时也为各类红外遥控器在单片机控制产品中的开发应用提供了一个非常实用的参考。

    关键词:遥控器 软件解码 单片机

在单片机控制产品的开发应用中,为了向控制系统软件控制命令,键盘往往是不可缺少的。传统方法是利用并行输入/输出接口芯片扩展一个键盘接口,或者直接利用单片机的并行端口进行扩展。在某些应用环境下,这种方式2个弊端:①键盘和控制系统连在一起,不灵活,环境适应性差;②浪费单片机的端口,且硬件成本较高。

使用红外遥控器作为控制系统的输入设备,具有成本低、灵活方便的特点。本文目的就在于介绍软件解码研究的一般方法和红外遥控器进行二次开发的应用技术。该方法已在多个应用系统设计中成功地实现,效果良好。

红外遥控器是一种非常容易买到,且价格便宜的产品,种类很多,但它们都是配合某种特定电子产品的(如各种电视机、VCD、空调器等),由专用CPU解码,作为一般的单片机控制系统能直接使用。使用现成遥控器作为控制系统的输入,需要解决如下几个问题:如何接收红外遥控信号;如何识别红外遥控信号;解码软件的设计。其它的问题都是非本质的,例如遥控器面板功能键标注的问题,可自行设计、重印即可。

1 红外遥控信号的接收

接收电路可以使用集成红外接收器成品。接收器包括红外接收管和信号处理IC。接收器对外只有3个引脚:Vcc、GND和1个脉冲信号输出PO。与单片机接口非常方便,如图1所示。

①Vcc接系统的电源正极(+5V);

②GND接系统的地线(0V);

③脉冲信号输出接CPU的中断输入引脚(例如8031的13脚INT1)。采取这种连接方法,软件解既可工作于查询方式,也可工作于中断方式。

2 脉冲流分析

要了解一个未知的遥控器,首先要分析其脉冲流,从而了解其脉冲波形特征(以何种方式携带“0”、“1”信息),进而了解其编码规律。脉冲流的分析应从分析脉冲的高、低电平宽度入手。笔者用软件的方法实现了对脉冲流的分析。以图1所示的接口为例,如果没有红外遥控信号到来,接收器的输出端口PO保持高电平;当接收到红外遥控信号时,接收器件信号转换成脉冲序列加到CPU的中断输入引脚。用软件测试引脚的逻辑电平,同时启动TC计时器,测量该引脚分别为逻辑“0”和逻辑“1”情况下的时间值,存储起来,然后打印、分析。下面用8051汇编语言给出对脉冲流进行采集、存储的程序段:

MOV R0,#00H

MOV R1,#28H

MOV TMOD,#01H

TK:JB P3.3,TK ;等待低电平到来

;测低电平宽度

TK1:MOV TH0,#00H

MOV TL0,#00H

SETB TR0

TK0:JB TF0,TKE ;超时无效返回

JNB P3.3,TK2

CLR TR0

MOV A,TH0

MOVX @R0,A

INC R0

MOV A,TL0

MOVX @R0,A

INC R0

;测高电平宽度

MOV TH0,#00H

MOV TL0,#00H

SETB TR0

TK3:JB TF0,TKE ;超时无效返回

JB P3.3,TK3

CLR TR0

MOV A,TH0

MOVX @R0,A

INC R0

MOV A,TL0

MOVX @R0,A

INC R0

DJNZ R1,TK1 ;循环

TKE:RET

这段程序首先将TC0设置成16位定时器方式,初始化RAM地址指针R0和循环计数指针R1,每当引脚的逻辑电平发生跳变时,停止计时,将计时值保存到连续的RAM中。这段程序可以连续测量40个脉冲的时间值(包括40个低电平脉宽)。笔者以TC9012芯片的遥控器为对象,采集了所有按键的编程脉冲波形,并且对同一按键进行了重复实验。限于篇幅,采样数据不能给出,仅给出脉冲流的规律(仿真机CPU晶振为6MHz):

①引导脉冲是一个时间值为0937H~0957H的低电平和时间值为084FH~086FH的高电平;

②数据脉冲的低电平时间值约为0.127H~0177H;

③高电平时间值有2种情况:00BBH~00FFH(窄)、02EFH~0333H(宽)。

由大量数据总结分析,按键编码有如下规律:

①除引导脉冲外的脉冲是数据编码脉冲,数据“位”信息由高电平脉宽决定:窄脉宽表示“0”、宽脉宽表示“1”;

②每个按键的脉冲流译码后,包含4个字节的信息:

*所有按键的前2个字节编码都一样,都是2个字节的“0EH”;

*第3字节是键码;

*第4字节是键码的反码。

经过对相同按键脉冲进行多次采样发现,相同按键脉冲序列的对应位置脉宽时间值是在一个小范围内波动的(不是一个确定值),因此,对模式的识别不能采取精确比较法。对此,本人采取模糊的办法进行了抽象处理。根据上述实验规律,将软件译码时对脉冲的分析判断依据及算法设计思想总结如下:

①引导脉冲的低电平和高电平宽度的判断依据是时间值的“高字节大于08H”,低字节忽略;

②数据脉冲流的低电平脉宽相同,忽略不判断;

③高电平脉宽是判断数据流每位是“0”还是“1”的依据。本人抽取的判断是脉宽的高字节若小于2表示“0”,否则表示“1”,脉宽的低字节忽略。

实践证明,上述判据是有效可行的。这样处理不仅使解码软件的设计简单化,而且大大提高了解码的速度。使用上述判据编写软件解码程序时,要注意脉冲流采样数据存储地址与脉冲的对应关系。软件主要有如下几部分:

①判断遥控信号的到来(在解码前调用1个独立的子程序);

②采样并存储脉冲流;

③判断引导脉冲是否有效;

④解码前2个字节并判断是否为“0EH”;

⑤解码第3个字节,该字节即为有效键码;

⑥键码的查表映射(如果使用原键码,可省略这一步)。

3 解码软件的设计

基于上述思路设计的软件解码系统成功地应用于多个控制系统。下面给出一个实例(用MCS-51系列MC交通规则TC9012红外遥控器进行软件解码)的汇编语言程序。程序中使用的参数是针对MCU使用6MHz晶振的情况,使用其它频率的晶振,只需修改脉宽判据即可。为便于理解,尽量保持与原理叙述中的致性,程序中给出了较详细的注翻译,详见网络补充版(http://www.dpj.com.cn)。

本文虽然是用MCS-51系列MCU对TC9012红外遥控器软件解码的研究,但其方法具有一般性。具体的应用,可自行变通。


排行

  1. 论会计和审计中的重要性原则
  2. 新世纪会计的发展趋势
  3. 利用DVI实现双屏幕超宽图像显示
  4. 2.4GHz DSSS收发器芯片组RFW320原
  5. 中小企业如何吸引人才
  6. 论张家界市旅游业可持续发展
  7. 我国国内旅游业发展的现状、趋势
  8. 打造人力资源管理新模式——来自
  9. 公允价值计量属性研究
  10. 一种用RBF神经网络改善传感器测量
  11. 一种数码相机成像和视频处理前端
  12. 单片机复位电路的可靠性分析
  13. Protel软件在高频电路布线中的技
  14. 室内设计七大新趋势
  15. 浅谈混凝土的施工温度与裂缝
  16. CTE翻板型滤池
  1. 2.4GHz DSSS收发器芯片组RFW320原
  2. 打造人力资源管理新模式——来自
  3. 论知识经济的社会文化观与现代管
  4. 利用DVI实现双屏幕超宽图像显示
  5. 论会计和审计中的重要性原则
  6. 三峡大坝混凝土快速施工方案及工
  7. 论内部控制
  8. 一种实用的中频数字接收机设计
  9. 中小企业如何吸引人才
  10. 一种用RBF神经网络改善传感器测量
  11. 论张家界市旅游业可持续发展
  12. 我国国内旅游业发展的现状、趋势
  13. 水土保持发展的战略目标及建议
  14. 论物流成本研究
  15. 新世纪会计的发展趋势
  16. 树立以人为本的改革观
  1. 树立以人为本的改革观
  2. 论张家界市旅游业可持续发展
  3. 打造人力资源管理新模式——来自
  4. 新世纪会计的发展趋势
  5. 企业人才管理的探索
  6. 论内部控制
  7. VPN技术综述及应用
  8. 红外通讯协议在嵌入式系统中的实
  9. 提供 64 级对数调光的白光 LED 驱
  10. 深化环境资源法学研究 促进人与自
  11. 环保自力救济性质分析与对策研究
  12. 我国国内旅游业发展的现状、趋势
  13. 中小企业如何吸引人才
  14. ADC信噪比的分析及高速高分辨率A
  15. 可视化编程串行控制中文字库液晶
  16. 利用DVI实现双屏幕超宽图像显示

最近更新

  • 推荐阅读
  • 电子通信论文《红外遥控器软件解码及其应用》红外遥控器软件解码及其应用