1 / 40
文档名称:

用单片机解码红外遥控器试题.doc

格式:doc   大小:2,123KB   页数:40页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用单片机解码红外遥控器试题.doc

上传人:s0012230 2017/1/19 文件大小:2.07 MB

下载得到文件列表

用单片机解码红外遥控器试题.doc

文档介绍

文档介绍:用单片机解码红外遥控器用单片机解码红外遥控器遥控器使用方便,功能多. 目前已广泛应用在电视机、 VCD 、 DVD 、空调等各种家用电器中,且价格便宜,市场上非常容易买到。、布线复杂、占用 I/O口过多的弊病。而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使用。下面以 TC9012 编码芯片的遥控器为例。谈谈如何用常用的 51系统单片机进行遥控的解码。一、编码格式 1、 0和 1的编码遥控器发射的信号由一串 O和1 0和1 的编码有所不同。通常有曼彻斯特编码和脉冲宽度编码。 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部分,分别为引导码、地址码、地址码、数据码、数据反码。遥控器发射代码时. 均是低位在前。高位在后。由图 4. 5ms ,低电平为 4. 5ms 。。单片机可以准备接收下面的数据。地址码由 8 位二进制组成,共 256 。. 应丢弃。。同种编码的遥控器只要设置地址码不同,也不会相互干扰。图中的地址码为十六进制的 0EH( 注意低位在前)。在同一个遥控器中. 所有按键发出的地址码都是相同的。数据码为 8 位,可编码 256 种状态,代表实际所按下的键。数据反码是数据码的各位求反,。如果数据码与数据反码之间的关系不满足相反的关系. 。。在图 2中,数据码为十六进制的 0CH ,数据反码为十六进制的 0F3H( 注意低位在前).两者之和应为 0FFH 。二、单片机遥控接收电路红外遥控接收可采用较早的红外接收二极管加专用的红外处理电路的方法。如 CXA20106 ,此种方法电路复杂,现在一般不采用。较好的接收方法是用一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,+5V 电源、地、信号输出。常用的一体化接收头的外形及引脚见图 3和图 4。红外接收头的信号输出接单片机的 INTO 或 INTl PNP 型三极管对输出信号进行放大。三、遥控信号的解码算法及程序编制平时。遥控器无键按下。红外发射二极管不发出信号,遥控接收头输出信号 1 。有键按下时. O和1编码的高电平经遥控头倒相后会输出信号 ,将会引起单片机中断(单片机预先设定为下降沿产生中断)。单片机在中断时使用定时器 0或定时器 ,即再次产生中断时,先将计时值取出。。便可知接收到的是引导码还是 O和 1。如果计时值为 9ms 。接收到的是引导码,如果计时值等于 1. 12ms , 接收到的是编码 O。如果计时值等于 2 25ms .接收到的是编码 1。在判断时间时,应考虑一定的误差值。因为不同的遥控器由于晶振参数等原因,发射及接收到的时间也会有很小的误差。以接收 TC9012 遥控器编码为例,解码方法如下: (1) 设外部中断 0(或者 1)为下降沿中断,定时器 0(或者 1)为 O。(2) 第一次进入遥控中断后,开始计时。(3) 从第二次进入遥控中断起,先停止计时。并将计时值保存后,再重新计时。如果计时值等于前导码的时间,设立前导码标志。准备接收下面的一帧遥控数据,如果计时值不等于前导码的时间,但前面已接收到前导码,则判断是遥控数据的 O还是 1。(4) 继续接收下面的地址码、数据码、数据反码。(5) 当接收到 32位数据时,说明一帧数据接收完毕。此时可停止定时器的计时,并判断本次接收是否有效. 如果两次地址码相同且等于本系统的地址,数据码与数据反码之和等于 0FFH ,则接收的本帧数据码有效。否则丢弃本次接收到的数据。(6) 接收完毕,初始化