将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 csubb a,temp1
movx @dptr,a
inc dptr
mov a,th1
subb a,temp2
movx @dptr,a
inc dptr
mov a,temp1
movx @dptr,a
inc dptr
mov a,temp2
movx @dptr,a
inc dptr
RE:clr first
mov tl0,#0
mov th0,#0
mov tl1,#0
mov th1,#0
setb tr0
setb tr1
二、测量数据的转发
只须用的数据周期性地改变P1.0就可以得到原来的遥控编码脉冲,流程如图4所示。
三、产生遥控发射信号
用遥控脉冲信号调制38kHz方波,然后将已调波放大,驱动红外发光二极管,就可以得到遥发射信号。调制可用一个或门实现,38kHz方波可用8751的定时器T1产生,如图5所示。
有些遥控器的载频可能是40kHz,只须稍微加大发射功率仍然可用38kHz载频使其接收电路动作。
四、应用领域
只须加上键盘和液晶或数码显示电路,并扩展一定数量的RAM,就可以用此方法实现自学习万能遥控器。笔者已对目前市面上的彩电、影蝶机、录像机、投影仪、空调器等产品的常见品牌进行过实验,均实现了准确的接收和转发。此外,只要在图5所示电路前加一级编码模块(可用软件实现)作为发射单元;图1所示电路加上波形测量软件作接收单元,再加上相应的解码控制软件就可组成一个通用红外收发控制系统或数据传输系统,不需要再增加额外的硬件。
因篇幅问题不能全部显示,请点此查看更多更全内容