- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
红外遥控基本原理
红外遥控器原理
遥控器使用方便,功能多.目前已广泛应用在电视机、VCD、
DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买
到。如果能将遥控器上许多的按键解码出来.用作单片机系统的
输入.则解决了常规矩阵键盘线路板过大、布线复杂、占用I/
O 口过多的弊病。而且通过使用遥控器,操作时可实现人与设备
的分离,从而更加方便使用。
一、编码格式
图1
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、按键的编码
当我们按下遥控器的按键时,遥控器将发出如图2的一串二
进制代码,我们称它为一帧数据。根据各部分的功能。可将它们
分为5部分,分别为引导码、地址码、地址码、数据码、数据反
码。遥控器发射代码时.均是低位在前,高位在后。由图2分析
可以得到.引导码高电平为4.5ms,低电平为4.5ms。当接收
到此码时.表示一帧数据的开始。单片机可以准备接收下面的数
据。地址码由8位二进制组成,共256种.图中地址码重发了一
次。主要是加强遥控器的可靠性.如果两次地址码不相同.则说
明本帧数据有错.应丢弃。不同的设备可以拥有不同的地址码.
因此。同种编码的遥控器只要设置地址码不同,也不会相互干扰。
图中的地址码为十六进制的0EH(注意低位在前)。在同一个遥控
器中.所有按键发出的地址码都是相同的。数据码为8位,可编
码256种状态,代表实际所按下的键。数据反码是数据码的各位
求反,通过比较数据码与数据反码.可判断接收到的数据是否正
确。如果数据码与数据反码之间的关系不满足相反的关系.则本
次遥控接收有误.数据应丢弃。在同一个遥控器上,所有按键的
数据码均不相同。在图2 中,数据码为十六进制的0CH,数据反
码为十六进制的0F3H(注意低位在前).两者之和应为0FFH。
二、单片机遥控接收电路
红外遥控接收可采用较早的红外接收二极管加专用的红外
处理电路的方法。如CXA20106,此种方法电路复杂,现在一般
不采用。较好的接收方法是用一体化红外接收头,它将红外接收
二极管、放大、解调、整形等电路做在一起,只有三个引脚.分
别是5V 电源、地、信号输出。常用的一体化接收头的外形及引
脚见图3和图4。红外接收头的信号输出接单片机的INTO或INT1
脚.典型电路如图5所示.图中增加了一只PNP型三极管对输出
信号进行放大。
三、遥控信号的解码算法及程序编制
平时。遥控器无键按下。红外发射二极管不发出信号,遥控
接收头输出信号 1。有键按下时.O和1编码的高电平经遥控头
倒相后会输出信号O。由于与单片机的中断脚相连,将会引起单
片机中断(单片机预先设定为下降沿产生中断)。
接收原理(编程):单片机在中断时使用定时器0或定时器1开始
计时.到下一个脉冲到来时,即再次产生中断时,先将计时值取
出。清零计时值后再开始计时.通过判断每次中断与上一次中断
之间的时间间隔。便可知接收到的是引导码还是O和1。如果计
时值为9ms。接收到的是引导码,如果计时值等于1.12ms,接收
到的是编码O。如果计时值等于2.25ms.接收到的是编码1。在
判断时间时,应考虑一定的误差值。因为不同的遥控器由于晶振
参数等原因,发射及接收到的时间也会有很小的误差。
以接收TC9012遥控器编码为例,解码方法如下:
(1)设外部中断0(或者1)为下降沿中断,定时器0(或者1)为16
位计时器.初始值均为O。
(2)第一次进入遥控中断后,开始计时。
(3)从第二次进入遥控中断起,先停止计时。并将计时值保存后,
再重新计时。如果计时值等于前导码的时间,设立前导码标志。
准备接收下面的一帧遥控数据,如果计时值不等于前
文档评论(0)