单片机红外遥控七彩蝴蝶.docx
《单片机红外遥控七彩蝴蝶.docx》由会员分享,可在线阅读,更多相关《单片机红外遥控七彩蝴蝶.docx(42页珍藏版)》请在冰豆网上搜索。
![单片机红外遥控七彩蝴蝶.docx](https://file1.bdocx.com/fileroot1/2023-1/26/c3400546-cef0-45ce-a62b-fb327c139fe9/c3400546-cef0-45ce-a62b-fb327c139fe91.gif)
单片机红外遥控七彩蝴蝶
单片机遥控七彩蝴蝶吉林工程技术师范学院曲雪
吉林大学
吉林工程技术师范学院
毕业设计(论文)
曲雪
2012年6月
单片机遥控七彩蝴蝶
SCMRemoteColorfulButterfly
专业:
电气工程及其自动化
*********
班级:
电自0841
学号:
10号
*******
职称:
教授
摘要
随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。
传统的遥控器采用专用的遥控编码及解码集成电路,这种方法虽然制作简单、容易,但由于功能键数及功能受到特定的限制,只实用于某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。
本设计主要应用了AT89C2051单片机作为核心,综合应用了单片机中断系统、定时器、计数器等知识,应用红外光的优点。
遥控操作的不同,遥控发射器通过对红外光发射频率的控制来区别不同的操作。
遥控接收器通过对红外光接收频率的识别,判断出控制操作,来完成整个红外遥控发射、接收过程。
其优点硬件电路简单,软件功能完善,性价比较高等特点,具有一定的使用和参考价值。
关键词:
单片机,红外遥控,中断,定时,计数,频率
Abstract
Withthedevelopmentofoursocietyandthegradualimprovementofscienceandtechnology,variouskindsofhelpremotecontrolsystemshavebeguntoenterpeople’slife.Thetraditionalremotecontrollersadoptspecialremotecontrolcodeanddecodeintegratedcircuits,thoughthiskindofmethodissimplyandeasily,itisonlythepracticalapplicationofsomecertainspecialelectricequipment’sbecauseofthecountedfunctionalkeysiscountedandtherestrictedfunction,sotherangeofapplicationislimited.Buttheremotecontrollerswhichadoptthemicroprocessorshavemanyadvantagessuchasflexibleoperatingandunceremoniousmanipulativekeys.
ThedesignhasusedAT89C2051microprocessorascore,interactivelyapplytheinterruptivesystem,timer,counter,etc.mainlytodesignoriginallyandalsotaketheadvantageoftheinfraredlight.Theremotecontrollauncherdistinguishesdifferentoperationthroughthecontrolonfrequencyofinfraredemissionoflight.Theremotecontrolreceiverjudgescontroloperationbyadoptingthediscernedfrequencyofthereceivedinfraredlighttofinishthewholelaunchingandreceivingcourse.
Itsadvantageisthatthehardwarecircuitissimple,thesoftwareiswithperfectfunction,havecertainuseandreferencevalue
Keywords:
Microprocessor,Infraredremotecontrol,Interrupt,Timing,Counting,frequency
第1章课题设计目的及意义
随着科技的发展,人们生活的节奏也越来越快,随之人们对方便、快捷的要求也随之不断增高。
遥控器的出现,在一定程度上满足了人们这个要求,遥控器是由高产的发明家RobertAdler五十年代发明。
而红外遥控是20世纪70年代才开始发展起来的一种远程控制技术,其原理是利用红外线来传递控制信号,实现对控制对象的远距离控制,具体来讲,就是有发射器发出红外线指令信号,有接收器接收下来并对信号进行处理,最后实现对控制对象的各种功能的远程控制。
红外遥控具有独立性、物理特性与可见光相似性、无穿透障碍物的能力及较强的隐蔽性等特点。
随着红外遥控技术的开发和迅速发展,很多电器都应用了红外遥控,而彩灯也不例外。
从单纯的面板上通过按钮控制,到短距离(10M以内)的遥控,虽然改变不大,但其带来的便利无疑是巨大的。
而红外遥控技术的成熟,也使得遥控彩灯变得设计简单,价格低廉。
无论采用何种方式,准确无误地传输信号,最终达到满意的控制效果是非常重要的。
最初的无线遥控装置采用的是电磁波传输信号,由于电磁波容易产生干扰,也易受干扰,因此逐渐采用超声波和红外线媒介来传输信号。
与红外线相比,超声传感器频带窄,所能携带的信息量少,易受干扰而引起误动作。
较为理想的是光控方式,并且成为当今时代的主流。
由于红外线在频谱上位于可见光之外,所以抗干扰性强,具有光波的直线传播特性,不易产生相互间的干扰,是很好的信息传输媒体。
信息可以直接对红外光进行调制传输,例如信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进行调制,取到信息。
从信息的可靠的传输来说,后一种方法更好,这就是目前大多数红外遥控器所采用的方法。
红外遥控技术在这十年来得到了迅猛发展,在家电和其他电子领域都得到了广泛应用。
随着生活水平的提高,人们对产品的追求是使用更方便、更智能化,红外遥控技术正是一个重要的发展方向。
市场前景红外遥控是目前家用电器中用得较多的遥控方式、在数字投影机、DVD、VCD、录像机、电视机、车载影音导航系统等被广泛的应用。
由于红外遥控不影响周边环境、不干扰其他电器设备,其无法穿透墙壁,不同的房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。
近年来随着生活水平的提高,人们更加注重生活质量,更乐意去享受方便快捷的生活方式,而红外遥控器恰恰具有使用方便、操作简单、价格低廉等特点,可以给人们的生活带来了极大方便而受到广大人们的欢迎。
因为有着广泛的应用,因此其发展前景可观。
第2章红外技术概述
2.1红外概述
红外线又称红外光波,在电磁波谱中,光波的波长范围为0.01um—1000um。
根据波长的不同可分为可见光和不可见光,波长为0.38um—0.76um的光波为可见光,依次为红、橙、黄、绿、青、蓝、紫七种颜色。
光波为0.01um—0.38um的光波为紫外光(线),波长为0.76um—1000um的光波为红外光(线)。
红外光按波长范围分为近红外、中红外、远红外、极红外4类。
红外是频率低于红色光的不可见光,它的无线光谱的整个频率中占有很小一个频率段,波长为0.75—100微秒之间,其中0.75—3微秒之间的红外光称为近红外,3—30微秒之间的红外光称为中红外,30—100微秒之间的称为远红外。
红外线遥控是利用近红外光传送遥控指令的,波长为0.76um—1.5um。
红外光就其性质而言很简单,与普通光线的频率特性没有很大的区别。
由于任何有热量的物体均有能量产生,所以红外的利用非常广泛,而且不可取代,能否检测红外、能测到多少红外或者红外检测的技术是否可以应用于任何自然的或想象的场合是红外应用技术的关键。
用近红外作为遥控光源,是因为目前红外发射器件与红外接收器件的发光与受光峰值波长一般为0.8um—0.94um,在近红外光波段内,二者的光谱正好重合,能够很好地匹配,可以获得较高的传输效率及较高的可靠性。
当今红外技术的一个重要分支是红外通信技术的应用,这个应用的发展非常迅速,尤其是红外通信应用于计算机设备中,近几年的发展已经表现出其非常成熟的特性。
2.1.1选择红外遥控的原因
无线遥控方式可分为无线电波式、声控式、超声波式和红外线式。
由于无线电容易对其它电视机和无线电通讯设备造成干扰,而且,系统本身的抗干扰性能也很差,误动作多,所以未能大量使用。
超声波式频带较窄,易受噪声干扰,系统抗干扰能力差以及声控式识别正确率低,难度大而未能大量采用。
红外遥控方式是以红外线作为载体来传送控制信息的,同时随着电子技术的发展,单片机的出现,催生了数字编码方式的红外遥控系统的快速发展。
另外,红外遥控具有很多的优点,例如红外线发射装置采用红外发光二极管,遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。
所以现在很多无线遥控方式都采用红外遥控方式。
2.2红外遥控系统简介
红外遥控系统主要由遥控发射器、一体化接收头、单片机、接口电路组成。
遥控器用来产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,遥控器的接收端完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。
遥控编码脉冲是一组串行二进制码,对于一般的红外遥控系统,此串行码输入到微控制器,由其内部CPU完成对遥控指令解码,并执行相应的遥控功能。
使用遥控器作为控制系统的输入,需要解决如下几个关键问题:
如何接收红外遥控信号;如何识别红外遥控信号以及解码软件的设计、控制程序的设计。
2.2.1红外遥控的现状
目前家电中用的最多的遥控方式是红外遥控,红外遥控的特点是不影响周边环境的、不干扰其他电器设备。
价格低廉,编码简单,近距离的遥控使用红外遥控非常有优势。
由于红外一体化接收头的出现,大大降低了红外遥控的成本和技术难度,目前不仅在家电领域,在玩具、安防等领域也有广泛的应用。
红外遥控系统主要由红外遥控发射装置、红外接收设备、遥控微处理机等组成。
因此,遥控系统涉及单片机的数字系统。
目前国内红外遥控电子元器件的竞争很激烈,导致了价格的低廉,表面上有利于消费者,可是长期恶性竞争,互相压价格,必将导致产品质量的下降,最终损害的只能是消费者。
红外遥控的前景依然看好,不过红外遥控的现状不容乐观。
红外遥控是单工的红外通信方式,整个通信中,需要一个发射端和一个接收端。
发送端用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。
红外接收端,普遍采用价格便宜,性能可靠的一体化红外接收头接收红外信号,它同时对信号进行放大、检波、整形,得到TTL电平的编码信号,再送给单片机,经单片机解码并控制相关对象。
图2-1遥控器原理
2.2.2红外的简单发射接收原理
在发射端,输入信号经放大后送入红外发射管发射,在接收端,收到红外信号后,由放大器放大处理后还原成信号,这就是红外的简单发射接收原理。
第3章系统设计方案论证
3.1设计目的与原理
目前市场上一般采用的遥控编码及解码集成电路。
此方案具有制作简单、容易等特点,但由于功能键数及功能受到特定的限制,只适合用某一专用电器产品的应用,应用范围受到限制。
而采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随意设定等优点。
本单片机遥控应用系统采用红外线发射频率的不同,来识别不同的遥控功能。
当我们按下某一个按键的时候,由单片机识别出该按键后,由CPU向接有红外发射管的端口发射一定频率的脉冲,该脉冲与38KHz左右的载波脉冲进行调制,然后将已调制的脉冲进行缓冲放大,激励红外发光二极管将电能转化为光能,使得红外发光二极管发射出一定频率的红外线,当接收控制系统接收到该红外光后,由单片机内定时/计数器得到该红外光的频率,然后将该频率送往CPU,由CPU对该信号进行反编码,识别出控制信号,从而对控制电路实施控制功能。
完成整个遥控功能。
3.1.1单片机红外遥控发射器设计原理
单片机红外遥控发射器主要有单片机、独立式键盘、低功耗空闲方式控制电路、红外发光二极管发射电路以及单片机的一些电源、复位、振荡电路组成。
单片机不工作时一直处于低功耗状态,采用了空闲节电工作方式。
当遥控器的某一按键被按下以后,外部中断1产生中断,唤醒单片机进入工作状态,查询键盘按下的是哪一个按键,当确认按键后,控制软件启动定时器T0、T1,T1作为发射时间控制器,T0作为红外线发射频率控制器,T0定时溢出时中断程序使红外发光二极管接口电平反转一次,写入定时器的初值不同,在输出端口就得到不同的发射频率。
T1定时溢出时中断程序关闭,关闭T0定时器,停止红外线发射。
3.1.2单片机红外遥控接收器设计原理
单片机红外遥控接收器主要有单片机、红外遥控接收电路、控制电路以及单片机的一些外围电路组成。
利用单片机中的T0作为红外脉冲计数器,T1作为计数时间控制器。
当电路中红外接收管接收到第一个红外脉冲时,外部中断1被触发,启动计数器T0和定时器T1。
定时溢出,中断程序关闭计数器T0,读入计数值并进行判断,确定操作对象(遥控按键)对其进行反转操作,控制电路对所控制的负载进行开或关。
还可对接收电路实行上锁功能,对控制电路上锁后,遥控器不能对控制电路实施遥控功能。
3.2红外编码方案
红外编码有很多种方式,下面列举两种实现方案:
方案一:
脉宽调制的串行码。
这种遥控编码具有以下特征:
以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。
其相关的波形图如图3-1所示:
图3-1串行码编码
方案二:
码分制。
采用脉冲个数编码,不同的脉冲个数代表不同的被控对象,最小为2个脉冲。
为了使接收可靠,第一位码的宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms,如图3-2所示:
本设计采用方案二,码分制的编码编程简单,在按键较少的情况下优势明显。
3.3键盘设计方案
单片机系统所用的键盘有编码键盘和非编码键盘两种。
1.编码键盘本身除了按键之外,还包括产生键码的硬件电路。
只要按下编码键盘的某一个键,它就能产生这个键的代码,并称为键码,与此同时还产生一个脉冲信号,以通知CPU接收键码,编码键盘的优点是使用比较方便,亦不需要编写太复杂的程序。
其缺点是使用的硬件较复杂。
2.非编码键盘的按键是排列成行、列矩阵形式的。
按键的作用只是简单地实现接点的接通或断开,因此必须有一套相应的程序与之配合,才能产生相应的键码,非编码键盘几乎不需要附加什么硬件电路。
因此为了简洁电路,我使用非编码键盘。
但使用非编码键盘需要通过软件来解决按键的识别、防抖动以及如何产生键码的问题。
基于键数少的原因我采用独立式键盘接口与单片机相连接,因为它占用的I/O口不多。
图中每个按键占用一个口,彼此独立,互不影响。
上拉电阻保证按键没被按下时,I/O口输入高电平。
独立式键盘可工作在查询方式下,通过I/O口读入键状态,当有键被按下时I/O口变为低电平,而未被按下的键对应为高电平,这样通过读电平状态可判断是否有键按下和哪个键被按下。
图3-2码分制编码波形图
第4章硬件电路设计
4.1AT89C2051单片机的介绍
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、定时/计数器、串行口和外中断口,系统唤醒后即进入工作状态,省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件系统复位方可继续工作。
4.1.2引脚介绍
1.VCC:
接+5V电源正端;
2.GND:
接+5V电源地端;
3.P1.0—P1.7:
完整的双向串行通信接口,P1.0与P1.1还有第二种功能;
4.P3.0—P3.7:
除P3.6外,双向I/O口,除P3.7外,均有第二功能,第二功能与MCS-51系列单片机基本相同;
5.XTAL1:
震荡器反向放大器内部工作时钟输入端;
6.XTAL2:
震荡器反向放大器的输出端;
7.RST:
复位引脚,震荡器工作时,该引脚上两个机器周期的高电平复位。
4.1.3主要功能特性
1.兼容MCS51指令系统;
2.15个双向I/O口;
3.两个16位可编成定时/计数器;
4.时钟频率0—24MHz;
5.两个外部中断源;
6.可直接驱动LED;
7.低功耗睡眠功能;
8.可编程URRL通道;
9.2KB可反复擦写FlashROM;
10.6个中断源;
11.2.7—6.0V宽工作电压范围;
12.128×8位内部RAM;
13.两个串行中断;
14.两级加密位;
15.内置一个模拟比较放大器;
16.软件设置睡眠和唤醒功能。
4.2定时器/计数器
4.2.1主要特性
1.AT89C2051单片机有两个可编程的定时器/计数器——定时器/计数器0与定时器/计数器1,可有程序选择作为定时器用或作为计数器用,定时或记数值也可由程序设定。
2.每一个定时器/计数器具有4种工作方式,可用程序选择。
3.任何一个定时器/计数器在定时时间到或记数值到时,可有程序安排产生中断请求信号或不产生中断请求信号。
4.2.2定时/计数器0和1的控制和状态寄存器
特殊功能寄存器TMOD和TCON分别是定时/计数器0和1的控制和状态寄存器,用于控制和确定各定时/计数器的功能和工作模式。
1.模式控制寄存器TMOD
TMOD用于控制T0和T1的工作方式和4种工作模式。
其中低4位用于控制T0,高4位用于控制T1。
其格式如下:
GATE
C/T非
M1
M0
GATE
C/T非
M1
M0
(1)GATE位:
门控位。
当GATE=1时,只有INTO非或INT1非引脚为高电平且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工作方式选择
M1M0
功能描述
00
方式0:
13位定时器/计数器
01
方式1:
16位定时器/计数器
10
方式2:
具有自动重装初值的8位定时器/计数器
11
方式3:
定时/计数器0分为两个8位定时/计数器,定时/计数器1在此方式无实用意义
2.控制寄存器TCON
TCON用来控制T0和T1的启、停,并给出相应的控制状态,高4位用于控制定时器0、1的运行;低4位用于控制外部中断。
格式如下:
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
(1)TF1:
定时器1溢出标志。
当定时器1溢出时,由硬件置1。
使用查询方式时,此位为状态位供查询,查询有效后需由软件清零;使用中断方式时,此位做中断申请标志,进入中断服务后被硬件自动清零。
(2)TR1位:
定时器1运行控制位。
该位靠软件置位或清零,置位时,定时/计数器接通工作,清零时,停止工作。
(3)TF0位:
定时器溢出标志位,其功能和操作情况类同于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寄存器赋值,以确定定时器的工作模式;
(2)置定时/计数器初值,直接将初值写入寄存器的TH0,TL0或TH1,TL1;
(3)根据需要,对寄存器IE置初值,开放定时器中断;
(4)对TCON寄存器中的TR0或TR1置位,启动定时/计数器,置位以后,计数器即按规定的工作模式和初值进行计数或开始定时。
在初始化过程中,要置入定时/计数器的初值,这时要做一些计算。
由于计数器是加法计数,并在溢出时申请中断,因此不能直接输入所需的计数值,而是要从计数最大值倒退回去一个计数值才是应置入的初值。
设计数器的最大值为M(在不同的工作模式中,M可以为8192,65536,256),则置入的初值可以这样来计算。
计数方式时
X=M—记数值(4-1)
定时方式时
(M—X)T=定时值(4-2)
所以
X=M—定时值/T(4-3)
式中,T为计数周期,是单片机的机器周。
4.2.3T0和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:
仅对T0有意义,将16位定时/计数器分成两个互相独立的8位定时/计数器TL和TH。
4.3独立式按键结构
独立式按键是指直接用I/O线构成的单个按键电路,每个独立式按键占有一根I/O口线,每根I/O口线上的按键的工作状态不会影响其他I/O口线的工作状态,其结构简单,但I/O口线浪费较大。
独立式按键配置灵活,软件结构简单,上拉电阻保证了按键断开时,I/O口线有确定的高电平,其电路原理图如下:
图4-1独立式按键电路
4.4低功耗控制电