新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 具有学习功能的智能遥控器

具有学习功能的智能遥控器

作者:时间:2012-03-31来源:网络收藏

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日


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭