基于AT89S52的红外多路遥控系统.docx
- 文档编号:9970801
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:45
- 大小:806.49KB
基于AT89S52的红外多路遥控系统.docx
《基于AT89S52的红外多路遥控系统.docx》由会员分享,可在线阅读,更多相关《基于AT89S52的红外多路遥控系统.docx(45页珍藏版)》请在冰点文库上搜索。
基于AT89S52的红外多路遥控系统
目录
摘要I
ABSTRACTII
1绪论1
1.1研究背景1
1.2研究意义1
2系统分析2
2.1整个控制系统的设计要求2
2.1.1红外载波、编码、解码电路设计要求2
2.2总体设计方案2
2.2.1方案论证3
2.2.2总体设计原理3
3系统硬件电路设计5
3.1硬件电路介绍5
3.2控制电路分析5
3.2.1复位电路5
3.2.2基本的复位方式5
3.2.3时钟电路6
3.2.4红外发射模块7
3.2.5红外接收模块8
3.2.6显示部分的设计9
3.2.7键盘设计10
4系统编码解码原理11
4.1红外编码原理11
4.2红外解码原理12
5器件介绍13
5.1AT89S52单片机简介13
5.1.1AT89S52单片机主要特性13
5.1.2管脚说明13
5.1.3振荡器特性15
5.1.4芯片擦除15
5.1.5定时器/计数器15
5.2红外一体化接受头SM0038简介18
6Altiumdesigner简介20
7系统软件的设计22
7.1编码发射程序设计流程图22
7.2红外接收电路程序流程图22
8仿真与制作25
8.1系统仿真25
8.2硬件电路的布线与焊接26
8.3 程序下载27
8.4调试结果及其分析30
结束语32
致谢33
参考文献34
附录:
35
红外多路遥控发射/接收系统设计与实现
摘要
随着红外遥控技术的迅速发展,红外遥控技术已经成为人们生活中不可或缺的一部分。
红外遥控不易影响邻近的无线电设备及其它电器,也不易受到电磁波的干扰,其频率的使用也不像无线电波受到许多的限制,而且通讯的可靠性高。
红外线为不可见光,它具有很强的隐藏性和保密性。
本文主要介绍了一种实现红外多路遥控的方法。
采用单片机AT89S52将待发送的二进制信号编码调制成为38KHZ的脉冲信号,并通过红外发射管发射红外信号。
红外接收端则采用一体化接收头SM0038接受信号。
SM0038同时对信号进行放大检波、整形,将得到的TTL电平的编码信号送给单片机。
红外遥控发射器与红外接收器之间的距离不小于5米,实现由一台红外发射机和一台红外接收机实现对8个受控设备的控制;每次发射只控制1个设备的开、关状态;用发光二极管的亮、暗表示设备的开、关状态。
该电路简单可靠、功能强、成本较低,广泛应用于各种电器产品。
关键词红外遥控;单片机;脉冲调制
MULTI-CHANNELINFRAREDREMOTETRANSMITTER/RECEIVERSYSTEM
DESIGNANDIMPLEMENTATION
ABSTRACT
Withtherapiddevelopmentofinfraredremotecontrol,infraredremotecontrolhasbecomeanintegralpartofpeople'slives.Infraredremotecontroldifficulttoaffectneighboringradiosandotherelectricalappliances,aresusceptibletoelectromagneticinterference,notitsfrequencyofuseeitherradiowavessubjecttomanyrestrictionsandhighcommunicationreliability.Infraredinvisiblelight,ithasastronghiddensexandprivacy.Thisarticleintroducesamulti-channelremoteIRmethod.Usingsingle-chipmicrocomputerAT89S52binarycodedmodulationsignalstobesentintothe38KHZpulsesignal,andemittingIRsignalsthroughtheinfraredtransmittingtubes.IRreceiverintegratedreceivermoduleSM0038receivedsignal.SM0038simultaneouslyamplifiedsignaldetectors,plastic,theencodingofthereceivedTTL-levelsignalstoSCM.InfraredremotecontroltransmitterandthedistancebetweentheIRreceiverisnotlessthan5metres,achievedbyaninfraredtransmitterandaninfraredreceiver8controlleddevicecontrol;eachlaunchwillopenandclosetocontrolonedeviceonlyState;indicatedbyalightemittingdiodelightanddarktheopenorclosedstatusofthedevice.Thecircuitissimple,reliable,powerful,lowcostandwidelyusedinavarietyofelectricalproducts.
KEYWORDSinfraredremotecontrol;single-chip;pulsemodulation:
1绪论
1.1研究背景
红外遥控已渗透到人们的日常生活中,特别是在红外遥感技术和红外通信技术领域里。
红外线遥控是目前使用最广泛的一种通信和遥控手段。
由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。
工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。
对于红外线的使用,它不仅提高了单片机、硬件设备和硬件系统在智能遥控领域的广泛应用,也同时大大拓宽了硬件设施的应用范围。
1.2研究意义
目前红外遥控的研究开发,已取得了相当不错的成绩。
红外技术的研究开发是自动化控制的主要方向。
它的研究针对国民经济的各行各业和人们日常生活的方方面面,在工业自动化、生产控制过程、信息采集和处理、通信、红外制导、激光武器、电子对抗、环境监测、红外育种安全防范、家用电器控制及日常生活(如节能灯控制、自动门控制、节水节能控制、红外医疗与美容、智能玩具、空调、彩灯遥控以及VCD、DVD机录放等)各个方面都在进行红外研究开发和控制。
红外遥控不影响周边环境、不干扰其它电器设备。
由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。
现在红外遥控在家用电器、室内近距离(小于10米)遥控中得到了广泛的应用。
2系统分析
2.1整个控制系统的设计要求
红外遥控有发送和接收两个组成部分。
发送端采用单片机将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。
红外接收端采用一体化红外接收头SM0038,接收红外信号频率为38KHz[2]。
编码采用脉冲宽度调制,采用不同的脉宽宽度来实现二进制信号的编码,可由发送单片机来完成。
用脉冲中低电平与高电平的宽度均等于0.26ms,相当于10个26μs的宽度来表示二进制信号中的高电平1;用脉冲中高电平的宽度等于0.26ms,而低电平的宽度是高电平的二倍,等于0.52ms,相当于20个26μs的宽度来表示二进制信号中的低电平0。
上述10个和20个脉冲宽度还可适当调整,以适应不同数据传输速度的需要。
红外解码电路设计要求精确接收红外信号,并对所接收信号进行解码、放大、整形、解调处理。
最后输出信号;
2.2总体设计方案
整个控制系统的设计要求:
被控设备的控制实时反应,从接收信号到信号处理及对设备控制反映时间小于1s;整个系统抗干扰能力强,系统的安装、操作简单,维护方便,成本低。
本课题要求设计出一个无线红外多路遥控发射与接受系统,要求掌握其原理,红外遥控系统采用红外发光二极管来发出经过调制的红外光波,对8个受控对象进行遥控具体要求如下:
(1)遥控距离不小于5米,红外遥控器与红外接收器之间的距离不小于5米;
(2)遥控路数为8路,对8个受控设备进行开关控制
(3)工作频率:
38KHz,即红外发射和接收的载频为38kHz。
(4)功能要求:
由一台红外发射机和一台红外接收机实现对8个受控设备的控制;每次发射只控制1个设备的开、关状态;用发光二极管的亮、暗表示设备的开、关状态。
2.2.1方案论证
方案一:
采用AT89S52单片机作为控制器。
遥控码的脉宽数据可用红外线接收器解码后送单片机读入,发射由单片机产生38kHZ红外调制信号送红外发射管发射。
系统应具有红外线的接收解码、红外线调制发射、操作按键和功能控制功能等单元[3]。
方案二:
采用专用的遥控器编码及解码集成电路,专用编解码集成电路是一类通过地址识别来实现身份识别进而达到一对一信息的无线传送和控制的一类大规模集成电路。
一般都有地址编码和数据编码输入管脚。
编码、解码芯片要配对使用。
要求发射端编码芯片的地址编码与接收端解码芯片的地址编码一致。
通过无线传送后在解码芯片的数据端取出。
方案一为软件解码方案,软件解码可以不考虑遥控器的芯片是什么型号的,因为我们只需检测到它的发射编码,然后用软件方式来对它进行处理,从而得到所要的信息。
软件解码具有灵活、硬件精简(仅需集成红外接收头和一片单片机)、可靠性高,成本低等特点。
方案二为硬件解码方案,硬件解码需要使用与遥控器相配套的专用的解码器芯片,而解码芯片一般不易得到,价格也较贵,或者自行开发解码电路(但电路太复杂,性能欠佳)。
经以上的论证,可以采用软件解码方案,成本低,方便实现,并且系统整体性能和可靠性高。
2.2.2总体设计原理
红外线编码是数据传输质是一种脉宽调制的串行通讯。
红外线通讯的发送部分主要是把待发送的数据转换成一定格式的脉冲,然后驱动红外发光管向外发送数据。
接收部分则是完成红外线的接收、放大、解调,还原成同步发射格式相同,但高、低电位刚好相反的脉冲信号,其主要输出TTL兼容电平。
最后通过解码把脉冲信号转换成数据,从而实现数据的传输。
红外多路遥控系统框图如图2-1所示。
图2-1红外多路遥控系统框图
3系统硬件电路设计
3.1硬件电路介绍
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
这里单片机采用AT89S52,它是51系列8位单片机,内部有2KB的程序存储器,外部有P1和P3两个8位并口,选用晶振频率fosc=24MHz。
当遥控信号发射器的某个按键被按下,其内部的信号发射器就产生遥控编码脉冲,经载波调制后由红外发射管串行输出[4];遥控接收头完成对遥控信号的接收放大、检波、整形、再送给微控制器,由微控制器解调出编码脉冲并执行相应的遥控功能。
3.2控制电路分析
3.2.1复位电路
单片机在启动时,系统进入复位状态。
在复位状态,CPU和系统都处于一个确定的初始状态或成为原始状态,在这种状态下,所有的专用寄存器都赋予默认值。
在上电或复位过程中,控制CPU的复位状态:
这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
3.2.2基本的复位方式
单片机系统的复位方式有:
手动按钮复位和上电复位,这里我们采用手动按钮复位。
1、手动按钮复位需要人为在复位输入端RST上加入高电平。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
手动按钮复位的电路如图3-1所示。
由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
图3-1复位电路
2、上电复位
AT89S52的上电复位,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。
对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1µF。
上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号[5],此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。
为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。
上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率
3.2.3时钟电路
单片机时钟电路是用来配合外部晶体实现振荡的电路,这样可以为单片机提供运行时钟。
时钟信号可以由两种方式产生:
一种是内部方式,利用芯片内部的振荡电路产生时钟信号;另一种为外部方式,时钟信号由外部引入。
时钟电路如图3-2所示。
图3-2时钟电路
3.2.4红外发射模块
选择AT89S52作为本设计发射电路核心芯片和点触式开关作为控制键,加上一个简单红外发射电路和12M晶体震荡器实现红外发射。
发射部分的主要元件为红外发光二极管。
它实际上是一只特殊的发光二极管,由于其内部材料不同于普通发光二极管,因而在其两端施加一定电压时,它发出的便是红外线而不是可见光。
目前大量使用的红外发光二极管发出的红外线波长为940nm左右。
遥控发射通过键盘,每按下一个键,即产生具有不同的编码数字脉冲,这种代码指令信号调制在38KHz的载波上,激励红外光二极管产生不同的脉冲,通过空间的传送到受控机的遥控接收器[6]。
P1口作为按键部分,P0.7口作为发射部分。
电路图如图3-3所示
图3-3红外发射电路
3.2.5红外接收模块
红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。
在本系统中我们采用红外一体化接收头SM0038,SM0038黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。
在用小功率发射管发射信号情况下,其接收距离可达35m。
它能与TTL、COMS电路兼容。
SM0038为直立侧面收光型[7]。
它接收红外信号频率为38kHz,周期约26μs,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号。
三个管脚分别是地、+5V电源、解调信号输出端。
红外一体化接收头的测试可以在SM0038的电源端与信号输出端之间接上一只二极管及一只发光二极管后,再配上规定的工作电源(为+5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。
只要确保遥控器工作正常,很容易判断红外接收头的优劣。
红外接受电路如图3-4所示。
图3-4红外接收电路
3.2.6显示部分的设计
数码管有共阴极和共阳极之分,区别他们的方法是若公共端接地,其他端接电源,若各段测试能亮,说明是共阴的,反之共阳的;若公共端接电源,其他端分别接的,测得各端亮,则说明是共阳的,反之为共阴的。
图3-5为四位共阳数码管管脚图。
图3-5四位共阳数码管管脚图
3.2.7键盘设计
采用独立式键盘接口与单片机相连接,因为它占用的I/O口不多。
每个按键占用一个口,彼此独立,互不影响。
独立式键盘可工作在查询方式下,通过I/O口读入键状态,当有键被按下时I/O口变为低电平,而未被按下的键对应为高电平,这样通过读电平状态可判断是否有键按下和哪个键被按下。
独立式键盘电路如下图3-6所示。
图3-6独立式键盘电路
4系统编码解码原理
4.1红外编码原理
一个完整的红外遥控信号代码数据格式包括了引导码、用户码、数据码和数据码反码,编码总占32位。
数据反码是数据码反相后的编码,编码时可用于对数据的纠错。
红外线遥控器的红外数据传送编码格式基本上有脉冲宽度调制(PWM)和脉冲位置调制(PPM)两种[8]。
用户码或数据码中的每一个位可以是位1,也可以是位0。
区分0和1是利用脉冲的时间间隔来区分,这种编码方式称为脉冲位置调制方式,英文简写PPM。
使用455KHz晶体,经内部分频电路,信号被调制在388KHz,占空比为3分之1。
使用455KHz晶体时各代码所占的时间如下图4-1所示。
图4-1各代码所占的时间
(1)引导码,也称引导脉冲,一般由高电平1和低电平0的脉冲组成,二者的宽度之比可为1:
1,占9ms时间,也可为2:
1,占13.5ms(宽度为9ms的高电平和宽度为4.5ms的低电平组成),也可能有其他组成情况。
引导码的主要作用类似于穿行通信中的同步脉冲,用来标志遥控编码脉冲信号的开始,使遥控接收器能由此判断出所接收的信号是干扰还是系统的遥控代码。
(2)系统码,也称用户码、识别码、设备码,通常由8位原码和8位反码组成。
它用来指示遥控系统的种类,以区别其它遥控系统,防止各遥控系统的误动作。
这种码是由生产厂商自行规定的,各厂均有不同,出厂时已经设置好,用户难以更改。
这是不同遥控器不能通用的主要原因。
(3) 功能码,也称键位数据码。
它与键盘的键位相对应,由它传送所需要的遥控信息。
功能码通常也是由8位原码和8位反码组成。
反码的加入是为了能在接收端校对传输过程中是否产生差错。
(4) 遥控指令码要经过脉冲调制才能形成最终的发射用码,调制的主要目的是为了降低红外发射管的功率损耗,提高发射效率,防止与削弱日光灯等光源的闪烁干扰。
4.2红外解码原理
因红外遥控器的控制距离约6~12m远,要达到这个指标,其发射的载波频率38kHz要求十分稳定,一体化红外接收头SM0038对38KHZ进行解调,当接收到38KHZ的载波信号时,SM0038接收器会输出低电平,否则输出高电平,从而可以将红外光信号解调成一定脉宽的连续方波信号。
方波下降沿触发单片机的外部中断,经单片机解码,来判断是否为有效信号,以及哪一种信号,将信号还原为相应的控制信息[9]。
红外解码的关键就是识别0和1,解码的关键是如何识别“0”和“1”,采用nec的编码格式。
1、头码:
9ms高电平+4.5ms低电平
2、码0:
0.56ms高电平+0.56ms低电平
3、码1:
0.56ms高电平+1.68ms低电平
4、结束位:
0.56ms高电平
发码顺序为先发低位再发高位。
从位的定义可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。
如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。
根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。
5器件介绍
5.1AT89S52单片机简介
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器[10]。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
5.1.1AT89S52单片机主要特性
AT89S52具有下列主要性能:
(1)8KB可改编程序Flash存储器,可经受1000次的写入/擦除周期
(2)三级程序存储器保密
(3)256*8字节内部RAM
(4)32条可编程I/O线
(5)3个16位定时器/计数器
(6)6个中断源
(7)可编程串行通道
(8)片内时钟振荡器
AT89S52是用静态逻辑来设计的,并提供两种可用软件来选择的省电方式——空闲方式和掉电方式。
在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。
在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,一切功能暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。
5.1.2管脚说明
AT89S52单片机的管脚说明如图5-1所示。
(1)主要电源引脚
①VSS电源端
②GND接地端
(2)外接晶体引脚XTAL1和XTAL2
①XTAL1接外部晶体的一个引脚。
在单片机内部,它是构成片内振荡器的反相放大器的输入端。
当采用外部振荡器时,该引脚接收振荡器的信号,既把此信号直接接到内部时钟发生器的输入端。
图5-1AT89S52的引脚
②XTAL2接外部晶体的另一个引脚。
在单片机内部,它是上述振荡器的反相放大器的输出端。
采用外部振荡器时,此引脚应悬浮不连接。
(3)输入/输出引脚P0.0~P0.7、P1.0~P1.7、P2.0~P2.7和P3.0~P3.7。
①P0端口P0是一个8位漏极开路型双向I/O端口。
作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。
②P1端口P1是一个带有内部上拉电阻的8位双向I/O端口。
P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
③P2端口P2是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX@DPTR指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行MOVX@Ri,A指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。
④P3端口P3是一个带有内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写1时,通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89S52 红外 遥控 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)