4、系统硬件电路的设计
图2 单键通用学习型遥控器原理图
考虑到有的遥控器的编码比较长,需要比较多的内部RAM,单片机采用了 AT89C52 P2.5 口接学习按键,P2.7口接发射按键,P1.7 口用于作为遥控码的输出口,输出38 kHz 的遥控码,INT0口用于红外线接收头的输出信号的输入。
5、系统主要程序的设计
5.1 主程序如图3
上电复位后,主程序扫描按键,当确认有按键按下时,若是学习键,则进入学习状态;若是发射键,则将已学习的遥控编码脉冲发射出去。
5.2 遥控编码学习子程序
该程序实现遥控前导码的识别,遥控编码高低电平宽度计时和结束位识别功能,程序流程如图4 所示。
在设计中,采用了计数器对信号高低电平计时的方法来采集数据并保存。前导码由一个9ms左右的高电平和一个低电平组成的,判断是否是前导码的方法是:判断开始的高电平是否大于5ms。如果大于5ms的话,就认为是前导码,并保存前导码的低电平。然后依次保存采集到的编码信号,如果采集到编码信号的高电平大于5ms的话,就认为是编码已经结束,置0 作为标志学习子程序结束。
5.3 遥控编码发射子程序
由软件实现遥控信号的载波合成,用定时中断1产生38kHz的载波信号用,定时中断0控制定时中断1的开关,定时器0定时长短由相应的遥控信号电平宽度计数值确定。如果需发射的遥控信号为高电平时,关定时中断1;如果为低电平,则开定时中断1,输出38kHz载波信号到红外发射控制脚P1.7,从而实现遥控信号的脉宽调制发射。
6、结语
在本设计中,采用了不考虑红外信号的编码方式,只采集其高低电平宽度的方法,使得可采集各种编码方式的信号发射时,不是用硬件,而是采用以软件方式产生载波的方法。节约了硬件设备,并使电路简化。本设计非常简单地实现了红外遥控信号的接收和转发,本设计的装置已用于多媒体中央控制器产品中对多媒体电子产品进行红外控制操作,在实际应用过程中获得了满意的效果,该装置还可应用智能家居产品中对空调电动窗帘灯光音响等电器设备进行控制。