用单片机解码红外遥控器 遥控器使用方便,功能多.目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到
如果能将遥控器上许多的按键解码出来.用作单片机系统的输入.则解决了常规矩阵键盘线路板过大、布线复杂、占用I/O 口过多的弊病
而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使用
下面以 TC9012编码芯片的遥控器为例
谈谈如何用常用的 51 系统单片机进行遥控的解码 一、编码格式 1、0 和 1 的编码 遥控器发射的信号由一串 O 和 1 的二进制代码组成.不同的芯片对 0 和 1 的编码有所不同
通常有曼彻斯特编码和脉冲宽度编码
TC9012-p
htm" target="_blank" title="TC9012 货源和PDF 资料">TC9012 的 O 和 1 采用PWM 方法编码,即脉冲宽度调制,其 O 码和 1 码如图 1所示(以遥控接收输出的波形为例)
O 码由 O.56ms 低电平和 0.56ms 高电平组合而成.脉冲宽度为 1.12ms.1 码由 0.56ms 低电平和 1.69ms 高电平组合而成.脉冲宽度为 2.25ms
在编写解码程序时.通过判断脉冲的宽度,即可得到 0 或 1
2、按键的编码 当我们按下遥控器的按键时,遥控器将发出如图 2 的一串二进制代码,我们称它为一帧数据
根据各部分的功能
可将它们分为 5 部分,分别为引导码、地址码、地址码、数据码、数据反码
遥控器发射代码时.均是低位在前
由图 2 分析可以得到.引导码高电平为 4.5ms,低电平为 4.5ms
当接收到此码时.表示一帧数据的开始
单片机可以准备接收下面的数据
地址码由 8 位二进制组成,共 256 种.图中地址码重发了一次
主要是加强遥控器的可靠性.如果两次地址码不相同.则说明本帧数据有错.应丢弃