具有学习功能的智能遥控器
扫描二维码
随时随地手机看文章
电器的增多,在生活中遥控器数目也较多,由于遥控器与电器是一对一的使用,容易造成遥控器的混淆;另外若遥控器丢失,找到配套的遥控器就很困难。为此,我们以单片机为核心,设计了一款多功能遥控器,并由于其独特的设计思路,广泛的应用性,于2004年10月被国家知识产权局授予实用新型发明专利一项。
1 红外遥控器简介
红外遥控器是由遥控发射集成电路、振荡器及键盘扫描电路组成的。
当遥控器有键被按下时,振荡电路立即接通并起振,扫描信号发生器随即发出多路不同时序的扫描时序脉冲,依次对键盘矩阵进行扫描,键盘编码器则由接收到的回送信号判断出被按键位置,并输出相应的编码至译码器,经译码器进行码元变换后的信号被重新编码调制后输出。
不同的红外遥控器之间的主要区别在于拥有不同的遥控发射集成芯片和编码的调制方式。经过大量的研究分析发现,绝大多数的遥控器具有相同的载波频率。
2 硬件组成
电路将能够执行学习、预存编码、模拟发射编码等功能。其组成框图如图一所示。
2.1 红外接收头
红外接收头通称遥控预放器。
图二所示的接收码为它对发射芯片M50462AP的脉冲调制码的转换码。
接收头使用简单,只需将它的三个管脚分别接地、电源和单片机的通用I/O引脚即可。
2.2 单片机
单片机选用AT89C55,是MCS—51系列芯片,具有20KB的FLASH存储器,256字节的数据存储区。
单片机是电路的核心,负责接收遥控器的发射码,找出规律,并将其记录、存储,即完成学习功能;同时有按键按下时,判断键值,将相应的模拟编码发射出去,执行遥控功能或实现编码预存功能。
2.3 键盘扫描及显示电路
键盘扫描及显示电路选用16位LED数码管显示及键盘接口专用芯片BC7281,BC7281通过外接移位寄存器(74HC164或74LS595等),最多可以控制16位数码管显示或128支独立的LED,还能连接最多64键的键盘,而且键盘部分还具有键值锁存功能。
BC7281具有2线高速串行接口,单片机和BC7281就通过串口的数据线DAT,时钟线CLK还有按键标志线KEY相连接。数据线在使用时需接20K的上拉电阻。
2.4键盘
按键最多可有64个,可以被赋予不同的功能,如学习键、确定键、预存键以及电视开关键、音量键、定时键等功能键,按键编码与硬件连接方式相关。
学习时先按学习键,再按相应的功能键,学习成功后,按确定键结束。编码预存时按下预存键,再按数字增减键,即可将相应编码进行存储。各功能键直接使用即可。经学习或预存后,各功能键即可代替遥控器实施遥控功能。
2.5发射单元
发射单元由振荡器和发射管组成。振荡器用NEC555实现,振荡频率设计为39K,是模拟编码输出信号的载波。NEC555的控制信号来自于单片机的通用I/O引脚,有高电平输入时起振,低电平时停止振荡,从而控制发射管发射出编码调制后的脉冲。
3 软件设计
由于电路受按键控制,故在主程序中要不断地判断键值,相应的功能在子程序中完成。软件应完成的工作有以下几部分:
3.1接收码的处理
无论遥控器的编码以哪种编码调制方式发出,总可以认为编码由时间延续不等的高、低电平组成,因此,可以不断读取与接收头相连的I/O口的数值,用计数器记录高、低电平的时间。考虑到单片机的时钟周期较长,可以将接收信号的时间进行压缩,即将记录的数值除以32后再储存,可以节省存储空间。
为了准确地存储编码,可以进行3次学习操作,每次学习时,均记录3组数值,存至不同的空间。每次学习后,将3组数值进行比较,每个数值的偏差在03H之内,即认为本次学习成功,将3组数平均,存储。重复学习三次后,将3次学习的结果再进行比较,偏差在03H之内,即可认为学习成功,取3次学习的结果作平均,作为遥控器编码的代用码,存至EEPROM的相应空间,以防数据掉电丢失。
编码存储时先存储键值作起始标志,最后以FFH为结束码。按照12M的晶体振荡器决定的时钟周期和除以32的时间压缩,编码的规律为高、低电平交错出现。
3.2 判断键盘按键
按键被按下时,通过INT1产生中断。在中断服务程序中,判断键值,存储,并确定相应的编码存储地址。
3.3 发射编码
发射编码时,先根据键值寻找相应编码所在地址,依据起始码判断是否正确,确认后依据高、低电平的顺序控制振荡器的起振与停振,起振与停振的时间是将存储码扩展32倍。扩展时间是通过延时进行的,延时时间需经过多次反复的实验。
3.4遥控器编码预存
为了降低学习时的误码率,在程序中填加了遥控器编码预存功能,将收集到的编码存储在程序存储器中,并将编码序号与发射芯片的对应关系告之用户,用户在已知发射芯片型号的基础上可以预存遥控器编码。当预存键按下时,配以数字增减键,将相应的编码存至EEPROM对应的地址中。
3.5显示功能
显示系统能显示学习及编码预存功能的各种状态。如进入学习状态时显示HELP;每一次学习成功时显示1111;学习不成功显示2222;三次学习成功显示5555。编码预存时显示编码芯片的序列号。为了节电,不学习时显示系统不工作。
4 结束语
设计完成后,由于其价格低廉,控制准确,操作简单,而得到了生产厂家的认可,预计可以给厂家带来的经济效益每年近百万元。单片机代替编码芯片的思路将我们引入了单片机应用的一个新领域,我们将进一步缩小其体积,使其功能进一步完善,以求更大的发展。
参考文献
1 郝建国,家用电器遥控系统集成电路大全[M],北京:人民邮电出版社,1996年
2王裕琛、安颖,与空调、电视共用遥控器的遥控灯[P],中华人民共和国知识产权局,ZL03281069.5,2004年10月6日