红外遥控器信号的接收和转发
关键词:红外遥控 单片机系统 转发
红外遥控在家电产品中有广泛应用,但各产生的遥控器不能相互兼容。目前市场上常见的万能遥控器只能对某几种产品进行控制,不是真正的“万能”,而且不能对新上市的产品进行控制。本文介绍一种用单片机对红外遥控器信号接收和转发的方法,由于只关心发射信号波形中的高低电平的宽度,不管其如何编码,因此可以用来实现自学习万能遥控器。
一、红外信号的接收和波形测量
所有红外遥控器的输出都是用编码后串行数据对38~40kHz的方波进行脉冲幅度调制而产生的。如果直接对已调波进行测量,由于单片机的指令周期是微秒(μs)级,而已调波的脉宽只有20多μs,会产生很大的误差。因此先要对已调波进行解调,对解调后的波形进行测量。
(凹丫丫范文网fanwen.oyaya.net收集整理)
红外遥控接收芯片CX20106可以完成对遥控信号的前置放大、限幅放大、带通滤波、峰值检波和波形整形,只需加上简单的外围电路即可完成对已调波的解调,原理如图1所示。
将CX20106解调出的遥控编码脉冲直接连入8751单片机的INT0和T0脚,定时器T)和T1都初始化为定时器工作方式1,T0的GATE位置位。每次外部中断首先停止定时,记录T0、T1的计数值,然后将T0、T1的计数值清零,并重新启动定时。T0的值即为高电平脉宽,T1-T0的值为低电平脉宽,如图2所示。
测量波形的外部中断服务程序的流程如图3所示。
测量波形的外部中断服务程序如下:
interup0:clr tr0
clr tr1
push psw
push acc
inc test
jb first,RE
mov a,tl0
mov temp1,a
mov a,th0
mov temp2,a
mov a,tl1
clr c
subb a,temp1
movx @dptr,a
inc dptr
mov a,th1
subb a,temp2
movx @dptr,a
inc dptr
mov a,temp1
m
《红外遥控器信号的接收和转发》