学习型红外线遥控器项目设计方案.doc_第1页
学习型红外线遥控器项目设计方案.doc_第2页
学习型红外线遥控器项目设计方案.doc_第3页
学习型红外线遥控器项目设计方案.doc_第4页
学习型红外线遥控器项目设计方案.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习型红外线遥控器项目设计方案1.1本设计的研究背景和研究目的随着社会的发展各种家用电器已经进入了千家万户,各式各样、琳琅满目的家用电器,空调、电视、音响系统等传统意义上的家电早已成为普通百姓生活不可或缺的一部分,甚至连投影机、数字机顶盒,电子监控(防盗)系统等新兴电器也正迅速步入现代家庭,我们家里的遥控器越来越多,不同型号的遥控器控制不同的家电。遥控器,想来大家并不陌生,遥控作为众多现代家电的一种基本控制方式,几乎所有的家电产品都配备了遥控器,甚至现在连电风扇,台灯这样的设备都配备了遥控器。可是,随着家里的电器越来越多,电器产品的遥控器也越来越多,这就产生比较多的麻烦,日常生活中,很多人都会遇到随手拿错放在茶几上各种遥控器的麻烦,不仅使用起来不方便而且茶几上摆放一堆遥控器也很不好看。设计出一种具有学习功能的并能代替各种数目繁多的遥控器的学习型红外遥控器成为一种需要。1.2国内外研究现状目前国内学习型遥控器大部分采用复制遥控器红外波形的思想,也有部分采用下载存储遥控编码的学习思想。但是由于采用专用遥控发射芯片,集成度高但成本也高。现有自主学习型红外遥控器,其核心MCU 主要有以下几种:MCS-51 系列、Microchip PIC16 系列、Winbond W741 系列、Holtek HT48 系列以及ARM(Advanced RISC Machines)系列。目前国内外比较成熟的产品主要有: 1、上海慧居智能电子的HJ-JYWC,它的主要特点为:触屏按键组合输入;具有红外学习功能;具有载波频率识别功能,能准确识别各种复杂的红外代码2,如图1.2.1所示。图 1.4 上海慧居智能电子HJ-JYWC2、BREMAX 公司的NRC-304 网络多功能遥控器,它的主要特点为:联机自学习、脱机自学习两种模式;具有USB 口,通过INTERNET 登陆BREMAX 公司网站,搜寻并下载相应型号家电的遥控器编码,兼容各种品牌和型号3,如图1.5 所示:图 1.5 NRC-304 网络多功能遥控器。图 1.2.2 NRC-304 网络多功能遥控器3、Sunwave 公司的SRC1600,它的主要特点为:具有巨集设定功能,单一按键巨集设定可记忆多达60 个指令;具备红外学习功能,具有USB 接口,可预设遥控编码和升级系统4,如图1.6 所示。图 1.2.3 SRC16004、罗技Harmony 1100,它的主要特点为:黑色铝合金外壳,3.5 英寸的触屏;用户可以根据具体情况添加或者删除屏幕上的功能键;设备能通过USB 连机,获取罗技在线数据库配置文件,如图1.7 所示。图 1.2.4罗技1100以上产品对于对于电视、音响等使用专用的遥控芯片的家电遥控器(内置NEC、飞利浦、东芝、或夏普等芯片),学习比较容易,但类似空调的红外设备(同一按键编码与该按键按下次数和系统状态相关),学习效果欠佳,为此本文设计采用电脑辅助解码提高红外学习的准确度。1.3本设计的研究方法和研究内容1.3.1本设计的研究方法本设计是基于AT89C52 单片机的采用复制遥控器红外波形思想的红外遥控器的设计, 其思想是通过测量经过红外接收芯片解调后输出的编码脉冲宽度, 然后存入单片机内部指定地址。当要发生红外信号时, 从存储区还原出相应的红外遥控编码, 并调制到38 kHz 的载波信号上, 最后直接驱动红外发光二极管发射红外信号, 实现一个遥控器控制多种红外家电设备。1.3.2本设计的研究内容本文设计的学习型红外遥控器要求可以学习不同遥控器的某个键的功能,并在功能上替代现有遥控器,涉及到红外接收解码、红外调制发射、MCU 控制等技术,需要完成的研究内容主要包括:1、 红外线遥控器工作原理2、 红外接收解调器接收接收解码原理3、 单片机红外解码的软硬件实现4、 红外调制发射原理5、 单片机红外遥控编码的软硬件实现2总体设计原理分析2.1 红外线遥控器工作原理2.1.1红外线介绍红外线是一种电磁波,具有与无线电波及可见光一样的本质。人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.620.76m;紫光的波长范围为0.380.46m。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线。红外线的波长在0.76100m之间,位于无线电波与可见光之间。红外线遥控就是利用波长为0.761.5m之间的近红外线来传送控制信号的。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空调机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。此外红外线通信还具有保密性强,信息容量大,结构简单,既可以是室内使用,也可以在野外使用,由于它具有良好的方向性,适用于国防边界哨所与哨所在之间的保密通信, 但在野外使用时易受气候的影响。2.1.2红外线遥控原理介绍红外线遥控器是以红外线发光LED,发射波长940nm的红外线不可见光,来传送信号。整个遥控器系统分为发射端及接收端两部分,发射端经过红外线发射LED送出红外线控制信号,这些信号经过红外线接收模块接收端接收进来,并对其控制信号做译码而做相对的动作输出完成遥控的功能。红外通信由来已久,但是进入90年代,随着科学技术的不断进步和地球空间技术的发展,使人们对红外线技术的研究越来越深入,应用范围更广泛,尤其是在红外遥感技术和红外通信技术领域里,数字锁相技术和传感器技术的巨大进步,大大加速了这个进程,目前无线产品在商业销售中的使用已相当普遍,但大多存在着很大的局限性,电路繁杂,计算难度大且多为模拟电路,抗干扰能力差,准确度底,电路的维护调试很不方便。越来越多的远距离控制和数据通信系统引入了不可见的红外线作为传输媒介进行通信,组成了无线红外遥控通信系统,此方法以其成本底、精度高、保密性强、技术性能稳定的特点而受到广大用户和专业人士的欢迎。常用的红外遥控系统一般分发射和接收两个部分。发射部分的主要元件为红外发光二极管,它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时它发出的是红外线而不是可见光。目前大量使用的红外发光二极管发出的红外线波长为940nm左右,外形与普通5发光二极管相同,只是颜色不同,红外发光二极管一般有黑色、深蓝、透明三种颜色。 接收部分的红外接收管是一种光敏二极管,只对红外光线有敏感作用,在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外接收二极管一般有圆形和方形两种,由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。图2.1 红外线发射器的工作方块图红外线发射器的工作流程如图2.1所示,当按下某一按键后,遥控器上的控制芯片便进行编码产生一组句柄,结合载波电路的载波信号(为38kHz)而成为合成信号,经过放大器提升功率而推动红外线发射二极管,将红外线信号发射出去,所要发射的句柄必须加上载波才能使信号传送的距离加长,一般遥控器的有效距离为10m。图2.2 红外线接收的工作方块图红外线接收的工作方块图如图2.2所示,其主要控制组件为红外线接收模块,其内部含有高频的滤波电路,专门用来滤除红外线合成信号的载波信号(38kHz)而送出发射器的控制信号。当红外线合成信号进入红外线接收模块,在其输出端便可以得到原先的数字控制编码,只要经过单片机译码程序进行译码,便可以得知按下那一按键,而作出相应的控制处理,完成红外线遥控的动作。 由于每家厂商设计出来的遥控器一定不一样,即使是使用相同的控制芯片,也会做特殊的编码设计,以避免遥控器间互相的干扰其中的编码数据包含厂商固定编码及按键编码,厂商固定编码为避免与其他家厂商重复,而按键编码则是遥控器上的各个按键编码。例如按下遥控器的1键,则会发送出以下的4字节出去: 40 BF 01H ED其中“40 BF”为厂商固定编码,“01H ED”则为1键按键编码,厂商编码只要是东芝牌电视遥控器就是固定的,各个按键编码则依按键不同而不一样。各个位编码方式是以波宽信号来调变,低电平0.8ms加上高电平0.4ms则编码为“0”,低电平0.8ms加上高电平1.6ms则编码为“1”。当按下遥控器上的某一按键则会产生特定的一组编码,结合40kHz载波信号发射出去,加上载波信号可以增加发射距离。2.2 学习型红外线遥控器译码原理遥控电路使用AT89C52单片机作控制,通过红外线接收模块(红外接收头)接收信号,因为接收模块有自动滤除载波功能,所以红外线接收模块输出的信号就是遥控器所产生的编码,通过电路传到单片机内,单片机识别出遥控器的按键,作相应的动作。红外线接收模块是一种光敏二极管及滤波器组成,光敏二极管只对红外光线有敏感作用,在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外接收二极管一般有圆形和方形两种,由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。因此在红外线发射端红外线信号加载在一个40kHz载波上发射出去,这样即增加了信号强度,也增强了信号的传输距离,使用起来更加方便。3本设计总体设计方案3.1 方案论证与比较3.1.1方案一:基于AT89C52单片机学习型红外遥控器的设计学习型遥控器的功能主要分为学习和发送两个部分。在学习的过程中,学习型遥控器接收电路接收到用户想学习的遥控器所发送过来的红外遥控信号。接收电路接收到红外遥控信号以后,经过放大并解调出红外遥控码电平信号送至单片机进行处理。经过单片机处理以后存储单片机的存储单元里。当要发射红外信号时,根据按键盘电路获取的按键指令信号,从与指令信号相对应的单片机存储区中还原出相应的红外遥控编码,调制到40 KHz的 载波信号,并经红外发射电路发射出去,控制相关电器。方案一原理框图如图3.1所示。图3.1方案一原理框图3.1.2方案二:基于mega128单片机的多键学习型遥控器的设计该方案是一种基于mega128 单片机的具有学习型的红外遥控器的设计,其思想是通过测量经过红外接收芯片解调后输出的编码脉冲宽度数据,然后存入数据存储模块中。当要发生红外信号时,从存储区还原出相应的红外遥控编码,并调制到38 kHz 的载波信号上,最后直接驱动红外发光二极管发射红外信号,实现一个遥控器控制多种红外家电设备。方案二原理框图如图3.2所示。图3.1方案二原理框图3.1.3方案三:多功能学习型红外遥控系统的设计由二个部分构成,一个是放在受操控电器同一个地方的接收端,一个是远离受控电器的无线电遥控器。该方案有两种功能模式,及学习模式和转发模式。在学习模式时接收端同时具备红外遥控信号的接收和无线电发送功能。可以学习不同红外遥控的编码并保存起来,同时与无线电遥控器的某个按键建立相关联系,并在无线遥控器上按下该键时模拟装置就会发出刚才所学习的编码。学习模式原理框图如图3.3所示: 图3.3学习模式原理框图在转发模式时,遥控器把自己接收到的红外信号经无线电信号实时地转发给接收端,接收端把接收到的无线电信号还原成与遥控端接收到的信号一样的红外信号,从而控制其对应的电器。转发模式原理框图如图3.4所示。图3.3转发模式原理框图3.2 本设计方案选择方案一采用AT89C52作为微控制中心和红外遥控编码数据存储器,少数按键作为控制指令输入终端,红外接收解调器作为红外线接收处理模块 。整个方案简单,硬件电路易于制作,成本低。方案二采用mega128单片机作为微控制中心,另单独设置存储器,采用行列式键盘作为控制指令输入终端。整个方案比方案一复杂,成本较高,对于本次毕业设计来说方案一比方案二更好方案三采用遥控器和学习处理的模拟端分开设计制作的方式,需要用到多个单片机和存储芯片,硬件电路制作繁复,需要的元器件多,成本比方案一高得多。另外方案三的控制方式复杂,需要用到较大规模的扫描键盘。综合比较方案一比方案二和方案三更好,因此本次设计采用方案一。3.3 本设计总体设计方案本次设计的总体方案采用方案一。原理图主要由以下五个部分组成红:外接收解调器、红外线反射电路、AT89C52单片机、状态指示灯和操作键4硬件电路设计与计算4.1红外线遥控信号接收处理电路的设计与计算4.1.1 电路选择考虑到考虑到硬件电路制作的难易程度以及成本,本次设计的红外线遥控信号接收处理电路采用市场上普遍使用的红外线接收解码器即红外接收头。4.1.2 元器件选型及参数计算接收器选用一体化红外接收器HC0038,该接收器是黑色环氧聚光透镜,能够滤除可见光的干扰,集红外接收、放大、解调、译码于一体,内含红外线PIN接收管、选频放大器和解调器。不需任何外接元件,就能完成从红外遥控信号(40kHz的载波信号)中分离出基带信号,输出与TTL电平兼容的所有工作。在与单片机连接时,将接收来的红外遥控信号反相,其正向信号接外部中断0,反相信号接外部中断1。通过记录2个中断间的间隔时间来测量红外遥控信号的高低电平的脉宽值。红外线遥控信号接收处理电路原理图如图4.1所示。图4.1红外线遥控信号接收处理电路原理图4.2 状态指示灯电路的设计与计算4.2.1 电路选择本次设计学习型红外遥控器有两个功能,即学习功能和遥控功能。其中表示处于学习状态的指示灯采用绿色发光二级管,表示处于遥控状态的指示灯采用红色发光二级管。状态指示灯电路原理图如图4.2所示。图4.2状态指示灯电路原理图4.2.2 元器件选型及参数计算Q1、Q2可用9013系列,R1、R3用阻值为560的普通电阻,R2、R4用阻值为560的普通电阻。9013三极管参数:集电极-发射极电压 25V 集电极-基电压 45V 射极-基极电压 5V 集电极电流0.5A 耗散功率 0.625W 结温150 特怔频率 最小 150MHZ4.3红外线发射电路4.3.1 电路选择目前红外遥控器的设计大部分都采用外部电路产生载波信号,比如用振荡器NEC555产生载波信号,可这种方法电路结构复杂,硬件成本也高 。本文主要由单片机内部的软件来产生40kHz载波信号,并把遥控码调制到载波上,最后通过P35口输出已经调制好的红外遥控信号。具体的流程如下:首先读取按键信号,若发射键键按下,从单片机数据存储单元中取出遥控码存储数据作为的初始值,启动Tl,并用Tl产生40kHz的载波信号。在高电平且没溢出时,从P35口不断地输出载波信号,从P3.5口输出的就是已调制到载波上的红外脉冲信号,经三极管9013放大以驱动红外发射管辐射出红外脉冲信号。红外线发射电路原理图如图4.3.1所示。图4.3红外线发射电路原理图4.3.2原器件选型及参数计算红外发射电路用到的元器件有:红外发射管一个、9013型三极管一个、10电阻一个、4.7k电阻一个4.4单片机控制电路4.4.1电路选择在本设计中,单片机控制电路采用单片机的最小系统电路的设计方式。单片机控制电路原理图如图4.4所示。图4.4单片机控制电路原理图4.4.2 元器件选型及参数计算单片机的最小系统由上电复位电路、AT89C52单片机和时钟电路组成,具体的元器件选型和参数计算将在各子电路中进行。4.4.3复位电路的设计与计算1 电路选择与其他计算机一样,MCS-51单片机系统常常有上电复位和操作复位两种方法。操作复位指用户按下“复位”按钮使计算机进入复位状态。上电复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。本设计复位电路采用简单的RC上电复位电路。复位电路原理图如图4.5所示。图4.5复位电路原理图2 元器件选型及参数计算RC上电复位电路由一只接地10K的电阻、一只10F电解电容和。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。MCS-51单片机的复位是由外部的复位电路来实现的。当MCS-51单片机的复位引脚RST出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。4.4.4 微控制器的设计与计算1元器件选择单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小并且完善的计算机系统。这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。单片机性能不断提高,其应用系统也在不断发展。而目前流行使用的AT89C52单片机是INTEL MCS-51系列的8位单片机。它具有40引脚,片内带8KB闪速存储器EEPROM,一般作程序存储器;片内带256KBRAM;提供32条I/O引脚,大部分引脚都可作数字和脉冲输入和输出;3个16位定时计数器,对外计脉冲数可使用单片机的P3.4(T0)或P3.5(T1);6个中断源,其中直接提供外部中断处理可使用P3.2(INT0)或P3.1(INT1);2个可编程标准串口,其引脚为P3.0(RXD)和P3.1(TXD);时钟频率可达424MHz;具有睡眠状态,指令系统与8031指令系统完全兼容。除上述技术性能外,还有价格低廉,保密性强,功耗低,应用灵活、方便等优点。故选择AT89S52单片机为本设计的核心是较佳的选择。这种单片机具有足够的空余硬件资源,可以实现其他的扩充功能。在本次设计总方案中,微处理器采用AT89C52单片机2相关端口功能及资料本设计总电路原理图见附录,单片机使用AT89C52,其引脚分布图如图4.6所示。图4.6 AT89C52引脚分布图 AT89C52单片机各引脚功能分布如下: P1.2口接遥控器发射按键; P1.6口用作状态指示,绿灯亮代表学习状态,绿灯灭代表码已读入; P1,7口用作指示遥控键的操作,闪烁代表遥控码正在发射之中; 第9脚为单片机的复位脚,采用RC上电复位电路; 第12脚为单片机中断输入口,用于工作方式的转换控制,当INT0脚为 第14脚用于红外线接收解码器的输出信号输入 第15脚作为遥控码红外调制信号的输出口,输出40KHZ的方波脉冲; 第18、19脚接12M晶振。由于采用最小化应用系统,因此控制线PSEN(片外取指控制)、ALE(地址锁存控制)不用,EA(片外存储器选择)接高电平,使用片内程序存储器。4.4.5时钟电路的设计与计算1元器件选择时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。单片机的定时功能是用片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式:内部时钟方式和外部时钟方式。本设计用的是内部时钟方式。时钟电路原理图如4.7所示。图4.7时钟电路原理图2 元器件选型及参数计算本系统采用内部时钟方式,片内高增益反相放大器通过XTAL1,XTAL2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路过程的一个自激振荡向内部时钟提供振荡时钟。电容的值通常取30pF左右。单片机以晶体振荡器的振荡周期为最小的时序单位,片内的各种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期,一个状态周期包含2个振荡周期,振荡频率二分频后形成机器周期,一个机器周期包含有6个状态周期或者12个振荡周期,1到4个机器周期确定一条指令的执行时间,这个时间便是指令周期。在MCS-51单片机的所有指令中,有些完成的比较快,只需一个机器周期就行,有些完成的比较慢,则需两个机器周期或者四个机器周期才能完成。具体的周期计算是这样的。本设计外接晶振频率为12MHZ,振荡周期为1/12MHZ=0.0833us,状态周期为0.0167us,机器周期为1us,指令周期为1到4us。当单片机工作于计数模式时,它的初值为(计数个数)求补,当工作于定时模式时,它的初值为(定时时间/机器周期)求补,根据不同的工作模式对初值进行装入。4.5操作键电路4.5.1电路选择发射控制电路连接单片机P1.0脚,采用低电平有效的方式进行。当按下按键时P1.0脚低电平有效,系统进入红外遥控器发射状态。学习控制电路连接单片机的中断输入口,即P3.2脚,当学习键闭合时P3.2脚低电平有效,系统产生中断,并进入进入学习状态。操作键电路原理图如图4.8所示图4.8操作键电路原理图4.5.2原器件选型及参数计算发射控制电路由一个按键接地组成。学习控制电路由一个10k的电阻、一只1uF的电容和一只开关(可以是按键)组成。4.6硬件总电路图由以上各电路分析、计算、组合,然后可以得出一个完整的具有设计课题所要求功能的学习型红外线遥控器总电路原理图。本设计的总电路原理图见附录,硬件电路PCB板图见附录5软件设计及编程5.1 软件设计思想及功能框图5.1.1软件设计思想单片机的软件程序设计有其自身的特点。在单片机系统中,硬件与软件紧密结合,由于硬件电路的设计不具有通用性,所以必须根据具体的硬件电路来设计对应的软件,硬件设计的优劣直接影响到软件设计的难易,软件设计的优劣又直接影响到硬件的发挥。在很多时候,软件可以替代硬件的功能,当然,需要付出额外占用CPU时间的代价。本设计软件程序的设计是根据硬件电路图的连接和各个元器件的功能进行设计。在编写软件时,先按硬件电路图设计出软件功能框图,再按软件功能框图细分为各个功能程序模块,并根具各功能模块以及相应的硬件电路图设计出主要的功能程序流程图,最后结合整体框图以及设计出主程序流程图。程序的编写的依据是事前设计的流程图,因此本设计的软件设计过程是:软件功能框图的设计程序流程图的设计原程序的编写5.1.2软件功能框图本设计的软件功能执行过程很简单。当电路接通电源后,复位电路处于高电平状态,单片机开始执行初始化程序,如果有按键闭合,单片机收到按键指令电信号后,通过主程序的按键查询函数判断按键指令类型,如果是学习指令,那么单片机开始执行遥控码读入处理程序,完成系统的学习功能,如果是发射指令,那么单片机开始执行遥控码发射处理程序。当红外信号发射结束后,学习型遥控系统完成一个工作周期,再次计入初始化状态。系统软件功能框图如图5.1所示图5.1系统软件功能框图5.2 软件设计流程框图根据系统软件功能框图可以画出主程序流程图、遥控码读入处理程序流程图和遥控码发射处理程序流程图主程序流程图如图5.2所示;图5.2主程序流程图遥控码读入处理程序流程图如图5.3所示:图5.3遥控码读入处理程序流程图遥控码发射处理程序流程图如图5.4所示 图5.4 遥控码发射处理程序流程图5.3 主程序设计及功能实现5.3.1程序功能说明主程序在完成上电初始化后进行端口按键查询,当确认有按键按下时将编码发出去。主程序流程图如图5.2所示。5.3.2程序源代码main()clearmen(); /初始化 while(1) keywork(); /按键扫描 初始化程序clearmen():主要任务是清除存放脉宽数据单元,关闭学习指示灯及发射指示灯,关闭遥控输出口,将定时器T1设为8位自动重装模式,设置中断等。初始化程序见附录中初始化函数。按键扫描keywork():电路上电后,程序运行到主程序后开始不停的循环执行按键扫描,待有按键按下时跳入中断函数并开始执行相应软件;若按下了学习按键,那么单片机开始接收从红外接收器解码电路产生的二进制代码信息,并存储到数据存取单元中;若按下的是发射键,单片机将会通过红外线发射二极管发射已学习到单片机内的遥控码,在发射遥控码之前需要将遥控码基带信号加载到40kHz的载波上,才能够将已学习的遥控信号发射出去。按键扫描程序见附录中键功能函数。5.4遥控码读入处理程序设计及功能实现5.4.1程序功能说明遥控码的学习处理程序主要是将原遥控器发出的脉冲码宽依次存入内存单元,存放规则为偶数地址(0、2、4、6等)存放高电平脉宽数据,奇数地址(1、3、5等)存放低电平脉宽数据。定义文件中划了206个单元用于存放脉宽数据,符合常用遥控器的最大码长要求。遥控码读入程序流程图如图5.3所示。本程序在编程设计中非常重要,通过大量的、不同中来的遥控码波形实验测试分析,遥控码的帧间歇位宽度均在10ms以上,起始码宽度在100us20ms之间,编码位在100us-3.5ms之间。为确保所有遥控器学习的成功,可采用以下程序实现方法。读起始位方法:由于起始位的码宽范围较大,因此计数单元采用单独的2字节,计数周期约为15us,这样按65536*15us算,最大可存起始位脉宽为983ms。当输入为高电平时,停止起始位计数,进入高电平计数。读遥控码的方法:采用1字节计数单元对吗(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将数据存入规定的地址。在高电平码计数时,当计数值大于255时(宽度大于3.825ms),则判定为结束帧间隔位,在相应存储单元写入数据0xOO作为结束标志。5.4.2程序源代码void intt0(void) interrupt 0 ET1=0;TR1=0;EX0=0;EA=0;head=0;studylamp=1;lamp=0;while(studykey=0); /等待键释放while(remotein=1); /等待遥控码输入head=0; /读入起始位while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();head+;n=0;remdata=0x0000; while(1) while(remotein=1)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata+; if(remdatam) /高电平5毫秒退出 remotedatan=0x00;EX0=1;EA=1;goto end; remotedatan=remdata;n+; /存高电平脉宽数据 remdata=0x0000; /脉宽计数器清零 while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata+; /低电平计数 remotedatan=remdata;n+;remdata=0x00;/存低电平脉宽数据 end: lamp=1;studylamp=0;5.5遥控码发射处理程序设计及功能实现5.4.1程序功能说明发射程序是把已经学习到的红外编码发射出去控制红外设备。首先要找到存放在单片机数据存储单元的红外遥控编码。红外发射程序的思想是通过定时器T1的配合来调制出40 kHz 的红外载波信号,载波信号从P3.5脚送出。利用已经学习到的低电平宽度来确定定时器T1的定时长度。当发送低电平时, 启动定时器T1; 发送高电平时, 停止定时器T1。如此就能发送一个与接收到的红外编码反相并且高电平是经过40 kHz 载波调制过的红外遥控信号, 这个信号就是普通遥控器发送出去用来控制红外设备的信号。如图5.4所示。遥控码发射处理程序图如图3所示。5.3.2程序源代码void time_intt1(void) interrupt 3 remoteout=remoteout;6系统调试及分析6.1 软件调试及结果分析6.1.1 KEIL C51环境KEIL是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。Keil C51软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好。KEIL C51启动界面如图6.1所示:图6.1 KEIL C51启动界面6.1.2 proteus简介Proteus软件是来自英国Labcenter Electronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。 Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。支持许多通用的微控制器, 如PIC、AVR 以及8051。交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘,强大的调试工具,包括寄存器和存储器,断点和单步模式IAR CSPY 和KeiluVision2等开发工具的源层调试。应用特殊模型的DIJIJ界面一提供有关元件库的全部文件。Proteus与其它单片机仿真软件不同的是。它不仅能仿真单片机CPU的工作情况。也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用问脱节的矛盾和现象。Proteus启动界面如图6.2所示:图6.2Proteus启动界面6.1.3 软件调试本设计软件部分是由C语言进行编写的,完成后的代码将通过keil-c进行调试与检查。首先将单片机的晶振时钟进行设置,调到12MHz,保证它与需求的始终频率相吻合。设置如图6.3所示。图6.3 keil-C 中单片机时钟设定经过多次的调试与修改,程序在keil中的编译和创建HEX文件调试如图6.4和图6.5所示。图6.4 keil-C编译调试部分图6.5 keil-c创建hex调试部分软件部分的调试结果证明程序是没有问题的,能生成正确的11.hex的文件,紧接着就是把软件加到单片机中,在Proteus软件的辅助下对硬件电路进行仿真。6.1.4 系统功能仿真a) 打开Proteus软件,进入原理图绘制模块。在keywords中输入需要的元件,如“AT89S52”。b) 在Proteus软件中,画出完整的电路图仿真。电路仿真图如图6.6所示c)在图6.6中,我们可以看到一体化红外接收头被一个时钟波形发生器替换了,而在T1输出口接了一个示波器。由于在Proteus当中没有一体化红外接收头的模型,所以在这里就采用另一种方法进行仿真,由于HS0038在接收红外编码过后,OUT脚输出的是一段高电平与低电平相互交替的方波,所以我们用波形发生器模拟HS0038所输出的信号,其时钟信号输出设置如图6.7。图6.6电路仿真图图6.7时钟信号输出设置图d)设置完模拟时钟发生器后,就是发射端的仿真,在T1口接一个示波器,当按下发射键的时候,应该也会输出一个相应的方波波形,其结果如图6.8所示。6.8发送端的波形图以上叙述内容是学习型红外线遥控器学习和发射的整个仿真过程,其包括KEIL C51的调试和编译,proteus的各种元器件的调用,原理图设计,测试仪器仪表的使用。6.2硬件电路调试及结果分析6.2.1 红外接收电路的测试结果及其分析本设计的硬件电路调试是分步进行的,首先调试的是接收电路,先对HS0038一体化红外接收头进行检测。接通电源,红外接收头输出端接示波器,用电视遥控器做信号源。用示波器分别测出红外接收头输出端波形。HS0038的OUT脚输出的波形如图6.9所示。图6.9 HS0038的OUT脚输出的波形图在验证了HS0038输出正常后,现在对示波器所接收到的信号进行解释,本次调试用的是常见的家电遥控器,测试过遥控各个按键的波形,由于遥控器发射的信号长度比较长,而示波器不能完整的显示整段波形,所以出现了同一按键不同时刻在示波器显示的波形不同。在示波器上显示的波形如图6.10和图6.11所示图6.10示波器接收到的遥控信号1图6.11 示波器接收到的遥控信号2通过对上面两个图的比较,可以发现红外发射的波形是由不规则的高低电平组成的,波形长度较长,所以示波器才无法完整显示其整段波形。接下来是红外接收部分的调试:首先按下学习键,根据程序的设定,这时单片机就会对T0口输入的信号进行循环扫描,主要是对红外遥控码的起始位进行识别,此时学习指示灯(红灯)亮,其效果如图6.12所示。图6.12 学习键按下单片机进入学习状态证实单片机进入学习状态后,用遥控器的发射头对准HS0038红外线接收头,按下任意键,等待单片机学习编码信号,如图6.13所示。图6.13 遥控器对HS0038发射信号此时单片机开始对T0口的输入信号进行读码,首先寻找起始位,然后是读起始位,最后是读遥控编码位;读码结束之后把遥控编码信号储存在单片机中,这时红灯就会熄灭,代表遥控码已经储存完毕,进入发射等待状态,此时发射指示灯(黄灯)亮,效果如图5.12所示。图5.12 学习完毕并进入发射等待状态到此接收部分的调试已经完成,接下来是发射部分的调试。6.2.2红外发射电路的测试结果及其分析红外发射部分的调试过程和红外接收部分的过程大同小异,主要就是检测发射键按下后在单片机输出端的信号,在理论上来说,输出端的信号应该也是一段高低电平交替的波形,这是因为红外的信号是有逻辑0和逻辑1的间隔来实现的,逻辑0是由0.56ms的38KHz载波和0.56ms的无载波间隔组成;逻辑1是由0.56ms的38KHz载波和1.68ms的无载波间隔组成,;结束位是0.56ms的38KHz载波。所以这部分的调试主要就是把输出端口接到示波器上,检测在按下发射键的同时,示波器上显示的波形是否为高低电平交替的方波。在简单的解释了发射部分的调试原理后,就进入红外遥控发射的调试与验证,首先将T1口接到示波器,然后按下发射键,单片机就对已存的遥控信号进行发射,在示波器上显示的波形如图5.13所示。图5.13 发射键按下后T1口输出的波形从图中我们可以看出,示波器接收到的只是遥控信号的一部分,可能是逻辑0,也可能是逻辑1,总体波形和预期的波形相吻合,证明发射端能正常进行红外遥控编码的发射。发射信号时,遥控的发射指示灯(白灯)亮,如图5.14所示。图5.14 发射信号时指示灯亮发射完之后指示灯熄灭。到这里,红外遥控的接收和发射部分调试就结束了,事实证明本设计方案是可行的,学习型红外遥控器能实现对遥控编码信号的接收、储存和发送。7结论及展望7.1 结论本次毕业论文以学习和遥控为核心主要介绍了红外遥控原理及发展方向、学习型红外遥控器的设计思想、设计方案、硬件电路设计、系统软件的设计。本次设计的学习功能思想是复制解码思想。根据复制解码思想本文研究了学习型红外线遥控器接收解码方式,重点是对红外线遥控信号的分析,接收并进行译码,再进行调制还原发射从而达到控制电器的目的。本设计通过理论以及实际设计测试结果验证了学习型红外线遥控器的可行性、实用性和便捷性,达到了设计题目的要求。在具体的设计过程中,硬件电路的模块化设计既方便了各单元电路的性能调试,也使软件程序的设计思想更加清晰,功能程序设计更加简单快捷。不过在具体的设计过程中也出现了一些问题,首先,本次设计是采用keil与STC_ISP_V479软件来完成的。因此对于这两种软件的使用也提出了一定的要求。其次,在硬件电路功能测试过程中,由于实际的单片机开发板与本设计的单片机型号不匹配,导致软件程序烧写困难。还有一些小问题,比如:元器件的缺焊、虚焊,软件程序的编译等。当然这并不影响本次设计的设计结果。实践出真知。本设计通过此次具体的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论