ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:273.05KB ,
资源ID:28209480      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28209480.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(红外遥控系统基于单片机的红外遥控系统设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

红外遥控系统基于单片机的红外遥控系统设计.docx

1、红外遥控系统基于单片机的红外遥控系统设计单片机设计课程设计题 目: 基于单片机的红外遥控系统设计 专 业: 电气工程系 班 级:_指导小组成员:成 绩:摘要随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的遥控系统开始进入了人们的生活。采用单片机进行遥控系统的应用设计,具有编程灵活多样、操作码个数可随便设定等优点。由于单片机具有集成度高、体积小、可靠性高、价格便宜等优点,其在机电一体化、工业控制、仪器仪表和家用电器等领域得到了广泛应用。当前单片机对家用电器控制呈现出外形简单化、功能多样化、产品智能化的发展趋向。红外遥控技术具有使用方便、功耗低、抗干扰能力强、价格便宜的特点,

2、 因此它的应用前景十分广阔。本课题以延伸红外无线遥控技术为目的,提出了一种红外遥控器集中控制的方案,核心是设计出一个红外接收系统。本设计以红外线作为传递信息的载体,可对受控对象的工作状态进行短距离无线控制,适用于遥控工业、医疗、家用电器等设备的开闭状态。并含有设备计数模块,可对处于工作状态的设备进行计数,并显示出来。课题的重点在于通过软件实现二进制数据的解码工作,然后通过红外收发头进行数据传输控制系统。关键词:红外遥控;单片机控制;显示模块1 引言1.1 课题研究的目的本设计主要研究并设计一个基于单片机的红外发射及接收系统,实现对温度控制、蜂鸣器、LED灯的隔离控制。控制系统主要是由 MCS-

3、51 系列单片机、集成红外发射遥控器、红外接收电路、LCD 显示电路,温度控制电路等部分组成,发射遥控信号经红外接收处理传送给单片机,单片机根据不同的信息码控制温度报警,并完成相应的状态指示。红外遥控是一种无线、非接触控制技术、具有抗干扰能力强,信息传输可靠,功耗低,成本低,易于实现等显著优点,被诸多电子设备特别是家用电器广泛采用。当今社会科学技术的发展与日俱增,人们生活水平也是日益提高,为了减少人们的工作量,所以对各种家用电器、电子器件的非人工控制的要求越来越高,针对这种情况,设计出一种集成度比较高的控制体系是必然的。现代科技的飞速发展在许多危险、不可近场合也对远程控制提出了越来越高的要求。

4、单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。使用红外线做信号载波的优点很多:成本低、传播范围和方向可以控制、不产生电磁辐射干扰,也不受干扰等等。因此被广泛地应用在各种技术领域中。由于红外线为不可见光,因此对环境影响很小,再由红外光波动波长远小于无线电波的波长,所以红外线遥控不会影响其他家用电器,也不会影响临近的无线电

5、设备。最典型的应用就是家电遥控器。红外线遥控不具有像无线电遥控那样穿过障碍物去控制被控对象的能力,所以,在设计家用电器的红外线遥控器时,不必要像无线电遥控器那样,每套(发射器和接收器)要有不同的遥控频率或编码(否那么,就会隔墙控制或干扰邻居的家用电器)。同类产品的红外线遥控器,也可以有相同的遥控频率或编码,而不会出现遥控信号“串门”的情况。这对于大批量生产以及在家用电器上普及红外线遥控提供了极大的方面。2设计任务及要求2.1红外遥控系统的设计与实现任务,主要完成:(1) 对红外遥控温度系统进行硬件设计和软件流程设计,分为主程序设计,数据处理,温度显示程序设计、LED灯和蜂鸣器的开关控制程序设计

6、等;(2)设计LED灯和蜂鸣器的开关控制(3) 软件的调试,功能仿真,画出红外遥控系统的电路原理图。(4) 完成实物,实现功能2.2 红外遥控系统的设计要求:本设计主要研究并设计一个基于单片机的红外发射及接收系统,实现对温度控制的隔离控制。控制系统主要是由 MCS-51 系列单片机、集成红外发射遥控器、红外接收电路、LCD 显示电路,温度控制电路等部分组成,发射遥控信号经红外接收处理传送给单片机,单片机根据不同的信息码控制温度报警,并完成相应的状态指示。(1) 温度传感器对周围环境温度进行检测;(2) 遥控最远距离8到10m;(3) 工作频率为 38KHz,即红外发射和接收的载频为 38KHz

7、;(4) 接收端可显示受控状态以及输入控制数据;(5) 显示程序的设计,用4位数码管显示所测得的温度值;(6) LED灯和蜂鸣器控制程序设计,根据按键进行相应的处理。3 红外遥控系统的硬件设计3.1 本设计方案思路本设计主控芯片采用目前比较通用的MCS-51系列单片机。此类单片机的运算能力强,软件编程灵活,自由度大,市场上比较多见,价格便宜且技术比较成熟容易实现。红外传输利用载波对信号进行调制从而减少信号传输过程中的光波干扰,提高数据传输效率。由遥控器将键盘信息及系统识别码等数据调制在红外载波上经红外发射头发射出去。接收方由红外一体化接收头实现对接收信号的放大解调并还原为数据流,经由单片机解码

8、后对相关IO口进行操作(如图 1)。图 1 红外线遥控系统框图3.2 研发方向和技术关键(1)合理设计硬件电路,使各模块功能协调;(2)红外接收信号的脉冲波形;(3)红外接收信号的编解码;(4)单片机对IO口的操作;红外遥控系统是集中集光、电于一体的系统。其工作原理是用户按键信号经单片机编码处理后转化为脉冲信号,经由红外发射头发送出去;接收端由红外一体化接收头实现对接收信号的放大解调并还原为数据流,经由单片机解码后对相关IO口进行操作,从而完成整个遥控操作。整个系统主要是由51单片机基本电路、红外接收电路、LCD 显示电路,温度控制电路等部分组成。系统硬件由以下几部分组成:红外数据发射遥控器。

9、红外数据接收那么是采用 HX1838 一体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收端 INT0 检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。然后根据所得的指令去操作相应的用电器件工作,如图 2所示。图2 系统总体结构框图3.3.1 单片机最小系统单片机的最小系统主要包括:晶振电路、复位电路等。(1) 晶振电路,即为时钟振荡器,本设计采用12Mhz的晶振。如图2-1所示。(2) 图3-1 晶振电路(2) RST:复位输入。如图3-2所示。图3-2 单片机复位电路(3) 单片机系统。如图3-3所示。3.3.2 红外遥控发射模块原理通用红外

10、遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 遥控发射器专用芯片很多,根据编码格式可以分成脉冲宽度调制和脉冲相位调制两大类,这里我们以运用比较广泛,解码比较容易的脉冲宽度调制来加以说明,组成发射电路编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:图2 遥控码“0”和“1”“0”;“1”。上述“0”和“1”组成的42位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红

11、外发射二极管产生红外线向空间发射,7461产生的遥控编码是连续的42位二进制码组,其中前26位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16位为8位的操作码和8位的操作反码用于核对数据是否接收准确。图3 红外发射码当遥控器上任意一个按键按下超过36ms时,芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开始接收数据。3.3.3 红外接收模块遥控接收器是根据接收到的不同频率的红外光信号,由CPU转化为对应的控制功能对控制电路实施控制。当接收电路接收到第一个

12、红外线脉冲时,中断INT1被触发,启动定时器1和计数器0。定时器1作为计数时间控制器,计数器0作为在规定记数时间内所记得的红外脉冲数。接收信号端接至P3.3和P3.4口,该两引脚为复用引脚,P3.3引脚复用为外部中断1请求输入端;P3.4引脚复用为定时器/计数器0计数脉冲输入端。图 红外接收器红外编码标准发射端所发射的一帧码含有一个引导码、8位用户码、8位用户反码,8位键数据码、8位键数据反码。引导码由一个9ms的高电平和4.5ms的低电平组成。当按下持续时间超过108ms时,那么发送简码(简码由9ms高电平和2.25ms的低电平组成)来告之接收端是某一个按一直按着,象电视的音量和频道切换键都

13、有此功能,简码与简码之间相隔是108ms。“1”和“0”的区分采用脉冲位置调制方式(PPM)。二进制信号的调制二进制信号的调制仍由发送单片机来完成,如图9所示,A是二进制信号的编码波形,B 是频率为38KHz (周期为26s) 的连续脉冲,C 是经调制后的间断脉冲串(相当于C = A B) ,用于红外发射二极管发送的波形。图9 中,待发送的二进制数据为101。二进制信号的解调二进制信号的解调由一体化红外接收头VS1838B来完成,它把接收到的红外信号(图10 中波形D ,也是图9 中波形C) 经内部处理并解调复原,在输出脚输出图10 中波形E (正好是对图9 中波形A 的取反) ,VS1838

14、B 的解调可理解为:在输入有脉冲串时,输出端输出低电平,否那么输出高电平。可直接与单片机串行输入口及外中断相联,以实现随时接收遥控信号并产生中断,然后由单片机对编码还原。图10 红外接收头接收及输出波形二进制信号的解码二进制信号的解码由接收单片机来完成,它把红外接收头送来的二进制编码波形通过解码,还原出发送端发送的数据。如图10 ,把波形E 解码还原成原始二进制数据信息101。3.3.4 LED模拟外围设备模块发光二极管(LED)在电路及仪器中作为指示灯。74HC573八进制 3 态非反转透明锁存器。输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。当锁存

15、使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD。1602LCD主要技术参数主要技术参数主要技术参数主要技术参数: 显示容量:164.35(WH)mm液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否那么此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 图:1602液晶显示模块元件清单序号元器件数量数值作用1R1110k复位电阻2C1110uF电解电容(复位)3C2,C3

16、230pF振荡瓷片电容4晶振112MHz晶振5STC89C521单片机芯片6活动IC座(40脚)17排阻18HXD蜂鸣器1模拟外围器件9LED灯4模拟外围器件10R1-R44100LED限流电阻1116021显示模块12HX18381红外接收器4 红外遥控系统的软件设计4.1 主控程序主控程序很简单,主程序主要是对软硬件环境进行初始化,如在中断服务入口地址添加跳转,跳转到所需要执行的中断服务程序、对所用到的P1,P2口进行初始化,设置外部中断0为下降沿触发,并开中断,然后循环等待外部中断。4.2 遥控发射部分红外遥控信号的发射是由LC7461芯片组成发射电路嵌入在遥控器中, 本设计的重点在于对

17、它发射的红外信号进行解码识别,进而完成相应的控 制。其中发射部分程序固化在遥控器芯片中,当我们按键,会自动执行编 码程序,并进行调制和发射。本遥控发射器采用脉冲宽度调制方式,当不同的指令键被按下时,指 令信号电路产生不同脉冲编码的指令信号,也就是进行编码,然后经调制 电路调制,用不同的脉宽来区分“0”和“1”,产生连续42位二进制码 组,其中前26为用户识别码,能区别不同的红外遥控设备,后16位为8 位的操作码和8位的操作反码用于区别按键,再由驱动电路驱动红外发射 器发射 红外信号。整体过程如下:遥控发射部分过程图4.3 遥控接收处理部分当解码成功之后,内存单元1AH中存放的就是我们所按键的键

18、值,根据键值我们查表取出控制字,可以转移到相应的控制程序,这里为了简便,用控制字开控制开关,当红色开关键时,调用子程序来开关系统,当按下数字键时,对应的小灯会亮,如按键1,那么第一个小灯亮。5 测试结果及分析5.1 实验仪与计算机的连接将实验仪与计算机通过串行口1进行连接,并进行相应的配置,设置波特率,编写简单的程序,如果能够通过计算机对实验仪进行操作,可表示连接正确。可以往下进行试验。5.2 硬件系统的调试要检查我们要使用的一些硬件资源是否完好,是否可用。检查所用到的小灯,蜂鸣器是不是能够控制,检查P2口,P1口,P3口是不是能够控制输入输出,检查红外接收器是不是能够实现接收,检查P3.2口

19、是不是能引发外部中断。对于本试验要用到的遥控器,也要确定是否可用,是否能正确的发射红外信号。通过简单的调试,确定所用资源都可用时,可接着进行软件系统的调试。5.3 软件系统的调试当编写好程序之后,运行不能达到所要的效果,就要检查是不是程序出了问题,通过设置断点,单步运行,了解程序的走向,找出出错的地方,进行修改。通过不断地试验修改,程序终于可以实现所预期的效果。6 总结与体会通过这次的课程设计,让我明白到,理论和实操是两个不同的概念。我们不能一味的依照原本的原理图来操作,要根据实际情况对电路图进行修改。这次课程设计是以自己动手动脑,并亲手设计、制作、组装与调试为特色的。它将基本技能训练,基本工

20、艺知识和创新启蒙有机结合,培养我们的实践能力和创新精神,作为信息时代的大学生,仅会书本理论是不够的,基本的动手能力是一切工作和创造的基础和必要条件。这次课程设计中我主要负责方案设计、仿真及后期调试。通过proteus软件对电路进行设计,仿真。在这一次的课程设计中,我们小组分工合作,良好地完成了红外控制系统设计。在最后的组装和调试中,那么让我们深刻意识到,理论上能行到,到了实践的时候很有可能就会出各种问题,比如这次,我们的程序在开发板上能正常运行,但到了自己焊接的板上就运行不了,最后踩发现原来是外部中断的端口设置出了问题。此外调试的时候虽然是最困难的,也是一个比较烦的环节,由于误差等各方面的原因

21、,显示模块浓度调试出现了较大的问题,难以调出理想的显示,最后经过努力,基本能显示。总的来说,这一次的试训获益良多,首先是培养了我们小组合作的精神,其次是加深了对单片机功能的认识,也让自己编程能力得到了提高,最重要的是提高了自己的动手能力,能让自己学到的知识用到现实的成品中,让我对这个专业更加有兴趣,使我以后学校更加有动力。这次课程设计,让我了解到那些实操的理论也只是纸上谈兵,真正实操起来,很多的知识都不够扎实,所以遇到问题的时候我们不断地翻阅书本,询问老师,在这过程中,学习到了不少的新知识。感谢王哲老师的悉心指导,多次与我们开座谈会,同时为我们搜集提供了重要资料,使得课程设计的圆满成功。老师辛

22、苦了,我衷心地感谢老师您。参考文献3数字电子技术基础主编:余孟尝 (高等教育)4传感器原理与应用主编:黄贤武郑筱霞(高等教育7附录 程序代码#include /包含单片机寄存器的头文件#include /包含_nop_()函数定义的头文件#includelcd_1602.h /1602头文件#includebeep.h /蜂鸣器响一声头文件#includeDigital-18B20.h /包含18B20头文件sbit du=P26; /573锁存器锁存?sbit D1=P10; /白色灯sbit D2=P12; /绿色灯sbit D3=P14; /蓝色灯sbit D4=P16; /红色灯uns

23、igned char a4; /储存用户码、用户反码与键数据码、键数据反码unsigned int LowTime,HighTime; /储存高、低电平的宽度 /*函数功能:对4个字节的用户码和键数据码进行解码说明:解码正确,返回1,否那么返回0出口参数:dat*/bit DeCode(void) unsigned char i,j; unsigned char temp; /储存解码出的数据 for(i=0;i4;i+) /连续读取4个用户码和键数据码 for(j=0;j1; /temp中的各数据位右移一位,因为先读出的是高位数据 TH0=0; /定时器清0 TL0=0; /定时器清0 TR

24、0=1; /开启定时器T0 while(IR=0) /如果是低电平就等待 ; /低电平计时 TR0=0; /关闭定时器T0 LowTime=TH0*256+TL0; /保存低电平宽度 TH0=0; /定时器清0 TL0=0; /定时器清0 TR0=1; /开启定时器T0 while(IR=1) /如果是高电平就等待 ; TR0=0; /关闭定时器T0 HighTime=TH0*256+TL0; /保存高电平宽度 if(LowTime600) return 0; /如果低电平长度不在合理范围,那么认为出错,停止解码 if(HighTime400)&(HighTime1300)&(HighTime

25、=4; /右移四位得到高四位码 date&=0x0f; /与0x0f相与确保高四位为0 if(date=0x09) WriteData(0x30+date); /lcd显示键值高四位 else date=date-0x09; WriteData(0x40+date); date=temp; date&=0x0f; if(date=0x09) /小于9,+30H为ASC码0-9 WriteData(0x30+date); /lcd显示低四位值 else date=date-0x09; /大于9,A以上,-09H 求补,再加40H 对应 WriteData(0x40+date); /ASC码 大写

26、字母 WriteData(0x48); /显示字符H /*函数功能:1602LCD显示*/void Disp(void) WriteAddress(0x40); / 设置显示位置为第二行的第1个字 two_2_bcd(a0); WriteData(0x20); /写入空白符做间隔 two_2_bcd(a1); WriteData(0x20); two_2_bcd(a2); WriteData(0x20); two_2_bcd(a3);/*函数功能:LED闪烁 LED_Flash 入口参数:unsigned char a*/void LED_Flash(unsigned char a) if(a

27、=0x16) /按的是0那么亮四个灯 /16H为按键解码后的代码 du=1; /开控制端 P1=0xaa; /单片机接收到数据后执行的指令 du=0; /若全部LED点亮后需点亮某盏灯需先全部关闭 else if(a=0x0c)du=1;D1=!D1;du=0; /白色亮灭 1 else if(a=0x18)du=1;D2=!D2;du=0; /绿色亮灭 2 else if(a=0x5e)du=1;D3=!D3;du=0; /蓝色亮灭 3 else if(a=0x08)du=1;D4=!D4;du=0; /红色亮灭 4 else if(a=0x19)du=1;P1=0xff;du=0; /全灭 100+ /*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1