-2-
科技论坛
智能红外遥控器系统的设计
林小亮
1
吕杨
(1、昆明理工大学信息工程与自动化学院,云南昆明650051)
引言:随着人们生活水平的提高,家庭里的
家用电器也越来越多,然而各种家用电器使用的
红外遥控器却不能兼容,给使用者带来了不便。这
里介绍的智能红外遥控器系统能集中控制这些家
用电器,有效地解决了上述问题。智能红外遥控器
系统首先对各设备的红外遥控信号进行识别并存
储(智能学习),然后在使用时进行还原,去控制指
定的红外遥控设备工作。
1系统硬件结构组成
图1系统硬件结构框图
1.1单片机
从图1可看出,在控制系统中,整个系统设
计的核心是单片机,它控制系统中其他设备的正
常工作。本系统中选用的单片机型号为
PIC16F877A,它是Microchip科技推出的单片机,
具有高性能RISCCPU;仅有35条单字指令;除程
序分支为两个机器周期外,其余均为单周期指令;
运行速度:DC-20MHz,DC-200nsz指令周期;
8K14个FLASH程序存储器,3688个数据存储
器(RAM)字节,2568EEPROM数据存储器字节,
供用户使用。而传统的8051系列单片机只有
128~256字节RAM供用户使用。总之,完善的功
能使其在系统设计应用中极其方便。
智能红外遥控器系统有三个工作模式:自学
习模式、自学习验证模式、数据传输模式;能智能
学习9种设备,如DVD、空调、电视机等,并且对每
种设备都有至少30个设备功能,如MODE(收看
模式键)、POWER(电源待机/打开键)等。这样就可
以通过42个按键来实现不同的功能,3个工作模
式键;9个设备种类选择键;30个设备功能键。设
计中把单片机的RD0~RD7口和RC3~RC7与键
盘连接器相连。
1.2EEPROM存储器
由于测量和存储的数据多,因此使用AT-
MEL公司生产的AT24C1024芯片作为扩展外部
RAM,来对接收信号频率和信号波形进行存储。
AT24C1024以其操作灵活、可在线改写、存储数据
可靠等诸多优点,成为本系统存储器的理想选择。
1.3液晶显示器
本系统采用HDG12864L-6液晶显示模块来
显示系统的工作模式、设备种类和工作状态。该模
块接口方式灵活,操作指令简单,可以显示8×4行
16×16点阵的汉字,也可完成图形显示,来实现全
中文人机交互图形界面。该模块采用Sharp
SED1565DOB控制IC,不论显示程序或硬件电路
结构都比同类简单得多,还具有价格低、电压低、
功耗低的优点。
2系统的工作原理和软件实现
系统模式主要由智能学习模式、验证模式、
数据传输模式构成。智能学习模式,即对红外遥控
器发射的红外信号学习;验证模式,对被学习的红
外遥控器的编码作正确与否的验证;数据传输模
式,向应用系统传输储存的红外遥控的基带数据
编码帧。
2.1智能学习模式
智能学习模式,即对红外遥控器发射的红外
信号作自学习。学习的内容也就是对遥控器发射
的红外信号进行频率和波形测量。所有遥控器的
输出都是遥控编码信号,本系统使用软件解码的
方法对接收的红外信号进行解调。
2.1.1红外信号频率测量。系统利用软件编程
直接对遥控器输出的遥控编码信号脉冲串进行测
频。系统先测信号的周期,通过查表将其转化为频
率,其转换表格已事先存储到相应的存储空间。
具体工作过程是:如果刚开始RC0引脚为高
电平时则等待,当引脚出现低电平时则继续等待,
当引脚再次出现高电平时则开始测周期。如果刚
开始RC0引脚即为低电平时则等待,当引脚出现
高电平时则开始测周期。测周期先启动定时器T0;
置位控制位T0IF;同时也将T0IE置位以允许定时
器中断。定时器Timer0初始化为定时工作方式;
TMR0初值为#00H。然后再判断RC0引脚是否还
为高电平,当为高电平时则等待,直到出现低电
平,再开始判断RC0引脚是否为高电平,当不是高
电平时则等待。一旦出现高电平则终止定时器
Timer0,测频程序结束。
2.1.2红外信号波形测量。先将系统的红外线
窗口与被学习遥控器相对放置,处于直接发射和
接收状态;再按系统的“进入智能学习”键1次,此
时,系统进入自学习状态。此时按系统的“选择设
备种类”键选择设备,便可进行相应设备的学习;
接着按一次被学习的红外遥控器的某一功能键,
再按本系统键盘上相应的功能键,便可进行相应
设备的相应功能学习。
若学习成功,即测量完成且测量数据正确
时,将通过本系统的显示设备(如液晶显示器)显
示“智能学习成功”字样。具体测量过程如下:
直接接收到单片机的RB0脚是红外信号的
反脉冲串信号,当RB0脚检测到脉冲上升沿时,启
动定时器Timer0,定时器Timer0初始化为定时工
作方式。定时器Timer0测高电平的时间,当RB0
脚检测到脉冲下降沿时,关闭定时器Timer0,记录
定时器Timer0的值。同时启动定时器Timer2,定
时器Timer2也初始化为定时工作方式。当RB0检
测到脉冲上升沿时,关闭定时器Timer2和INTE,
并记录Timer2的值,即为低电平的时间。
在单主控器的系统中,时钟线仅由主控器驱
动,因此可以用单片机的SCL信号线将其设置为
输出方式,由软件控制产生串行时钟信号。系统使
用I/O线RB6作为时钟线,RB7作为串行数据线,
由软件控制在时钟的低电平期间读取或输出数
据。
2.2验证模式
首先按本系统“进入智能学习”键一次,表示
本系统处于验证工作状态;此时按本系统某个“选
择设备种类”键表示选择对该设备进行验证;然后
将本系统红外发射头对准相应的被控设备;接着再
按进行设备功能验证的键,单片机便调用内部程
序,输出已存储在EEPROM内的相应该设备的高
低电平时间数据,通过RC1口输出脉冲串转发红
外信号。
由于被学习的遥控器,其红外发射频率各有
不同,因此本文设计了系统与红外发射部件呈两
个独立部件,并提供多路编码输出通道,与外部独
立发射部件,一一对应输出。
2.3数据传输模式
一般的PC机或集中控制器都带有RS232
串口通信接口,但在实际应用中,有时主控PC机
和单片机相隔很远,为保证数据能高速及时、安全
的传至PC机,增加了具有RS485协议的串行通
信接口硬件电路。因此给PC配置RS485与
RS232之间的相互转换,并把接口电路做成全双
工,选用MAX232,SN7517全双工通信的芯片。使
用RS232/RS485总线通信的具体操作过程是:首
先将本系统的数据传输接口与应用设备的数据接
口(RS232/RS485)采用数据电缆连接,确认两设备
都处于正常通电状态;接着按本机“数据传输”模
式键1次,根据传输协议格式逐帧逐帧地向应用
系统传输数据,当数据传输完成后,将在本系统的
显示装置(如LCD屏)显示“成功传输”字样;否则,
显示“传输失败”字样。
结束结:这里所设计的智能红外遥控器系
统,可以学习多种不同类型的家用电器红外遥控
器的遥控信号,从而控制多种不同类型的家用电
器工作,它使用方便、控制功能灵活可靠。本系统
还可以作为通用的红外收发控制和数据传输系
统,根据不同的需求,稍加改动便可实现不同的控
制功能。
参考文献
[1]黄少斌.4路无线遥控器[J].实用无线电,1995.
[2]邬冠华,张小峰,宋凯.带工作状态显示的射线机
无线遥控器的研制[J].南昌航空工业学院学报,1999.
[3]彭树生.PIC单片机实践与系统设计[M].北京:电
子工业出版社,2007.
作者简介:林小亮(1982~),男,河南人,工学
硕士,昆明理工大学信息工程与自动化学院,计算
机应用技术专业,研究方向为嵌入式技术。
摘要:介绍的智能红外遥控器系统由PIC16F877A单片机和相关硬件电路来实现的,能智能学习多种电器的红外遥控器的控制方式,集中控
制这些家用电器。系统通过软件来实现红外遥控信号的智能学习,存储、验证及转发。本系统硬件电路简单,可靠性高,可同时控制转发多种红外信
号。同时系统为使单片机可以准确地与上位机进行通信,还增加了RS232/RS485的串行通信接口电路。
关键词:单片机;智能学习;红外信号;数据传输
|
|