新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于89S51红外遥控系统的设计方案

基于89S51红外遥控系统的设计方案

作者:时间:2014-03-07来源:收藏

3.3 接收器

本文引用地址:http://www.eepw.com.cn/article/234335.htm

SC2272 是与SC2262 配对使用的一块遥控解码专用集成电路。它可支持多达531441个地址的编码,极大的减少了码的冲突。SC2272 对从Din(14脚)端子送入的信号进行解码。解码出来的地址码与所设置地址输入端进行比较。如果所设置的地址与连续2个字码匹配,则SC2272 做以下动作:

a)当解码得到有“1”数据时,驱动相应的数据输出端为高电平;

b)驱动VT (17脚)输出为高电平。

将SC2272与继电器结合就可以控制电灯、电扇等用电器的电源开关,再加上小型直流电动机就可控制窗帘等机械装置。

3.4 与主机接口

为了能使此遥控器控制电脑就须将红外信号送入主机内,有两种可行的接口,分别为电视卡的红外接收头和串口。

3.4.1电视卡的红外接收头

现在的电视卡很多都带有器,这样的遥控器除了可以控制电视的播放外,通过适当的软件,它还可以控制音频、视频播放、图片浏览程序及电脑的关机等,实现真正的电脑遥控功能。这种方法的缺点是需要购买电视卡,成本较高,不予采用。

3.4.2 串口

现在流行的有半软半硬和全软两种方案,半软半硬方案在红外接收头与串口间加入了数据预处理电路,使数据符合串口规范,降低了编程难度,减少了CPU占用率;而全软方案则是直接把红外接收头收到的数据送入串口,完全由软件处理,其编程难度和CPU占用率偏大,但硬件电路非常简单。图5是“软”方案的硬件电路。

 

 

图5 串行红外接口电路

由于目前应用串口的技术比较成熟,网上有很多现成的插件可以借鉴,因此我们决定采用串口的方式实现。

4 软件设计

4.1 液晶(LCD)驱动程序

我们采用单片机来控制液晶屏,通过不断循环读取的状态编码来控制液晶显示器实时地刷新其显示内容,其中包括遥控系统当前所处的状态(是处于学习状态还是遥控状态)以及当前处理的对象类别和编号,防止用户由于不清楚当前遥控的对象而产生误操作,同时在每一个状态液晶屏都要提示用户下一步该如何操作,为用户提供一个十分人性化的使用界面,软件使用Keil C编写。其程序流程如图6所示。

 

 

图6 LCD显示软件流程

4.2 Girder程序

Girder是一款完全免费的软件,从本质上说它可接收来自任何输入设备的指令,识别后做事先定义好的动作,如启动某个程序或鼠标双击等。首先要设置好硬件,从网上下载串口驱动文件IgorPlug.dll拷贝到Girder目录下的子目录Plugins中。Girder软件的界面如图7。

 

 

图7 Girder的主界面

进入“filesettings”,点击选项卡上的“Plugins”,找到滚动窗口中的“Igor SFH-56 device”,在它前面的小框中打上勾,再点击左边的“Setting”, 选择你所使用的串口,点击OK就可以通过串口来控制电脑了。

对于像关机,关闭显示器等动作,Girder已经有设置好的现成的命令可用,对于一些较复杂的播放软件的控制可以通过简单的设置来完成。

5 关键技术--对编码信号的学习方法

信号的编码方式多种多样,例如图8所示的是一种电视卡自带的遥控器的编码波形,它采用的是Space编码,前面9ms的脉冲加4ms低电平是引导码,中间是8位地址码00H、8位地址反码FFH、8位数据码E8H、8位数据反码17H,从引导码开始计时发送108ms后若按键仍没有松开则以后每隔108ms发送一个9ms高+2ms底+0.5ms高的重复简码,直到按键松开为止。

 

 

图8 一种电视卡的遥控器编码波形

如果每一种遥控器都通过解码后存储“0”“1”的数字信号,那么解码的工作将是非常繁重而且不经济的,一个简单的方法是记录下波形中每个高低电平的宽度,使用时再按照原始形式将波形发射出去。

6 结语

本方案通过对电视、电动机和电脑的综合测试,结果表明该遥控系统学习性能良好,操作简易,有效遥控距离可达5-7米,完全可以实现一只遥控器控制家中所有的电器。这款家居遥控系统基本实现了家居通用,填补了目前通用家电遥控器市场上只能遥控某一种家电而无法做到真正通用的空白,而且它还具有操作简便,界面友好等优点。


上一页 1 2 下一页

关键词: 89S51 红外遥控 FPGA

评论


相关推荐

技术专区

关闭