基于多功能单片机的红外遥控器设计
2016-05-30李世瑾
摘 要:单片机具有高集成度、高可靠性、价格低廉、体积小等特点,因此广泛应用于家电、仪器、工业控制、一体化机电等领域 [ 1 ]。目前单片机在家电控制方面呈现出诸如外形简单、功能多样、产品智能的发展趋势。同时,基于功耗低、抗干扰能力强、使用方改变、价格便宜等特点,红外遥控的应用前景也十分广阔。本文以扩展红外遥控技术为目的,在一种新型红外遥控控制的方案的基础上,通过实现数据的编解码,利用红外线可以传递信息的特性,设计出一个多功能红外遥控器。
关键词:单片机;红外遥控;多路控制
目前市面上的遥控器多是无线遥控技术实现的,随着红外遥感技术的突飞猛进,红外遥控逐渐成为通信和遥控的主要实现方式。同时,在辐射、粉尘、高压、有毒气体的工业环境中,红外遥控更能安全高效的完成目标任务。
然而,尽管红外遥控具有如此多的优势,但由于市面上的遥控器彼此不能兼容,也一定程度上限制了它的发展前景。本文在单片机的基础上进行了创新的设计理念,该设计不仅解决了传统遥控器编程呆板、控制范围狭小、功耗高、功能简单、成本高等缺点,还提高了产品的复用率,符合当下节能环保的理念,因此该技术具有巨大的应用市场。
一、总体设计
(一)基于单片机的红外遥控系统概述
本文以扩展红外遥控技术为目的,在一种新型红外遥控控制的方案的基础上,实现对四个不同环境的设备进行单独控制的功能,从而设计出的一个多功能红外遥控器。
发射信号首先经过单片机编码后发出,经由红外接收装置接收后,再经过单片机的解码,从而使目标电器实现响应(遥控系统框图如图1)。
(二)设计方案思路
考虑到传输过程中的光波干扰,我们设定AT89S51单片机每13us产生38KHz的矩形脉冲信号,然后由单片机是对键盘信息等数据进行分析,并调制在红外载波上,由红外发射器发送给接收端。接收端经过一系列操作,包括解调信号、信号放大、光电信号转换、单片机解码等,最终实现对受控设备的控制。
主控芯片我们采用的是市面上常见而且技术成熟、性能稳定的AT89S51单片机。它具有体积小、易编程、功耗低、功能全等优点[ 2 ]。
(三)研发方向和技术关键
1)合理设计硬件电路,使各模块功能协调;
2)红外发射信号的脉冲波形;
3)红外发射信号的编解码;
4)单片机对IO口的操作。
(四)总体设计
红外遥控系统主要应用了光电信号的相互转化的原理。当用户按下某个按键时,单片机会对该按键出发的电信号进行编码加工,生成脉冲信号,并加载到载波上,借助红外发射器,传送到对应的接收端,接收端收到脉冲信号后,再经过处理姜脉冲信号进行处理,转化为数据流,最后由单片机对此数据流解码并对IO口进行控制,从而使目标电器实现响应。
二、硬件设计
(一)主控芯片AT89S51
AT89S51是由美国ATMEI公司设计研发而成,由于器具有功耗低、性能强的特点,被广泛应用于嵌入式系统中。它有32个外部双向输入/输出口,采用当下流行的开发环境,可用汇编语言或C语言进行编译、仿真,适用性极高。
此外,AT89S51还具有低功耗的闲置和掉电模式,在静态逻辑下可以停止CPU的工作,但不影响RAM存储、嵌套中断、和串行通道的正常工作[ 3 ]。
在AT89S51中,我们加入了一个反向放大器,它具有高增益的特性,同时它有两个引脚XTAL1和XTAL2,构成了放大器的输入输出端。
(二)红外遥控发射电路
红外发射电路由按键电路、时钟电路、复位电路和单片机等组成。遥控器上的按照控制对象的不同,一共设有6个按键。当对应的按键被按下时,产生的电信号被单片机捕获到,随之就会发出数字编码脉冲,并由AT89S51将其调制在38KHz的载波上,然后使红外发光二极管产生相应的脉冲经过三极管的放大后传送到受控器件的红外接收器上[ 4 ]。
红外发射器的制作材料较多,目前大多采用Ga、As,原因是这两种材料制作的二极管能保证电流和发射强度、传输距离之间的线性正比关系。
在遥控信号的发射过程中,我们所需的电流最大值只需数十毫安,所以在驱动红外发射二极管之前需要三极管的放大。单片机需要将调制好的脉冲信号从P3.5引脚传输出去。根据上述分析,我们采用280倍的s8050放大器和68Ω的串接电阻和5.1Ω的基极电阻。
(三) 红外遥控接收电路
红外遥控接收部分由接收信号电路、驱动程序、状态显示和单片机等组成。HS38B作为一体化红外信号接收端,主要是将接收到的红外信号进行解调,并调制在38KHz的脉冲信号上,最后由单片机的P3.2(INTO)引脚进行高低电平的检测[ 5 ]。
当一体化接收端收到信号时,单片机会产生中断并识别P3.1口的信号电平,其原理是分析P3.1口输入的脉冲电平高低及持续时间,最后还原为原发送数据。
单片机会通过对一体化红外接收端收到的信号解 调得到控制码,从而控制具体的设备。本设计中我们用4个LED灯来显示受控设备的工作状态。
由于单片机易受干扰,而受控设备和供电电源的电压都是9V,所以必须要考虑两者之间的噪声。用光耦器件作为隔离元件能很好的解决受控设备和供电电源之间的电流噪声,保证单片机的良好工作环境。
红外遥控系统收到脉冲信号后,通过一体化接收端对信号进行分析并操控受控设备,同时单片机把受控设备的统计结果显示在一个共阳数码管。
(四)电源电路
在我们的这个设计中,所涉及的电源电压都是9V,之所以这样设定是基于成本、性能综合考虑的。三段稳压器可以通过动态调节限流电阻的方式,保证电路中电压和电路以及器件工作功率的稳定,因此我们选择了三端稳压器。根据电压的调节状态,三端稳压器可以分为两种,其中输入电压固定的称之为固定输出三端稳压器,相应的电压可调则为可调输出三端稳压器。三端稳压器仅有3个引脚,可接元减少,方便稳定,是线性集成稳压器中应用最为广泛的一种。
由于本设计含有两个不同电压,故加入了两个固定输出三端稳压器,分别是7805和7809,分出的电压分别为9V和5V的两个支路。电路直流稳压电源的主要分为四部分,它们分别是电源变压器、整流电路、滤波电路和稳压电路[ 6 ]。
三、软件设计
(一)总体方案
本设计是基于AT89S51单片机的遥控系统,因此有单片机来实现设计中最为重要的的软件编码部分。汇编语言的简单易用、功能易实现、易调试编译的特点使之成为MCS-51系列单片机的主要开发语言。本次我们也同样采用汇编语言来实现遥控功能,软件为KeilμVision.
(二)编码发射程序
与传统的红外发射器不同,我们的设计创新性的引入了AT89S51单片机控制系统。使用者的操作信息首先会通过按键下面的瞬时电流信号,然后单片机对所控制的对象进行状态的识别,如果状态为‘0,则正序编码,相反,进行反相编码,最后转化成与之对应的脉冲信号,通过载波发送出去。
用户的按键信息是发射程序的信号源,单片机通过采集该信息来生成四种信息码:控制码、控制反码、系统识别码、识别反码,然后把这四种码编译成4个8位的二进制数据流,再由AT89S51中的终端系统将其以作为脉冲信号发射出去。
每按下一个按键会产生一个8位二进制的数据,该数据会触发数据发送子程序。
(三)红外遥控接收程序设计
红外短距遥控接收程序的功能是把收到的脉冲信号还原为二进制编码信息,即对输入信号的翻译。单片机产生的中断取决于引导码,当收到T>4ms的高电平引导码时,引起单片机产生中断,并视此码为有效码。
当其收到5ms和3ms的高低电平时,则会先和有效码的大小进行对比,若果满足中断条件,则出现中断。此外,控制单元还会对触发中断的低电平时间进行统计,其中只有T>4ms的引导码才是有效的[ 7,11 ]。
红外短距遥控一体化接收部分具有识别电平特性的功能。在我们的设计中,码‘1和‘0的电平高低是不一样的。接收头通过识别码电平的方式来对接收到的信号进行解码操作的。
如果高电平时间间隔T>0.8ms,则对P3.1口执行电平采样的操作,然后对其取反,得到二进制原码,并储存在累加器A中。最后跳出子循环体,等待下一个高电平的出现[ 8 ]。八位信号数据全部读取完毕后,结束读码子程序,执行下一步[ 9 ]。
四、仿真与制作
由于本设计是基于AT89S51单片机,所以为了提高设计的可靠性及便于完善设计,我们可以采用仿真软件对其进行模拟调试。
(一)系统仿真
我们使用的仿真软件主要是Altium Designer和Keil。
PROTEL是Altium公司在1985推出的EDA软件, Altium Designer是protel的升级版本,它将设计流程、PCB设计、可编程器件设计等众多功能整合在一起,提供了PCB制作和嵌入式设计的解决方案。同时它还对处理器模型和编译器具有较好的支持。
Keil是在单片机的开发上有着明显的优势,首先它提供了极其方便的集成环境,不论是使用C语言还是汇编语言都能完美的工作,其次,Keil提供了C编译器、库管理、仿真调试器在内的完整的开发方案,令工作事半功倍[ 10 ]。
(二)硬件电路制作与软件下载
在经过仿真调试得出最终的设计方案后,接下来就是硬件电路的制作与软件的下载。AT89S51具有优秀的可编程性,通过预留的ISP串行编程接口,用USB-ASP下载器可以进行软件下载。
五、结论
设计的最后环节是功能测试,具体结果如表1:
参考文献:
[1] 赵巍,冯娜.单片机基础及应用[M].北京:清华大学出版社,2009:94-103.
[2] 高慧芳.单片机原理及系统设计[M].杭州:杭州电子科技大学,2008:124-174.
[3] 聂诗良, 李磊民.采用单片机发送并接收红外遥控信号的方法[J]. 信息技术,2004,28(2):21-96.
[4] 周润景,张丽娜,丁莉.基于PROTEUS的电路及单片机设计与仿真[M].北京:北京航空航天大学出版社,2010.
[5] 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].第1版,清华大学出版社,2002.
[6] 胡伟.单片机C程序设计及应用实例[M].人民邮电出版社,2003.7.
[7] 实用电子元器件手册.上海科学技术出版社[M].1998.2.
[8] K. Mandai, K. Miyauchi, M. Sugimoto,Y. Natsume and K. Ookubo. AN ADVANCED INFRARED REMOTE CONTROL SENSOR[J]. IEEE,1990.6,36(3).
[9] 杨恢先,王子菡,杨穗,陶霞.一种基于单片机的红外遥控软件解码方法[J].自动化与仪器仪表,2004,(2):16-32.
[10] Michael A. Miller. Data and Network Communications[M].第一版,科学出版社,2002.
[11] 徐向民.Altium Designer 快速入门[M].北京:北京航空航天大学出版社,2008.
作者简介:
李世瑾(1993-),女,河南安阳人,河南师范大学教育与教师发展学院2013级教育技术学(数字媒体设计方向)专业在读本科生,研究方向:教育技术学。