《教学案例设计学习型红外线遥控器设计单片机.doc》由会员分享,可在线阅读,更多相关《教学案例设计学习型红外线遥控器设计单片机.doc(38页珍藏版)》请在三一办公上搜索。
1、本科生课程设计题 目 名 称基于80C52+Proteus仿真的学习型红外线遥控器设计专 业 电气工程及其自动化 班 级 09级电气本科一班 学 生 姓 名 马志垒0612090544(25) 禹涛阳0612090529(22) 雷心剑0612090124(33)刘 元0612090426(38)指 导 教 师 李娜 联 系 方 式 13938793620 2012年6月基于80C52+Proteus仿真的学习型红外线遥控器设计摘要目前,随着人民生活水平的提高,各种家用电器种类增加和无线遥控产品开始大量普及,红外遥控器的使用频率也越来越高,针对国内红外遥控学习技术成熟,但产品化程度相应较低的特
2、点,本文自主设计一种具有红外学习功能的红外遥控器,借此促进红外遥控学习技术在国内市场的产品化推广。如今,带红外遥控的家用电器种类繁多,比如电视、空调、VCD等,有些设备也常配有红外装置,如汽车和摩托车的防盗报警设备、门窗遥控、汽车遥控。但是,由于各种红外遥控编码格式不同,使得各种产品的遥控器并不能兼容,用户在使用过程中容易产生混乱,这给人们的日常生活带来了诸多不便。针对目前市面上已有的学习型遥控器都只能对一些特定的红外遥控编码进行学习的情况,本文介绍了一种基于单片机的学习型遥控器,以C51系列单片机AT89C52为核心,配以一体化红外接收头SM0038、存储器、还原调制与红外发光管驱动电路,通
3、过测量红外遥控信号的脉冲宽度来原封不动地保存红外遥控编码,并直接利用单片机的定时器产生38KHz的载波信号,一体化红外接收头负责红外遥控信号的解调, 将调制在38 kHz上的红外脉冲信号解调并反向后再输入到AT89C52,实现了对各种空调遥控器的自学习功能,而不需要其它电路或芯片来完成,节约了成本。该学习型遥控器能成功地学习、记忆和再现各种红外遥控编码,从而实现了对多个红外遥控装置的统一管理。测试结果表明,本编码压缩方法简化了编码信息,减少了存储空间,可以代替各种遥控器,从而真正实现一器多用的效果。关键词:自学习;红外遥控;单片机控制;红外载频和解码目录前言3第一章单片机课程设计概述41.1
4、单片机课程设计的意义41.2 单片机课程设计的内容、方法和手段41.2.1 Proteus软件简介41.2.2 Keil软件简介7第二章项目要求102.1 C51单片机解码红外遥控器原理102.2 具体设计要求122.2.1 主要功能模块12第三章系统设计143.1 学习型遥控器相关知识143.1.1 学习型遥控器概述143.1.2 学习型遥控器的通信原理153.2 框图设计153.3 知识点18第四章硬件设计194.1 系统硬件电路设计194.2 详细元件清单204.3 控制电路分析214.3.1 控制电路的主要电路单元22第五章软件设计275.1 程序流程图275.2 程序清单27第六章系
5、统仿真及调试286.1 软硬件调试28第七章课程设计总结及体会297.1 课程设计总结297.2 心得体会29参考文献:30附录1:自学习型红外遥控器原理图(基于PROTEUS仿真):31附录1:单片机C源程序:32前言人们在日常生活中总要用到各种各样的红外遥控器。比如说电视机、空调、汽车、DVD、车库防盗门等等,有些工作场所也需要用到各种红外设备,所以要经常更换遥控器,这样会比较麻烦,给人带来很多不便。针对这些情况,市场上已经出现了学习型的红外遥控器,不过,这种遥控器只能针对一些特定的遥控器进行学习,而这次我们所要介绍的这款红外遥控器能够实现对各种红外遥控指令的学习,并且能够见其转发应用起来
6、,从而实现一器多用,给人们避免了一些不必要的麻烦。无线工控类产品学习型遥控器、拷贝型遥控器,学习型遥控器具有学习功能,可以与学习型控制器自动对码,直接使用,不需要编码,省去了配制遥控器的麻烦,买回去自动对码后就可以直接使用。当红外遥控器的某个按键按下时,发射出一组串行二进制遥控编码脉冲。该脉冲由引导码、系统码、功能码和反码组成,通过设置这些编码以及码长便可区分不同的红外遥控器。红外接收器负责红外信号的接收和放大并解调出TTL电平信号送至微处理器进行处理,微处理器通过比较和识别接收来的红外遥控编码便可执行相应的遥控功能。本系统的设计思想是不考虑红外编码方式,仅利用单片机AT89C52对多个红外遥
7、控编码的脉冲宽度进行测量,并原封不动地把发射信号中高、低电平的时间宽度记忆至扩展存储区的指定地址。当要发射红外信号时,从扩展存储区中还原出相应的红外遥控编码,并调制到38kHz的载波信号上,最后,通过三极管放大电路驱动红外发光二极管发射红外信号,达到学习和发射的目的,从而实现一个遥控器控制多种红外遥控设备。学习型遥控器是一款携带多功能并符合现代人追求简约生活理念的新概念产品,它将各种普通遥控器常用按键进行精心提取后并融合为一体,通过独有的智能控制技术,使用户能够同时轻松地操作电视、影碟、录像机、机顶盒、激光唱机以及音响功放等各种视听类家用电器,从而实现了“一器在手,遥控天下”的梦想。第一章 单
8、片机课程设计概述单片机原理与应用课程是一门理论性、实践性很强的专业技术基础课程,单片机课程设计是单片机教学的重要组成部分,是培养单片机系统设计和开发能力的重要教学环节。这一环节对掌握单片机技术在生产实践中的应用,对后续专业课程的学习及应用型、创造性一线工程技术人才的造就将起到积极的促进作用。1.1 单片机课程设计的意义单片机课程设计是以课题或项目设计方式开展的一门课程,具有较强的综合性、实践性,是将单片机原理与应用课程的理论知识转变为应用技术的重要教学环节。这一环不但能加深对单片机原理的理解,而且还能培养学生的时间动手能力,开发学生的创新思维,提高学生的分析、解决问题的能力。1.2 单片机课程
9、设计的内容、方法和手段单片机课程设计的内容主要包括单片机系统电路设计与程序设计。目前设计过程中容易造成原件和仪器仪表的损坏,而借助Proteus和Keil进行单片机系统开发,可以节省设计成本,提高设计速度。1.2.1 Proteus软件简介Proteus软件是一个完整的嵌入式系统软件、硬件设计仿真平台,它包括原理图输入系统ISIS、带扩展的Prospice混合模型仿真器、动态元件库、高级图形分析模块和处理器虚拟系统仿真模型VSM。ISIS是Proteus系统的中心,具有超强的控制原理图设计环境。它是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具
10、软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和
11、DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。1、功能特点Proteus软件具有其它EDA工具软件(例:multisim)的特点。这些基本功能包括:原理布图、PCB自动或人工布线,SPICE电路仿真,仿真处理器及其外围电路,并可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。2、功能模块(1)智能原理图设计(ISIS)丰富的器件库:超过27000种元器件
12、,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。(2)完善的电路仿真功能(Prospice)ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真; 超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方
13、发布的仿真器件;多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入;丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传
14、输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。(3)独特的单片机协同仿真功能(VSM)支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向
15、异步串行通信;实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真;编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。(4)实用的PCB设计平台原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计;先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交
16、换/门交换功能使PCB设计更为合理;完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D 可视化预览;多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。3、资源丰富(1)Proteus可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。(2)Proteus可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论
17、上同一种仪器可以在一个电路中随意的调用。(3)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。(4)Proteus可提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。4、电路仿真在Proteus绘制好原理图后,调入已编译好的目标代码文件(.HEX),可以在Proteus的原理图中看到模拟的实物运行状态和过程。Proteus是单片机课
18、堂教学的先进助手。Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于Proteus提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。随着科技的发展,“
19、计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中Proteus也能茯得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真
20、开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。1.2.2 Keil软件简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即
21、可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半
22、功倍。Keil软件包是一个功能强大的开发平台,它包括项目管理器、CX51编译器、AX51宏汇编器、BL51/LX51链接定位器、PTX51实时操作系统、Simulator软件模拟器及Monitor51硬件目标调试器。它是一种集成化程度高的文件管理编译环境,主要的功能为变异C语言源程序,汇编源程序或混合语言源程序,连接的定位目标文件和库,创建.HEX文件,调试目标程等。Keil是目前最好的51单片机开发工具之一。Keil文件支持模拟仿真(Simulator)和用户目标板调试(Monitor51)两种工作模式。前者不需要任何单片机硬件即可完成用户程序仿真、调试,后者利用硬件目标板中的监控程序可以直
23、接调试目标硬件系统。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。1、系统概述 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。2、Keil C51单片机软件开发系统的整体结构C51工具包的整
24、体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的(.HEX)文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。使用独立的Keil仿真器
25、时,注意事项:(1)仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。(2)仿真器上的复位按钮只复位仿真芯片,不复位目标系统。(3)仿真芯片的31脚()已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的引脚接至低电平)的目标系统中使用。3、优点(1)Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。(2)与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优
26、势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。第二章 项目要求利用单片机作为控制核心,要求可以学习不同遥控器的某个按件功能。使用时先用原遥控器对着学习器按一下某操作键,学习器就可实现原遥控器中该键的遥控功能。学习型红外遥控器在按下K键待绿色指示灯亮后,用遥控器对着红外接收头按下某个功能键,当绿灯灭说明学习完毕,再按发射键就可以进行遥控操作。2.1 C51单片机解码红外遥控器原理电视遥控器使用的是专用集成发射芯片来实现遥控码的发射,通常彩电遥控信号的发射,就是将某个按键所对应的控制指令和系统
27、码(由0和1组成的序列),调制在38KHz的载波上,然后经放大、驱动红外发射管将信号发射出去。不同公司的遥控芯片,采用的遥控码格式也不一样。不同的厂家设计生产的遥控器各不相同,即内部使用的主控芯片不同,因而产生的编码也就不同,这使得遥控器的杰操作变得复杂,但却可以有效地避免遥控器之间的相互干扰。常用遥控器有PPM(脉冲位置调制)和PWM(脉冲宽度调制)两种编码格式。下面以PWM编码的红外线遥控器LC7461(RM-D型号,LC7461为其核心芯片)为例说明电视遥控器的应用,同时以接收到的实际信号波形进行分析。PWM编码是在脉冲宽度不变的情况下,通过改变周期来表示“0”或“1”。例如,电视遥控器
28、LC7461就是利用这种编码格式,一位数据的周期是不固定的,分别为1.125ms和2.25ms,其中以脉宽560s、间隔565s、周期1.125ms表示二进制“0”,以脉宽560s、间隔1685s、周期2.25ms表示二进制“1”。具体波形如图2-1所示。图2-1 PWM波形图LC7461遥控器发射的红外数据编码包括五个部分:引导码、系统识别原码、系统识别反码、数据原码和数据反码,共42为数据组成。引导码由9ms的低电平和4.5ms的高电平组成,系统识别码由13位原码数据和13为反码数据构成,数据码有8位原码数据和8位反码数据构成。具体结构由表2-1所列。用户识别码用于区别不同厂家生产的遥控器
29、,防止不同类型遥控器的相互干扰;8位数据反码用于验证前面接收的原码数据是否正确。例如,按下遥控器上的电源开关键时产生的信号波形如图2-2所示。表2-1 红外数据结构码引导码系统识别原码系统识别反码数据原码数据反码9ms低电平,4.5ms高电平11111000100000000011101111D0 D1 D2 D3 D4 D5 D6 D7 图(a)图(b)图(c)图(d)图(e)图2-2 LC7461电源开关键的信号波形图需要注意的是:当一体化接收头收到38kHz 红外信号时,输出端输出低电平,否则为高电平。所以一体化接收头输出的波形是与发射波形是反向的,如图2-3所示。图(a) 图(b)图2
30、-3 一体化接收头输出的波形2.2 具体设计要求1、适用于编码式红外线遥控型家用电器。2、可遥控多台家用电器。3、具有一个学习/控制复用键。4、可通过一个设备选择键和各个功能控制键实现对多台设备的常用功能的学习和控制。5、成本低,抗干扰能力强。2.2.1 主要功能模块学习型红外线遥控器控制系统主要功能模块包括单片机主控模块、红外接收及发射电路、复位电路、按键及状态指示电路等部分组成。根据具体情况选择合适型号的单片机、一体化红外遥控接收器等硬件设备进行设计。为了实现遥控码的记录还原功能,系统应具有红外线的接收解码、红外线的调制发射、操作按键和功能控制单元。由于功能定位学习一个遥控按键的遥控的功能
31、,因此决定采用AT89C52单片机作为控制器。AT89C52单片机中具有256字节的内存单元,可存储遥控码脉宽的数据。遥控码的脉宽数据可以用红外线接收解码后送单片机读入,发射时由单片机产生38kHz红外调制信号送红外线发管发射。学习型红外遥控器由红外接收电路、单片机控制器、红外发送电路、E2PROM存储器、操作键盘及LED遥控指示灯构成。单片机AT89C52构成红外遥控的处理器,其数据存储器RAM(256B)用来存储学习过程中编码信号的脉冲宽度和编码。1、红外发射电路:38 kHz方波直接由单片机模拟产生,经过三极管放大后,驱动红外发光二极管(注意:40 kHz载波不能用AT89C52定时器产
32、生,因为38 kHz载波信号的周期只有26s,考虑到有载波时的占空比为1/3,即定时器的最小中断时间间隔只有8s,在执行中断时中断处理过程(如保护现场等)实际运行时间,根据中断点的不同需要的时间也不同(有时会大于8s,这样不能保证38 kHz信号的稳定性)在软件处理过程中应用延时程序模仿38 kHz的红外载波信号。2、红外接收头:在与单片机连接时,将接收来的红外遥控信号反相,其正向信号接外部中断0,反相信号接外部中断1。通过记录2个中断间的间隔时间来测量红外遥控信号的高低电平的脉宽值。3、外接E2PROM存储器:用于存放学习到的控制命令的编码和高低电平信号的脉宽值。4、按键盘:启动一个学习过程
33、。5、LED指示灯:用于显示遥控器的工作状态。第三章 系统设计3.1 学习型遥控器相关知识什么是智能学习型万能遥控器?学习型遥控器就是可以克隆别的遥控器的遥控器。它可以将别的遥控器发射出的遥控信号变成自己的信号发射出去。主要特点:适用绝大多数红外控制的电器,但需要代码学习。学习方法:将电器遥控器对准学习型万能遥控器发光/接收头。按电器遥控器上的功能键,然后按学习型万能遥控器上的按键进行记忆。如此一来,使原有的遥控器“复制”到该学习型遥控器上面。3.1.1 学习型遥控器概述学习型遥控器包括微控制器模块、发射接收模块、存储模块、电源模块、信息获取模块和按键装置,发射接收模块、存储模块、电源模块、信
34、息获取模块和按键装置分别与微控制器模块相连,学习系统主要是由发射部分和接收部分组成。发射部分的主要元件为红外发光二极管,它是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出红外线而不是可见光,目前大量使用的红外发光二极管发出的红外线波长为940 nm 左右,外形与普通发光二极管相同,颜色不同。红外发光二极管一般有黑色、深蓝、透明三种颜色。接收部分主要元件是红外接收管,它是一种光敏二极管(实际上是三极管,基极为感光部分),在实际应用中要给红外接收二极管加反向偏压,它才能正常工作,亦即红外接收二极管在电路中应用时是反向运用,这样才能获得较高的灵敏度。红外
35、接收二极管一般有圆形和方形两种,由于红外发光二极管的发射功率一般都较小(100mW左右),所以红外接收二极管接收到的信号比较微弱,因此就要增加高增益放大电路。红外线发射器的工作流程如图3-1所示,当按下某一按键后,遥控器上的控制芯片便进行编码,产生一组句柄,结合载波电路的载波信号(为38kHz)而成为合成信号,经过放大器提升功率而推动红外线发射二极管,将红外线信号发射出去,所要发射的句柄必须加上载波才能使信号传送的距离加长,一般遥控器的有效距离为10m。图3-1 红外线发射器的工作方块图红外线接收的工作方块图如图3-2所示,其主要控制组件为红外线接收模块,其内部含有高频的滤波电路,专门用来滤除
36、红外线合成信号的载波信号(38kHz)而送出发射器的控制信号。当红外线合成信号进入红外线接收模块,在其输出端便可以得到原先的数字控制编码,只要经过单片机译码程序进行译码,便可以得知按下哪一按键,而作出相应的控制处理,完成红外线遥控的动作。图3-2 红外线接收器的工作方块图3.1.2 学习型遥控器的通信原理通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号,通过红外发射管发射红外信号,常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。学习型遥控常用的载波频率为38kHz、这是由发射端编码芯片所使用的455 kH
37、z晶振来决定的,其他的遥控系统采用36kHz、40kHz、56kHz等。现在基本上采用一体化接收头做为信号的接收,把解调出来的信号送入单片机进行学习(记录各个高低电平的时间长度),然后存入E2PROM内,学习完成后再将E2PROM的高低电平的时间数据读取并与38kHz载波进行调制,然后红外发光管发送出去。3.2 框图设计根据系统要求画出基于AT89C52单片机的学习型红外线遥控器的控制框图如图3-3所示。系统主要包括单片机、红外线发射电路、红外线接收电路、复位电路、晶振电路、电源电路、按键电路、学习指示灯,控制指示灯等几部分。图3-3 基于AT89C52单片机的学习型红外线遥控器的设计框图电路
38、的核心芯片是一个AT89C52单片机,主要作用包括译码,控制电路等功能。它是由多种集成电路组合而成,从而达到不同的功能,如图3-4所示。3.2.1 AT89C52的介绍管脚说明VCC:供电电压。GND:接地。图3-4 AT89C52P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出
39、4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能
40、寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写通)P3.7RD(外部数据存储器读通)
41、P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态
42、ALE禁止,置位无效。:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。 /VPP:当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡
43、和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.3 知识点通过学习和查阅相关资料,该项目需要掌握和了解以下知识:1、+5V电源原理及设计2、红外编码协议的学习 3、单片机复位电路工作原理及设计4、单片机晶振电路工作原理及设计5、测试按键电路的设计6、驱动电路的特性及使用7、LED的特性及使用8、AT89C52单片机引脚9、单片机C语言及程序设计10、单片机与PC串口通信。第四章 硬件设计根据系统框图的设计,为了实现遥控码的记录还原功能,系统应具有红外线的接收
44、解码、红外线的调制发射、操作按键和功能控制单元。由于功能定位学习一个遥控按键的遥控的功能,因此决定采用AT89C52单片机作为控制器。AT89C52单片机中具有256字节的内存单元,可存储遥控码脉宽的数据。遥控码的脉宽数据可以用红外线接收解码后送单片机读入,发射时由单片机产生38kHz红外调制信号送红外线发管发射。学习型红外遥控器由红外接收电路、单片机控制器、红外发送电路、E2PROM存储器、操作键盘及LED遥控指示灯构成。单片机AT89C52构成红外遥控的处理器,其数据存储器RAM(256B)用来存储学习过程中编码信号的脉冲宽度和编码。红外发射电路:38kHz方波直接由单片机模拟产生,经过三
45、极管放大后,驱动红外发光二极管(注意:38 kHz载波不能用AT89C52定时器产生,因为38 kHz载波信号的周期只有26s,考虑到有载波时的占空比为1/3,即定时器的最小中断时间间隔只有8s,在执行中断时中断处理过程(如保护现场等)实际运行时间根据中断点的不同需要的时间也不同,有时会大于8s,这样不能保证38kHz信号的稳定性),在软件处理过程中应用延时程序模仿38kHz的红外载波信号。红外接收头:在与单片机连接时,将接收来的红外遥控信号反相,其正向信号接外部中断0,反相信号接外部中断1。通过记录2个中断间的间隔时间来测量红外遥控信号的高低电平的脉宽值。外接E2PROM存储器:用于存放学习
46、到的控制命令的编码和高低电平信号的脉宽值。按键盘:启动一个学习过程。LED指示灯:用于显示遥控器的工作状态。4.1 系统硬件电路设计为该学习型遥控器的原理图,其中:P1.1口接遥控码发射按键。P1.6口用作状态指示,绿灯亮代表学习状态,绿灯灭代表码已读入。P1.7口用于指示控制键的操作,闪烁时代表遥控码正在发射之中,在学习状态,绿灯灭代表码已读入。第9脚为单片机的复位脚RST,采用简单的RC上电复位电路,第12脚为中断输入口,用于工作方式的转换控制,当脚为低电平时,系统进入学习状态。因为从P3.5口输出地为高电压,而三极管9013不能承受此电压,所以接了一个阻值较大的电阻来分压。(如图4-2所
47、示)第14脚用于红外线接收头的输出信号输入。第15脚作为红外遥控码的输出口,用于输出38KHz的遥控载波编码。第18、19端口XTAL2和XTAL1接12MHz晶振。由于采用最小化应用系统,控制线(片外取指控制)、ALE(地址锁存控制)不用,(片外存储器选择)接高电平,使用片内程序存储器。红外线接收器使用市场上用于电视机的三端一体化红外接收解调器。晶体三极管主要用于放大电路中起放大作用,本设计采用的是一个NPN型三极管9013系列,为得到更大的放大倍数,采用类似共射极接法。红外线发射二极管采用普通遥控器中使的器件。4.2 详细元件清单表4-1 元件清单仪器名称型号数量/个用途单片机AT89C521控制核心电路电阻(10k)10k13复位电