基于单片机的红外线遥控器设计.docx
《基于单片机的红外线遥控器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的红外线遥控器设计.docx(28页珍藏版)》请在冰豆网上搜索。
基于单片机的红外线遥控器设计
基于单片机的红外线遥控器设计
院系:
机电与自动化学院
专业班:
自动化1003班
姓名:
李斌
学号:
***********
************************
2014年5月
基于单片机的红外线遥控器设计
DesignofInfraredRemoteControlBasedontheSingleChipMicrocomputer
摘要
单片机被广泛应用于促进设备和产品的微型化,数字化,自控化和智能化。
计算机在自动化控制技术方面的深化得益于单片机的应用,因此一场基于传统控制技术的变革在自动控制领域里引发了,即传统的设计方法和控制思想的本质正在被单片机逐渐地改变。
现在我们可以通过软件的方法去完成控制功能,而这是过去必须要通过数字或模拟电路来实现的。
尤其是家用电器给我们带来了方便快捷的生活之后,红外遥控这种计算机技术就被广泛使用了。
许多中断技术都在红外遥控中得到了运用。
在计算机系统中,各种硬件设备可以产生中断,将它用来请求服务或报告故障报警等。
另外,处理器本身也可以产生中断。
电平方式和脉冲方式是外部中断请求的两种信号不同方式。
电平方式在进行中断请求时低电平有效,脉冲方式则是在脉冲下降沿的时候才有效。
在图书馆查阅相关资料之后,我设计了一些方案,最后选定了一个最佳方案:
即运用单片机技术实现遥控和采用模块化设计。
它包括红外发射和红外接收两个模块。
开关控制红外发射模块中的单片机,使红外发射管对另一个单片机发射信号;而红外接收管接收的信号控制红外接收模块中的单片机。
此外,设计的电路图也完成了红外遥控的任务。
最后通过仿真器输入程序,手动中断,中断结束后程序从断点处继续执行,实现了红外遥控过程的硬件组成及其工作原理和软件设计。
关键词:
单片机遥控器红外发射红外接收
Abstract
Single-chipmicrocomputeriswidelyappliedtopromotetheminiaturizationofequipmentandproducts,digital,automaticandintelligent.DeepeningofcomputerinautomaticcontroltechnologythankstoMCUapplication,soachangebasedontraditionalcontroltechnologyinthefieldofautomaticcontrolled,namelythetraditionaldesignmethodandthoughtistheessenceofSCMgraduallychanged.Nowwecanapproachtoachievingthecontrolfunctionbythesoftware,whichisthepastmustbeimplementedthroughdigitaloranalogcircuit.Especiallyinhouseholdappliancesbringsusaconvenientlife,infraredremotecontrolthecomputertechnologyiswidelyused.Manyinterrupttechnologyareusedintheinfraredremotecontrol.Inacomputersystem,avarietyofhardwareequipmentcangenerateinterrupts,itisusedtorequestservicesorreportfaultalarm,etc.Inaddition,theprocessoritselfcanalsogenerateinterrupts.Levelmodeandpulsemodeistwokindsofsignalsofdifferentwayofexternalinterruptrequest.Tointerruptrequestlevelwayinlowleveleffectively,pulsemethodiseffectiveonlywhenfallingedgeinpulse.Afterthelibraryaccesstorelevantdata,Idesignedafewsolutions,finallysettledonabestsolution:
namelyusingsingle-chipmicrocomputertechnologytorealizeremotecontrolandadoptsthemodulardesign.Itconsistsofinfraredemissionandreceivingtwomodules.Switchcontrolinfraredemissionmoduleofthesinglechipmicrocomputer,infraredtransmittingtubetoanotherMCUemissionsignal;Andinfraredreceivingtubereceivingsignalcontrolinfraredreceivingmoduleofthesinglechipmicrocomputer.Inaddition,thedesignofthecircuitdiagramisalsocompletedtheinfraredremotecontroltasks.Finallythroughthesimulatorinputprogram,manualinterruption,fromthebreakpointcontinueaftertheinterruptprogram,realizedtheinfraredremotecontrolprocessanditsworkingprincipleofthehardwareandthesoftwaredesign.
Keywords:
MCURemote-controlunitInfraredemissionInfraredreceiver
1.1红外通信原理…………………………………………………………………2
1.2红外发射………………………………………………………………………3
1.3红外接收………………………………………………………………………3
2总体方案设计……………………………………………………………………4
2.1简易红外遥控电路……………………………………………………………4
2.2红外遥控开关电路……………………………………………………………4
3单片机……………………………………………………………………………6
3.1单片机系统……………………………………………………………………6
3.2AT89S52单片机………………………………………………………………7
3.3系统复位………………………………………………………………………10
3.4晶振电路………………………………………………………………………113.5按键电路………………………………………………………………………12
3.6中断系统………………………………………………………………………13
3.6.1中断的概念…………………………………………………………………13
3.6.2中断控制……………………………………………………………………13
4电路框图设计……………………………………………………………………15
4.1遥控发射单元的电路图设计…………………………………………………15
4.2遥控接收单元的电路图设计…………………………………………………15
5系统设计…………………………………………………………………………16
5.1硬件设计………………………………………………………………………16
5.1.1红外遥控发射单元原理图…………………………………………………16
5.1.2红外遥控接收单元原理图…………………………………………………16
5.2软件设计………………………………………………………………………17
5.2.1红外遥控发射流程图………………………………………………………17
5.2.2红外遥控接收流程图………………………………………………………18
5.2.3红外发射端程序……………………………………………………………19
5.2.4红外接收端程序……………………………………………………………22
结论………………………………………………………………………………26
致谢…………………………………………………………………………………27
参考文献……………………………………………………………………………28
绪论
目前,红外遥控技术运用在很多电子设备和其它小型电器装置上,在家用电器方面更是广泛采用。
同时也逐步在计算机系统中得到应用;工业设备方面,在一些特殊环境下如粉尘、辐射、高压、有毒气体等,红外遥控可以充分地隔离电气干扰而且安全可靠。
红外发射设备是一种采用红外发光二极管的通信和遥控的手段。
运用最广泛的是遥控发射器。
因此,在彩电、录像机之后,诸多价格低廉的小型化设备都用数字信号编码和二次调制方式去完成。
它的好处在于强化遥控功能,能控制多路信息,误操作变少,增强抗干扰性,降低功率消耗。
并且红外线有较高的传输效率、较快的反应速度和稳定安全的工作环境等,所以目前红外遥控方式在无线遥控方式领域里独占鳌头。
以红外线作为载体来传送控制信息的方式称为红外遥控。
电子技术的飞速发展,带来了单片机的问世,促进了以数字编码方式的红外遥控系统的快速发展。
虽然采用专用的遥控编码及解码集成电路的传统遥控器容易实现,可是其功能受到了一定的限制,只能应用在某一专用的电器产品上,大大限制了其应用范围。
然而在遥控系统的应用设计中引入单片机,其灵活多样的编程和可以随便设定操作码个数等一系列优势。
60年代初,虽然有些发达国家已经开始了遥控技术产品的研究,但是当时电子技术条件受到了限制,只能让遥控技术缓慢地发展。
70年代末,遥控技术的快速发展得益于大规模集成电路和计算机技术的发展。
总的来说,遥控方式经历了从有线到无限的超声波,从振动子到红外线,再到使用总线的微机红外遥控这样几个阶段。
虽然采用不同的方式,但重要的是都能将信号准确无误地传输,达到预定的控制结果。
电磁波传输信号在以往的无线遥控装置中是非常常见的,可是电磁波在传输过程中容易产生干扰信号,也容易受到干扰,所以超声波和红外线慢慢地取代了电磁波。
由于超声波传感器的频带较窄,只能携带的少量信息,并且容易因干扰而引发误动作。
所以现在出现的红外线多功能遥控器成为了主流。
它采用的是一种光控方式,这种用红外线遥控的方式慢慢取代了超声波。
课题中需要制作的遥控器要解决单片机原理和最小系统设计、键盘的扫描设计、红外发射和接收器的工作原理等,还要编写汇编语言进行调试运行。
1红外遥控
红外线在频谱上不在可见光的范围之内,拥有光波的直线传播特点,所以相互间的干扰是不易产生的,对外界的抗干扰性强,可以作为良好的信息传输媒体。
调制红外光的强弱可以对信息直接进行传输,另外信息先对用红外线产生的一定频率的载波进行调制后,再让接收端去掉载波就可以获得信息。
显而可见,后一种方法对信号的完整安全来说更有优势。
这一方法在现在市面上绝大多数的红外遥控上就可以看到。
采用红外遥控方式不仅不会干扰到其他电器的正常使用,而且对附近的无线电设备也不会产生影响。
这是因为红外线有比无线电远小的波长的原因。
1.1红外通信原理
红外通信是利用950nm近红外波段的红外线作为传递信息的媒体,即通信信道。
发送端将基带二进制数字信号调制为一系列的脉冲序列,并驱动红外发射管发射红外光信号。
接收端先把接收到的光脉转换成电信号,再通过放大、滤波解调电路进行处理,最后将其还原为二进制数字信号后输出。
常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。
红外通信接口实际上是一个专门就红外信道而言的调制解调器。
在脉宽调制的串行码中,我们用0.5ms脉宽、0.5ms间隔和1ms 周期的组合来代表二进制“0”,用0.5ms脉宽、1ms间隔、2ms 周期的组合来代表二进制“1”。
如图1-1所示。
其中为了提高发射效率,我们可以用“0”和“1”组成二进制码进行二次调制以,而且可以降低电源功耗。
最后再通过红外发射二极管产生红外线向空间发射。
图1-1遥控码的“0”和“1”
1.2红外发射
红外发光二极管常被运用在红外遥控发射电路中,发出经过调制的红外光波。
红外发射过程框图如下:
图1-2红外发射器框图
可以看出,红外发射器一般包括指令键、编码系统、调制电路、驱动电路和发射电路等几个部分。
指令编码电路在指令键被按下或是操作杆被推动时会产生相应的指令编码信号,然后指令编码信号将调制的载波经过驱动电路进行功率放大,最后得到的特定的指令编码信号经过发射电路后向外发射。
1.3红外接收
红外接收电路一般包括红外接收二极管、三极管或硅光电池。
红外发射器发射的红外光经过接收电路后会转换为相应的电信号,再送入放大电路。
红外接收过程框图如下:
图1-3红外接收器框图
可以看出,接收器通常包括接收电路、放大电路、解调电路、译码电路、驱动电路和执行电路等几部分。
由红外发射器调制的特定的编码指令信号会被接收电路接收下来,经过放大电路放大后送入解调电路。
特定的指令编码信号会在这里被解调出来还原为编码信号。
编码信号会在译码电路得到译码。
而各种指令的操作控制是由最终的信号被送入驱动电路和执行电路来实现的。
2总体方案设计
根据任务书的要求,利用单片机设计一个遥控开关,可以拟定以下二种方案。
2.1简易红外遥控电路
常规的集成电路就可以实现单通道红外遥控,所以没用到多电路时可以考。
而且成本低,没必要使用高额的专用编译码器。
方案框图如下:
红外发射部分:
图2-1红外发射部分框图(a)
此方案的电路是一个简单的单通道遥控器。
红外发光二极管发射的是一个能实现控制功能的震荡电路频率。
红外接收部分:
图2-2红外接收部分框图(a)
2.2红外遥控开关电路
用单片机来实现红外发射和红外接收的控制电路,其优点是可选择不同的输出控制方式,适应能力更好。
方案框图如下:
红外发射部分:
图2-3红外发射部分框图(b)
可见,单片机在遥控被按下时会产生相应的控制脉冲,再经过红外发光二极管向外发射。
红外接收部分:
图2-4红外接收部分框图(b)
控制方式选择开关在红外接收器收到控制脉冲后,会选择是“互锁”还是单电路控制。
送入单片机处理后,受控电路会对电器产生控制相应。
3单片机
单片机全称单片微型计算机(SingleChipMicrocomputer),又称MCU(MicroControllerUnit),是将计算机的部分微型化,使之集成在一块芯片上的微机。
最初的单片机芯片内仅有CPU的专用处理器。
为了让计算机系统变得更小、更加集成化,CPU和大量外围设备都被集成在了一个芯片之中。
单片机有较强的可靠性,可以实现实时控制功能,实用性广,应用范围较大,所以成了控制系统的核心部件。
随着人们对生活质量的要求越来越高,单片机控制将逐步进入我们的日常活,它所带来的好处也是无法取代的。
在这之中,有个典型的例子就是红外遥控,但科技的发展越来越刺激人们的在各方面的需求。
因此,对单片机技术的要求就逐渐显露出来,单片机的数字化和智能化变得迫在眉睫,也是必然的发展趋势。
所以学习单片机的相关知识,了解掌握单片机的实际应用技术变得尤为重要。
从单片机的基本结构,到各部分的工作原理以及各种编译指令的运用,这些理论性的知识横重要。
同时,实践也是必不可少的,理论与实践的完美结合,才会把一切变得可能。
3.1单片机系统
经典的单片机系统主要包括单片机、晶振电路、复位电路、输入控制电路、输出显示电路以及外围功能器件6个部分。
如图3-1所示:
图3-1单片机系统的组成
单片机最小系统是单片机能够正常运行的最基本电路系统,如图3-2所示。
通过最小系统与外围设备的链接可以实现不同的功能。
图3-2单片机最小系统原理图
3.2AT89S52单片机
此次课题是基于单片机的红外线遥控器设计,设计中所要求的单片机是Atmel公司的AT89S52芯片。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
AT89S52的引脚图如下所示:
图3-3AT89S52的引脚图
AT89S52单片机引脚注释:
VCC:
接电源端。
GND:
接地端。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。
在flash编程和校验时,P3口也接收一些控制信号。
RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(PROG)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.3系统复位
通过某种方式,使单片机内各寄存器的值变为初始状态的操作称为复位。
51单片机在时钟电路工作以后,2个机器周期的高电平持续加在RST/VPD端就可以完成复位操作(一般复位正脉冲宽度大于10ms)。
外部按键复位和上电复位为复位的两种基本方式。
在程序开发过程中,程序跑飞的情况会在系统运行的过程中出现,这时就需要进行手动复位。
而这次也是选用的手动复位即上述引脚出现2个机器周期的的高电平,此时单片机振荡器正常运行时,单片机将会实现复位。
而操作员用手按键的时间远远大于2个机器周期,复位能够实现。
如图3-4所示:
图3-4复位电路原理图
51单片机复位后,ALE在复位期间将输出高电平,但片内RAM存放的内容不会受复位的影响。
程序计数器PC和特殊功能寄存器复位的状态如表3-1所示。
从表中可以得到以下结果:
(1)(PC)=0000H,复位后程序的入口地址为0000H;
(2)(PSW)=00H,其中RS1(PSW.4)=0,RS0(PSW.3)=0,表示复位后单片机选择工作寄存器0组;
(3)(SP)=07H,复位后堆栈在片内RAM的08H单元处建立;
(4)P0口~P3口锁存器为全1状态,,说明复位后这些并行接口可以直接作输入口,无须向端口写1。
表3-151单片机复位后程序计数器PC和特殊功能寄存器复位的状态
寄存器名称
复位状态
寄存器名称
复位状态
PC
0000H
TCON
00H
A
00H
T2CON
00H
B
00H
TH0
00H
PSW
00H
TL0