单片机红外遥控七彩蝴蝶_第1页
单片机红外遥控七彩蝴蝶_第2页
单片机红外遥控七彩蝴蝶_第3页
单片机红外遥控七彩蝴蝶_第4页
单片机红外遥控七彩蝴蝶_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机遥控七彩蝴蝶 吉林工程技术师范学院 曲雪 吉 林 大 学吉林工程技术师范学院毕业设计(论文)曲雪2012 年 6 月单片机遥控七彩蝴蝶SCM Remote Colorful Butterfly 专 业:电气工程及其自动化姓 名:曲雪班 级:电自0841学 号:10号指导教师:刘君义 职 称:教授 中文摘要摘 要随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系

2、统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。本设计主要应用了AT89C2051单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点。遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作。遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程。其优点硬件电路简单,软件功能完善,性价比较高等特点,具有一定的使用和参考价值。关键词:单片机,红外遥控,中断,定时,计数,频率I目录AbstractWith the development of our society and the gradual improve

3、ment of science and technology, various kinds of help remote control systems have begun to enter peoples life. The traditional remote controllers adopt special remote control code and decode integrated circuits, though this kind of method is simply and easily, it is only the practical application of

4、 some certain special electric equipments because of the counted functional keys is counted and the restricted function, so the range of application is limited. But the remote controllers which adopt the microprocessors have many advantages such as flexible operating and unceremonious manipulative k

5、eys.The design has used AT89C2051 microprocessor as core, interactively apply the interruptive system, timer, counter, etc. mainly to design originally and also take the advantage of the infrared light. The remote control launcher distinguishes different operation through the control on frequency of

6、 infrared emission of light. The remote control receiver judges control operation by adopting the discerned frequency of the received infrared light to finish the whole launching and receiving course.Its advantage is that the hardware circuit is simple, the software is with perfect function, have ce

7、rtain use and reference valueKeywords: Microprocessor, Infrared remote control,Interrupt,Timing,Counting,frequency目录第1章 课题设计目的及意义1第2章 红外技术概述32.1红外概述3选择红外遥控的原因32.2红外遥控系统简介4红外遥控的现状4红外的简单发射接收原理5第3章 系统设计方案论证63.1设计目的与原理6单片机红外遥控发射器设计原理6单片机红外遥控接收器设计原理63.2红外编码方案73.3键盘设计方案7第4章 硬件电路设计94.1 AT89C2051单片机的介绍9简介9引

8、脚介绍9主要功能特性94.2定时器/计数器10主要特性10定时/计数器0和1的控制和状态寄存器10和T1的4种工作方式134.3独立式按键结构134.4低功耗控制电路14低功耗的实现方法14掉电保护和低功耗的设计144.5 电源电路设计17稳压电路17直流稳压电源的设计184.6 CPU时钟电路184.7 复位电路19复位状态19复位电路194.8 红外发射电路的设计20二进制编码20二进制信号解调21二进制的解调21二进制信号的解码214.9 红外接收电路的设计214.10完整的系统电路设计图21第5章 系统软件设计235.1遥控发射器程序设计23程序总体结构23伪指令和初23键盘扫描程序2

9、6中断服务程序275.2 遥控接收器程序设计28程序总体结构28初始化程序30计数值比较程序31定时器1中断服务程序31第6章 系统调试336.1按键抖动问题336.2调试34调试前不加电源的检查34静态检测与调试34附录135参考文献44致谢45i吉林工程技术师范学院毕业论文第1章 课题设计目的及意义随着科技的发展,人们生活的节奏也越来越快,随之人们对方便、快捷的要求也随之不断增高。遥控器的出现,在一定程度上满足了人们这个要求,遥控器是由高产的发明家Robert Adler五十年代发明。而红外遥控是20世纪70年代才开始发展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,实现对控制

10、对象的远距离控制,具体来讲,就是有发射器发出红外线指令信号,有接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远程控制。红外遥控具有独立性、物理特性与可见光相似性、无穿透障碍物的能力及较强的隐蔽性等特点。随着红外遥控技术的开发和迅速发展,很多电器都应用了红外遥控,而彩灯也不例外。从单纯的面板上通过按钮控制,到短距离(10M以内)的遥控,虽然改变不大,但其带来的便利无疑是巨大的。而红外遥控技术的成熟,也使得遥控彩灯变得设计简单,价格低廉。无论采用何种方式,准确无误地传输信号,最终达到满意的控制效果是非常重要的。最初的无线遥控装置采用的是电磁波传输信号,由于电磁波容易产生干扰,也易受

11、干扰,因此逐渐采用超声波和红外线媒介来传输信号。与红外线相比,超声传感器频带窄,所能携带的信息量少,易受干扰而引起误动作。较为理想的是光控方式,并且成为当今时代的主流。由于红外线在频谱上位于可见光之外,所以抗干扰性强,具有光波的直线传播特性,不易产生相互间的干扰,是很好的信息传输媒体。信息可以直接对红外光进行调制传输,例如信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进行调制,取到信息。从信息的可靠的传输来说,后一种方法更好,这就是目前大多数红外遥控器所采用的方法。红外遥控技术在这十年来得到了迅猛发展,在家电和其他电子领域都得到了广泛应用。随着生活水平的提高

12、,人们对产品的追求是使用更方便、更智能化,红外遥控技术正是一个重要的发展方向。市场前景红外遥控是目前家用电器中用得较多的遥控方式、在数字投影机、DVD、VCD、录像机、电视机、车载影音导航系统等被广泛的应用。由于红外遥控不影响周边环境、不干扰其他电器设备,其无法穿透墙壁,不同的房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。近年来随着生活水平的提高,人们更加注重生活质量,更乐意去享受方便快捷的生活方式,而红外遥控器恰恰具有使用方便、操作简单、价格低廉等特点,可以给人们的生活带来了极大方便而受到广

13、大人们的欢迎。因为有着广泛的应用,因此其发展前景可观。49第2章 红外技术概述2.1红外概述红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um1000um。根据波长的不同可分为可见光和不可见光,波长为0.38um0.76um的光波为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。光波为0.01um0.38um的光波为紫外光(线),波长为0.76um1000um的光波为红外光(线)。红外光按波长范围分为近红外、中红外、远红外、极红外4类。红外是频率低于红色光的不可见光,它的无线光谱的整个频率中占有很小一个频率段,波长为0.75100微秒之间,其中0.753微秒之间的红外光称为近红外

14、,330微秒之间的红外光称为中红外,30100微秒之间的称为远红外。红外线遥控是利用近红外光传送遥控指令的,波长为0.76um1.5um。红外光就其性质而言很简单,与普通光线的频率特性没有很大的区别。由于任何有热量的物体均有能量产生,所以红外的利用非常广泛,而且不可取代,能否检测红外、能测到多少红外或者红外检测的技术是否可以应用于任何自然的或想象的场合是红外应用技术的关键。用近红外作为遥控光源,是因为目前红外发射器件与红外接收器件的发光与受光峰值波长一般为0.8um0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。当今红外技术的一个重要分

15、支是红外通信技术的应用,这个应用的发展非常迅速,尤其是红外通信应用于计算机设备中,近几年的发展已经表现出其非常成熟的特性。选择红外遥控的原因无线遥控方式可分为无线电波式、声控式、超声波式和红外线式。由于无线电容易对其它电视机和无线电通讯设备造成干扰,而且,系统本身的抗干扰性能也很差,误动作多,所以未能大量使用。超声波式频带较窄,易受噪声干扰,系统抗干扰能力差以及声控式识别正确率低,难度大而未能大量采用。红外遥控方式是以红外线作为载体来传送控制信息的,同时随着电子技术的发展,单片机的出现,催生了数字编码方式的红外遥控系统的快速发展。另外,红外遥控具有很多的优点,例如红外线发射装置采用红外发光二极

16、管,遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。所以现在很多无线遥控方式都采用红外遥控方式。2.2红外遥控系统简介红外遥控系统主要由遥控发射器、一体化接收头、单片机、接口电路组成。遥控器用来产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,遥控器的接收端完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制码,对于一般的红外遥控系统,此串行码输入到微控制器,由其内部CPU完成

17、对遥控指令解码,并执行相应的遥控功能。使用遥控器作为控制系统的输入,需要解决如下几个关键问题:如何接收红外遥控信号;如何识别红外遥控信号以及解码软件的设计、控制程序的设计。红外遥控的现状目前家电中用的最多的遥控方式是红外遥控,红外遥控的特点是不影响周边环境的、不干扰其他电器设备。价格低廉,编码简单,近距离的遥控使用红外遥控非常有优势。由于红外一体化接收头的出现,大大降低了红外遥控的成本和技术难度,目前不仅在家电领域,在玩具、安防等领域也有广泛的应用。红外遥控系统主要由红外遥控发射装置、红外接收设备、遥控微处理机等组成。因此,遥控系统涉及单片机的数字系统。目前国内红外遥控电子元器件的竞争很激烈,

18、导致了价格的低廉,表面上有利于消费者,可是长期恶性竞争,互相压价格,必将导致产品质量的下降,最终损害的只能是消费者。红外遥控的前景依然看好,不过红外遥控的现状不容乐观。红外遥控是单工的红外通信方式,整个通信中,需要一个发射端和一个接收端。发送端用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。红外接收端,普遍采用价格便宜,性能可靠的一体化红外接收头接收红外信号,它同时对信号进行放大、检波、整形,得到TTL电平的编码信号,再送给单片机,经单片机解码并控制相关对象。图2-1遥控器原理红外的简单发射接收原理在发射端,输入信号经放大后送入红外发射管发射,在接收端,收

19、到红外信号后,由放大器放大处理后还原成信号,这就是红外的简单发射接收原理。第3章 系统设计方案论证3.1设计目的与原理目前市场上一般采用的遥控编码及解码集成电路。此方案具有制作简单、容易等特点,但由于功能键数及功能受到特定的限制,只适合用某一专用电器产品的应用,应用范围受到限制。而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优点。本单片机遥控应用系统采用红外线发射频率的不同,来识别不同的遥控功能。当我们按下某一个按键的时候,由单片机识别出该按键后,由CPU向接有红外发射管的端口发射一定频率的脉冲,该脉冲与38KHz左右的载波脉冲进行调制,然后将已调制的脉冲进行缓冲

20、放大,激励红外发光二极管将电能转化为光能,使得红外发光二极管发射出一定频率的红外线,当接收控制系统接收到该红外光后,由单片机内定时/计数器得到该红外光的频率,然后将该频率送往CPU,由CPU对该信号进行反编码,识别出控制信号,从而对控制电路实施控制功能。完成整个遥控功能。单片机红外遥控发射器设计原理单片机红外遥控发射器主要有单片机、独立式键盘、低功耗空闲方式控制电路、红外发光二极管发射电路以及单片机的一些电源、复位、振荡电路组成。单片机不工作时一直处于低功耗状态,采用了空闲节电工作方式。当遥控器的某一按键被按下以后,外部中断1产生中断,唤醒单片机进入工作状态,查询键盘按下的是哪一个按键,当确认

21、按键后,控制软件启动定时器T0、T1,T1作为发射时间控制器,T0作为红外线发射频率控制器,T0定时溢出时中断程序使红外发光二极管接口电平反转一次,写入定时器的初值不同,在输出端口就得到不同的发射频率。T1定时溢出时中断程序关闭,关闭T0定时器,停止红外线发射。单片机红外遥控接收器设计原理单片机红外遥控接收器主要有单片机、红外遥控接收电路、控制电路以及单片机的一些外围电路组成。利用单片机中的T0作为红外脉冲计数器,T1作为计数时间控制器。当电路中红外接收管接收到第一个红外脉冲时,外部中断1被触发,启动计数器T0和定时器T1。定时溢出,中断程序关闭计数器T0,读入计数值并进行判断,确定操作对象(

22、遥控按键)对其进行反转操作,控制电路对所控制的负载进行开或关。还可对接收电路实行上锁功能,对控制电路上锁后,遥控器不能对控制电路实施遥控功能。3.2红外编码方案红外编码有很多种方式,下面列举两种实现方案:方案一:脉宽调制的串行码。这种遥控编码具有以下特征: 以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。其相关的波形图如图3-1所示:图3-1串行码编码方案二:码分制。采用脉冲个数编码,不同的脉冲个数代表不同的被控对象,最小为2个脉冲。为了使接收可靠,第一位码的宽为3m

23、s,其余为1ms,遥控码数据帧间隔大于10ms,如图3-2所示:本设计采用方案二,码分制的编码编程简单,在按键较少的情况下优势明显。3.3键盘设计方案 单片机系统所用的键盘有编码键盘和非编码键盘两种。1.编码键盘本身除了按键之外,还包括产生键码的硬件电路。只要按下编码键盘的某一个键,它就能产生这个键的代码,并称为键码,与此同时还产生一个脉冲信号,以通知CPU接收键码,编码键盘的优点是使用比较方便,亦不需要编写太复杂的程序。其缺点是使用的硬件较复杂。2.非编码键盘的按键是排列成行、列矩阵形式的。按键的作用只是简单地实现接点的接通或断开,因此必须有一套相应的程序与之配合,才能产生相应的键码,非编码

24、键盘几乎不需要附加什么硬件电路。因此为了简洁电路,我使用非编码键盘。但使用非编码键盘需要通过软件来解决按键的识别、防抖动以及如何产生键码的问题。基于键数少的原因我采用独立式键盘接口与单片机相连接,因为它占用的I/O口不多。图中每个按键占用一个口,彼此独立,互不影响。上拉电阻保证按键没被按下时,I/O口输入高电平。独立式键盘可工作在查询方式下,通过I/O口读入键状态,当有键被按下时I/O口变为低电平,而未被按下的键对应为高电平,这样通过读电平状态可判断是否有键按下和哪个键被按下。电器0的遥控输出码电器1的遥控输出码图3-2码分制编码波形图第4章 硬件电路设计4.1 AT89C2051单片机的介绍

25、4.1.1简介AT89C2051是一个低电压,高性能CMOS、8位单片机。片内含有2KB可反复擦写的只读存储器(EPROM)和128B的随机存取存储器(RAM),器件采用ATMEL的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储器,功能强大。AT89C2051只有20个双向输入/输出(I/O)端口,其中P1是完整的8位双向I/O口,两个外中断,2个16位可编程定时/计数器,两个全双向串行通信口,一个模拟比较放大器此外,AT89C2051的时钟频率可为零,即具备可用软件设置睡眠、省电功能,系统的唤醒方式有RAM、定时/计数器、串行口和外中断口

26、,系统唤醒后即进入工作状态,省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件系统复位方可继续工作。4.1.2引脚介绍1.VCC:接+5V电源正端;2.GND:接+5V电源地端;3.P1.0P1.7:完整的双向串行通信接口,P1.0与P1.1还有第二种功能; 4.P3.0P3.7:除P3.6外,双向I/O口,除P3.7外,均有第二功能,第二功能与MCS-51系列单片机基本相同;5.XTAL1:震荡器反向放大器内部工作时钟输入端;6.XTAL2:震荡器反向放大器的输出端;7.RST:复位引脚,震荡器工作时,该引脚上两个机器周期的高电平复位。主要功能特性1.兼容MCS5

27、1指令系统;2.15个双向I/O口;3.两个16位可编成定时/计数器;4.时钟频率024MHz;5.两个外部中断源;6.可直接驱动LED;7.低功耗睡眠功能;8.可编程URRL通道;9.2KB可反复擦写Flash ROM;10.6个中断源;11.2.76.0V宽工作电压范围;12.1288位内部RAM;13.两个串行中断;14.两级加密位;15.内置一个模拟比较放大器;16.软件设置睡眠和唤醒功能。4.2定时器/计数器4.2.1主要特性1.AT89C2051单片机有两个可编程的定时器/计数器定时器/计数器0与定时器/计数器1,可有程序选择作为定时器用或作为计数器用,定时或记数值也可由程序设定。

28、2.每一个定时器/计数器具有4种工作方式,可用程序选择。3.任何一个定时器/计数器在定时时间到或记数值到时,可有程序安排产生中断请求信号或不产生中断请求信号。4.2.2定时/计数器0和1的控制和状态寄存器特殊功能寄存器TMOD和TCON分别是定时/计数器0和1的控制和状态寄存器,用于控制和确定各定时/计数器的功能和工作模式。1.模式控制寄存器TMODTMOD用于控制T0和T1的工作方式和4种工作模式。其中低4位用于控制T0,高4位用于控制T1。其格式如下:GATE C/T非 M1 M0GATEC/T非M1 M0(1)GATE位:门控位。当GATE=1时,只有INTO非或INT1非引脚为高电平且

29、TR0或TR1置1时,相应的定时/计数器才被选通工作;当GATE=0,则只要TR0和TR1置1,定时/计数器就被选通,而不管INT0非或INT1非的电平是高还是低。(2)C/T非位:计数/定时功能选择位。C/T非=0,设置为定时器方式,计数器的输入是内部时钟脉冲,其周期等于机器周期。C/T非=1,设置为计数器方式,计数器的输入来自T0(P3.4)或T1(P3.5)端的外部脉冲。M1、M0位:工作模式选择位。2位可形成4中编码,对应4种工作模式:表4-1工作方式选择M1 M0功能描述00 方式0:13位定时器/计数器 01方式1:16位定时器/计数器 10方式2:具有自动重装初值的8位定时器/计

30、数器 11方式3:定时/计数器0分为两个8位定时/计数器,定时/计数器1在此方式无实用意义2.控制寄存器TCONTCON用来控制T0和T1的启、停,并给出相应的控制状态,高4位用于控制定时器0、1的运行;低4位用于控制外部中断。格式如下:TF1 TR1 TF0 TR0 IE1IT1IE0 IT0(1)TF1:定时器1溢出标志。当定时器1溢出时,由硬件置1。使用查询方式时,此位为状态位供查询,查询有效后需由软件清零;使用中断方式时,此位做中断申请标志,进入中断服务后被硬件自动清零。(2)TR1位:定时器1运行控制位。该位靠软件置位或清零,置位时,定时/计数器接通工作,清零时,停止工作。(3)TF

31、0位:定时器溢出标志位,其功能和操作情况类同于TF1。(4)TR0位:定时器0运行控制位,其功能和操作类同于TR1。(5)IE位:外部中断请求标志位。当CPU采样到INT0非(或INT1非)端出现有效中断请求时,IE0(或IE1)由硬件置1,中断响应完成后转向中断服务时,再由硬件自动清零。(6)IT位:外部中断请求出发方式位。IT0(IT1)=1为脉冲触发方式,后负跳有效。IT0(IT1)=0为电平触发方式,低电平有效。3.定时/计数器的初始化AT89C2051单片机的定时/计数器是可编程的,因此,在进行定时或计数之前也要用程序进行初始化。初始化一般应包括以下几个步骤:(1)对TMOD寄存器赋

32、值,以确定定时器的工作模式;(2)置定时/计数器初值,直接将初值写入寄存器的TH0,TL0或TH1,TL1;(3)根据需要,对寄存器IE置初值,开放定时器中断;(4)对TCON寄存器中的TR0或TR1置位,启动定时/计数器,置位以后,计数器即按规定的工作模式和初值进行计数或开始定时。 在初始化过程中,要置入定时/计数器的初值,这时要做一些计算。由于计数器是加法计数,并在溢出时申请中断,因此不能直接输入所需的计数值,而是要从计数最大值倒退回去一个计数值才是应置入的初值。设计数器的最大值为M(在不同的工作模式中,M可以为8192,65536,256),则置入的初值可以这样来计算。计数方式时 X=M

33、记数值 (4-1)定时方式时 (MX)T=定时值 (4-2)所以 X=M定时值/T (4-3)式中,T为计数周期,是单片机的机器周。4.2.3 T0和T1的4种工作方式1.方式0:13位定时/计数器,TL1(或TL0)的低5位和TH1(或TH0)的8位构成,TL中的高3位弃之未用。当TL的低5位记数溢出时,向TH进位,而全部13位计数器溢出时使计数器回零,并使溢出标志TF置1,向CPU发出中断请求。2.方式1:16位定时/计数器,其逻辑电路和工作情况与方式0几乎完全相同,唯一的差别就是方式1中TL的高3位也参与了计数。3.方式2:把TL配置成一个可以自动重装载的8位定时/计数器。4.方式3:仅

34、对T0有意义,将16位定时/计数器分成两个互相独立的8位定时/计数器TL和TH。4.3独立式按键结构独立式按键是指直接用I/O线构成的单个按键电路,每个独立式按键占有一根I/O口线,每根I/O口线上的按键的工作状态不会影响其他I/O口线的工作状态,其结构简单,但I/O口线浪费较大。独立式按键配置灵活,软件结构简单,上拉电阻保证了按键断开时,I/O口线有确定的高电平,其电路原理图如下:图4-1独立式按键电路4.4低功耗控制电路4.4.1低功耗的实现方法 AT89C2051单片机的CPU有两种节电工作方式即空闲方式和掉电方式,遥控器采用了空闲节电方式。当CPU执行完IDL=1(PCON.0=1)指

35、令后,系统进入空闲工作方式 ,这时内部时钟不向CPU提供,而只供给中断、串行口、定时器部分。遥控器退出低功耗空闲方式电路由与门来实现。当有键按下时,由与门触发外部中断1发生中断,单片机退出空闲工作方式,进入键盘和红外发射程序,结束后又进入低功耗空闲方式待机。使用过程中单片机基本上都处于空闲工作方式,功耗相当低,从而为使用电池电源提供保障。4.4.2 掉电保护和低功耗的设计1.掉电保护在单片机工作时,供电电源如果发生停电或瞬间停电,将会使单片机停止工作。待电源恢复时,单片机重新进入复位状态,停电前RAM中的数据全部丢失,这种现象对于一些重要的单片机应用系统是不允许的。在这种情况下,需要进行掉电保

36、护处理。掉电保护具体操作过程如下。单片机应用系统的电压检测电路检测到电源电压下降时,触发外部中断(INT0或INT1),在中断服务子程序中将外部RAM中的有用数据送入内部RAM保存。因单片机电源入口的滤波电容的储能作用,可以有足够的时间来完成中断操作。备用电源自切换电路属于单片机内部电路。它由两个二极管组成,当电源电压高于VPD引脚的备用电源电压时,VD1导通,VD2截止,单片机由电源供电;当电源电压降到比备用电源电压低时,二极管VD1截止,VD2导通,单片机由备用电源供电。备用电源只为单片机内部RAM和专用寄存器提供维持电流,这时单片机外部的全部电路因停电而停止工作,时钟电路也停止工作,CP

37、U因无时钟也不工作。当电源恢复时,备用电源还会继续供电一段时间,大约10ms,以确保外部电路达到稳定状态。在结束掉电保护状态时,首要的工作是将被保护的数据从内部RAM中恢复过来。当用户检测到一个掉电保护电路时,立即通过外部中断输入线INT0来中断单片机现行操作。外部中断0服务程序将有关数据信息送入片内RAM保存,然后向P1.0写入0,P1.0输出的这个低电平触发单稳态电路MC755。它输出的脉宽取决于R、C的数值及VCC是否以掉电。如果当单稳态定时输出后,若VCC仍然存在,这是一个假掉电报警,并从复位开始重新操作;若VCC已掉电,则断电期间由单稳态电路给RESET/VPD供电,维持片内RAM处

38、于“饿电流”供电状态保存信息,一直维持到VCC恢复为止。80C51的掉电保护过程则不同。当电压检测电路检测到电源电压降低时,也触发外部中断,在中断服务子程序中,除了要将外部RAM中的有用数据保存以外,还要将特殊功能寄存器的有用内容保护起来,然后对电源控制寄存器PCON进行设置。PCON寄存器的各位定义如下:D7 D6 D5 D4 D3 D2 D1 D0SMODGF1GF0PDIDL其中,SMOD是波特率倍增位,在串行通信中使用。GF1、GF0:通用标志,由软件置位、复位。PD:掉电方式控制位,PD=1,则进入掉电方式。IDL:待机方式控制位,IDL=1,则进入待机方式。由软件将PD置1,就可以

39、使单片机进入掉电保护状态。这时,单片机的一切工作都停止,只有内部RAM和专用寄存器的内容被保存。掉电保护时的备用电源是通过VCC引脚接入的。当电源恢复正常后,系统要维持10ms的恢复时间后才能退出掉电保护状态,复位操作将重新定义专用寄存器,但内部RAM的内容不变,可将被保护的内容恢复。图4-2掉电保护电路2.低功耗设计在很多情况下,单片机要工作在供电困难的场合,如野外、井下和空中,对于便携式仪器要求用电池供电,这时都希望单片机应用系统能供耗运行。CMOS工艺制造的80C31/80C51/87C51型单片机提供了空闲工作方式。空闲工作方式(通常也指待机工作方式)是指CPU在不需要执行程序时停止工

40、作,以取代不停的执行空操作或原地踏步等待操作,达到减小功耗的目的。空闲工作方式是通过设置电源控制寄存器PCON中的IDL位来实现的。 IDL位置1,系统进入空闲工作方式。这时,送往CPU的时钟被封锁,CPU停止工作,但中断控制电路、定时/计数器和串行接口继续工作,CPU内部状态如堆栈指针SP、程序计数器PC、程序状态寄存器PSW、累加器ACC及其他寄存器的状态被完全保留下来。在空闲工作方式下,80C51消耗的电流由正常的24mA将为3mA。(1)单片机退出空闲状态有如下两种方法。第一种是中断退出。由于空闲方式下,中断系统还在工作,所以任何中断的响应都可以使IDL位由硬件清零,而退出空闲方式下,

41、单片机就进入中断服务程序。第二种是硬件复位退出。复位时,各个专用寄存器都恢复默认状态,电源控制寄存器PCON也不例外,复位使IDL清零,退出空闲工作方式。MCS51的掉电保护也是一种节电工作方式,它和空闲工作方式一起构成了低功耗工作方式。一旦用户检测到掉电发生,在VCC下降之前写一个字节到PCON,使PD=1,单片机进入掉电方式。在这种方式下,片内震荡器被封锁,一切功能都停止,只有片内RAM00H7FH单元的内容被保留。在掉电方式下,VCC可降至2V,使片内RAM处于50微安左右的“饿电流”供电状态,以最小的耗电保存信息,VCC恢复正常之前,不可进行复位;当VCC正常后,硬件复位10ms即能使

42、单片机退出掉电方式。在该电路中,退出空闲工作方式采用中断的方法。当遥控键盘上的人任一个按键按下以后,与门输出即为低电平,触发INT1引脚,外部中断1响应,使IDL位清零,退出空闲工作方式,恢复正常状态。其硬件电路如下。图4-3低功耗控制电路4.5 电源电路设计4.5.1 稳压电路典型应用电路如图4-4所示。图中C5用于频率补偿,防止自激振荡和抑制高频干扰;C6采用电解电容,以减少电源引入的低频干扰对输出电压的影响;D4是保护二极管,当输入端短路时,给C4一个放电的通路,防止C4激穿。图4-3稳压电路4.5.2 直流稳压电源的设计直流稳压电源的主要由电源变压器、整流电路、滤波电路和稳压电路四部分

43、组成。框图如图4-4所示。图4-4 直流稳压电源4.6 CPU时钟电路 时钟电路用于产生单片机工作所需要的时钟信号。时钟信号可以有两种方式产生:内部时钟方式和外部时钟方式。1.内部时钟方式2051单片机有一个高增益反向放大器,用于构成振荡器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟发生器,见下图,外接晶振时,C1、C2值通常选择为30pF左右;外接陶瓷振荡器时,C1、C2约为47pF。C1、C2对频率有微调作用,震荡频率范围是1.212MHz。为了减少寄生电容,更好的保证振

44、荡器稳定可靠的工作,谐振器和电容应尽可能安装的与单片机芯片靠近。内部时钟发生器实质上是一个二分频的触发器,其输出信号是单片机工作所需的时钟信号。2.外部时钟方式 外部时钟方式是采用外部振荡器,外部振荡信号由XTAL2端接入后直接送至内部时钟发生器。输入端XTAL1应接地,由于XTAL2端的逻辑电平不是TTL的,故建议外接一个上拉电阻。 一般情况下,单片机时钟输入均采用内部时钟方式,外接一个震荡电路,本系统采用内部时钟方式,晶体振荡采用12MHz,其电路如下。图4-5 AT89C2051时钟电路4.7 复位电路4.7.1复位状态计算机在启动时,系统进入复位状态。在复位状态,CPU和系统都处于一个

45、确定的初始状态或成为原始状态,在这种状态下,所有的专用寄存器都赋予默认值。其复位状态见下表4-2: 复位电路 单片机复位电路包括片内、片外两部分,片外复位电路通过引脚加到内部复位电路上,内部复位电路在每个机器周期S5P2对片外信号采样一次,当RST引脚上出现连续两个机器周期的高电平时,单片机就完成一次复位。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的,AT89C2051通常采用上电自动复位和按键手动复位两种方式。 上电复位电路在通电瞬间,在RC电路充电过程中,RST端出现正脉冲,从而使单片机复位。按键手动复位又分为按键电平复位和按键脉冲复位,按键电平复位是将复位端通过电阻

46、与VCC相连,按键脉冲复位是利用RC微分电路产生正脉冲来达到复位的目的。 本系统设计时采用的是上电复位方式。表4-2复位状态各寄存器初值专用寄存器 复位状态 专用寄存器 复位状态PCACC BPSW SPDPTRP0P3 IPIE 0000H00H00H00H07H0000HFFH XXX0 0000B 0XX0 0000B TMOD TCONTH0TL0TH1TL1 SCON SBUF PCON00H00H00H00H00H00H00H XXXX XXXXB 0XXX 0000B4.8 红外发射电路的设计根据红外发射管本身的物理特性,必须要有载波信号与即将发射的信号相“与”,然后将相“与”后

47、的信号送发射管,才能进行红外信号的发射传送,而在频率为38KHz的载波信号下,发射管的性能最好,发射距离最远,所以在硬件设计上,本设计采用38KHz的晶体振荡产生载波信号,与发射信号进行逻辑“与”运算后,通过三极管的功率驱动到红外发光二极管上。红外发送电路由4001MOS或非门38KHz振荡器,单片机发送控制电路和红外发送管驱动输出电路组成,当单片机P3.4口输出为“0”时,发射管不发光,当单片机P3.4口输出为“1”时,红外发送管发出38KHz调制红外线。 二进制编码采用不同的脉宽宽度来实现二进制信号的编码,发送单片机来完成。表示二进制信号中的高高电平1,其特征是脉冲中低电平与高电平的宽度均

48、等于0. 26ms,相当于10个26us的宽度;表示二进制信号的低电平0,其特性是脉冲高电平的2倍,相当于20个0.26us的宽度。10个和20个脉冲宽度还可适当调整,来适应不同数据传输速度的需要。二进制信号解调二进制信号的调制由发送单片机来完成,它把编码后的二进制信号调制成频率为38KHz 的间断脉冲串,相当于用二进制信号的编码乘以频率为38KHz的脉冲信号得到的间断脉冲串,即是调制后用于红外发射二极管发送的信号。A是二进制信号的编码波形,B是频率为38KHz(周期为26us)的连续脉冲串,C是经调制后的间断脉冲串,用于红外发射二极管发送的波形。4.8.3二进制的解调二进制信号的解调由一体化

49、红外接收头HS0038来完成,它把收到的红外信号经内部处理并解调复原。HS0038的解调可理解为在输入有脉冲串时,输出端输出低电平,否则输出高电平。一体化红外接收头HS0038 的外部结构,1脚GND接电源地,2脚VCC接+5V,3脚OUT为数据输出端(TTL电平,反相输出),可直接与单片机相联。4.8.4二进制信号的解码二进制信号的解码由接收单片机来完成,它把红外接收头送来的二进制编码波形通过解码,还原出发送端发送的数据。4.9 红外接收电路的设计红外接收电路专门采用集成电路RPM6938,RPM6938有三个引脚,一个接电源一个接地,另外一个接信号端,它集光电转换,解调和放大于一体。当收到

50、38KHz调制红外线时,RPM6938输出为“0”,平时输出为“1”。信号脚接到P3.3和P3.4脚上,当RPM6938收到第一个红外脉冲时,触发INT1产生中断,使单片机退出低功耗状态,进入工作状态,同时使记数器0和定时器1开始工作。4.10完整的系统电路设计图 完整的电路图见附录1图4-7红外发射电路图4-8红外接收电路第5章 系统软件设计5.1遥控发射器程序设计5.1.1程序总体结构此系统是一个红外遥控发射器,设计目的就是根据按键的不同,发射出不同的红外信号。传统的遥控器都是采用遥控发射专用集成芯片,例如飞利浦公司生产专用芯片SAA3010,三菱公司生产的M50462P专用发射芯片。由于

51、这些芯片的功能键数及功能受到特定的限制,只适合于某一专用电器产品的应用,应用范围受到限制。本系统采用单片机制作,采用编程的方法,由于编程具有灵活性,故应用范围较广,操作码可随意设定。本系统采用的是按红外发射频率的不同,来识别不同的按键。操作键设定为7个,K0至K7,分别接至单片机的P1.0至P1.7口。对应的红外发射频率分别为300Hz、600 Hz、900 Hz、1200 Hz、1500 Hz、1800 Hz、2100 Hz、2400 Hz。发射时间确定为一个定值,由定时器1来定时,时间为100ms,当100ms时间到定时器1发生中断,停止计时,红外光也停止发射。由定时/计数器0来控制发射频

52、率,T0作为定时器,当T0定时时间到,中断程序使P3.4断口的电平反转一次,然后T0重新工作定时值与前相同,时间到中断程序使P3.4端口翻转一次,如此往复,红外信号就按一定的时间间隔发射出去。通过设定T0的定时时间来控制红外信号的发射频率。平时遥控器工作在空闲方式下,当有键按下时,由外部中断1产生中断,使CPU回到工作状态,待执行完操作后又回到低功耗才状态。主程序主要由初始化程序、键盘扫描程序,定时器0中断服务程序、定时器1中断服务程序,外部中断1中断服务程序组成。主程序流程图5-1如下: 当K2至K6键按下时,执行的程序类似于按下K1按键所执行的程序。5.1.2 伪指令和初在初始化程序前,需

53、要定义一些相关的伪指令,伪指令不能命令CPU执行某中操作,也没有对应的机器代码,它的作用仅用来给汇编程序提供某中信息。伪指令是汇编程序能够识别的汇编命令。控制信号的输入口P1.0P1.7分别用按键号K0K7来定义;各频率红外信号对应的定时器T0的初值分别用K0H、K0LK7H、K7L来定义,这样做不影响整个程序的执行,但便于阅读和理解程序。由于P1.0至P1.7对应的红外发射频率分别为300Hz、600Hz、900Hz、1200Hz、1500Hz、1800Hz、2100Hz、2400Hz,而T1的定时时间是50ms故在这七种状态下面,P3.4端口状态分别反转15次、30次、45次、60次、75

54、次、90次、105次、120次。故定时器T0对应的定时时间分别为50ms/15、50ms/30、50ms/45、50ms/60、50ms/75、50ms/90、50ms/105、50ms/120,即分别为:3.33ms、1.67ms、1.11ms、0.833ms、0.667ms、0.556ms、0.476ms、0.417ms。由前述定时器初值计算方法可算出各状态定时器的初值。定时器T1的定时初值计算如下:1.由于工作在方式一,时钟频率为12MHz,故定时最大值M为655362.初值X=M定时值/T,X=6553650000/1=15536,即T1的初值为15536,转化为十六进制为3CB0H。

55、3.各情况下,定时T0的定时初值计算如下:(1)当按下K0键时,定时时间为3.33ms,此时定时器初值为X0=65536-3330/1=62206,转化为十六进制为0F2FEH。(2)当按下K1键时,定时时间为1.67ms,此时定时器初值为X1=65536-1670/1=63866,转化为十六进制为0F97AH。(3)当按下K2键时,定时时间为1.11ms,此时定时器初值为X2=65536-1110/1=64426,转化为十六进制为0FBAAH。(4)当按下键K3时,定时时间为0.833ms,此时定时器初值为X3=65536-833/1=64703,转化为十六进制为0FCBFH。(5)当按下键K4时,定时时间为0.667ms,此时定时器初值为X4=65536-667/1=64869,转化为十六进制为0FD65H。(6)当按下键K5时,定时时间为0.556ms,此时定时器初值为X5=65536-5

温馨提示

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

评论

0/150

提交评论