自学习红外遥控器的设计与实现
扫描二维码
随时随地手机看文章
给出了自学习红外遥控器的一种设计,采用测量脉冲宽度的原理,适用于大多数电子产品的遥控器。介绍了转发红外信号的方法。
关键词:红外遥控,单片机,红外信号
红外遥控在家电产品中有广泛应用,但各产品的遥控器不能相互兼容,目前市面上常见的万能遥控器只能对某几种产品进行控制,不是真正的“万能”。本文利用单片机对遥控器的发射信号的波形进行测量,然后将测量的数据回放,由于只关心发射信号波形中的高低电平的宽度,不管其如何编码,因此做到了真正的“万能”。
1 发射信号波形的测量
所有红外遥控器的输出都是用编码后的串行数据对38kHz~40kHz的方波进行脉冲幅度调制而产生的。如果直接对已调波进行测量,而其脉宽只有20多微秒,由于单片机的指令周期是微秒级,会产生很大的误差。因此,先要对已调波进行解调,对解调后的波形进行测量。
用CX20106对已调波进行解调,原理图如图1所示。
将CX20106解调出的遥控编码脉冲直接连入8751单片机的和T0脚,定时器T0和T1都初始化为定时工作方式1,T0的GATE位置位。每次外部中断首先停止定时,记录T0、T1的计数值,然后将T0、T1的计数值清零,并重新启动定时。T0的值即为高电平脉宽,T1~T0的值为低电平脉宽。T0、T1与红外编码信号脉宽的对应关系如图2所示。
测量波形的外部中断服务程序的流程如图3所示。
测量波形的外部中断服务程序如下:
2 测量数据的回放
只需用所测数据周期性地改变P1.0,就可以得到原来的遥控编码脉冲,流程如图4所示。
3 产生遥控发射信号
用遥控脉冲信号调制38 kHz方波,然后将已调波放大,驱动红外发光二极管,就可以得到遥控发射信号。调制可用一个或门实现,38 kHz方波可用8751的定时器T1产生。如图5所示。
有些遥控器的载频可能是40 kHz,只须稍微加大发射功率仍然可用38 kHz载频使其接收电路动作。
4 其他辅助电路
要制作一个实用的可学习遥控器还必须定义功能键,由于测量数据比较多,还需要扩展外部RAM,限于篇幅,这里不再赘述。笔者已对目前市面上常见品牌的彩电、影碟机、录像机、投影仪、空调器等进行过实验,均实现了准确的接收和转发。