配色: 字号:
智能红外遥控器系统的设计
2012-05-04 | 阅:  转:  |  分享 
  
-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的串行通信接口电路。

关键词:单片机;智能学习;红外信号;数据传输

献花(0)
+1
(本文系朽木轩首藏)