基于单片机红外线开关设计_第1页
基于单片机红外线开关设计_第2页
基于单片机红外线开关设计_第3页
基于单片机红外线开关设计_第4页
基于单片机红外线开关设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、.1三峡学院课程设计论文题目:基于单片机红外遥控开关设计院系电子与信息工程学院专业电子与信息工程年级2021级3班学生学生*指导教师完成课程设计论文时间2021年12月目录 TOC o 1-3 h z u HYPERLINK l _Toc406095535一、系统硬件局部设计 PAGEREF _Toc406095535 h 2HYPERLINK l _Toc4060955361、系统硬件设计原理及要求 PAGEREF _Toc406095536 h 2HYPERLINK l _Toc4060955372、系统工作原理 PAGEREF _Toc406095537 h 3HYPERLINK l _

2、Toc4060955382.1红外遥控的根本原理 PAGEREF _Toc406095538 h 3HYPERLINK l _Toc4060955392.2 遥控发射器及其编码 PAGEREF _Toc406095539 h 4HYPERLINK l _Toc4060955402.3红外解码思路 PAGEREF _Toc406095540 h 5HYPERLINK l _Toc4060955413、相关器件简介 PAGEREF _Toc406095541 h 6HYPERLINK l _Toc4060955423.1单片机STC89C51 PAGEREF _Toc406095542 h 6HY

3、PERLINK l _Toc4060955433.2红外接收头1838 PAGEREF _Toc406095543 h 7HYPERLINK l _Toc4060955444、硬件系统相关电路图 PAGEREF _Toc406095544 h 8HYPERLINK l _Toc4060955454.1系统整体原理图 PAGEREF _Toc406095545 h 8HYPERLINK l _Toc4060955464.2单片机控制系统电路 PAGEREF _Toc406095546 h 9HYPERLINK l _Toc4060955474.4继电器触控电路 PAGEREF _Toc40609

4、5547 h 11HYPERLINK l _Toc4060955484.5关于继电器驱动的问题 PAGEREF _Toc406095548 h 11HYPERLINK l _Toc406095549二、系统软件局部设计 PAGEREF _Toc406095549 h 12HYPERLINK l _Toc4060955501、主程序流程 PAGEREF _Toc406095550 h 12HYPERLINK l _Toc4060955512、模块化程序简介 PAGEREF _Toc406095551 h 12HYPERLINK l _Toc4060955523、相关程序代码 PAGEREF _T

5、oc406095552 h 13HYPERLINK l _Toc4060955533.1、主程序模块 PAGEREF _Toc406095553 h 13HYPERLINK l _Toc4060955543.2、红外解码程序 PAGEREF _Toc406095554 h 14HYPERLINK l _Toc4060955553.3、继电器控制程序 PAGEREF _Toc406095555 h 15HYPERLINK l _Toc4060955563.4、所用相关延时程序 PAGEREF _Toc406095556 h 16HYPERLINK l _Toc406095557三、设计调试 PA

6、GEREF _Toc406095557 h 16HYPERLINK l _Toc4060955581、调试前不加电源的检查 PAGEREF _Toc406095558 h 17HYPERLINK l _Toc4060955592、静态检测与调试 PAGEREF _Toc406095559 h 17HYPERLINK l _Toc4060955603、动态检测与调试 PAGEREF _Toc406095560 h 17HYPERLINK l _Toc406095561四、结论 PAGEREF _Toc406095561 h 18HYPERLINK l _Toc406095562附录1 PAGER

7、EF _Toc406095562 h 19HYPERLINK l _Toc406095563附录2 PAGEREF _Toc406095563 h 20基于单片机红外遥控开关设计一、系统硬件局部设计1、系统硬件设计原理及要求在进展系统硬件设计时,首先需要保证的便是整个系统的功能性与稳定性,将各个硬件电路模块进展认真仔细的分析,在通电之前,需要排除断路与短路现象的存在,以保证系统调试平安性,防止上述问题造成的硬件系统损坏等的不良结果,同时还需考虑到本钱的客观因素,以使本设计简单易懂而又经济实用。2、系统工作原理遥控器发出的红外遥控信号经红外接收器1838接收转化成TTL信号后送给STC89C51

8、的中断口1,单片机采集到这些数据后产生外部中断,进入解码程序,对其进展红外解码处理并获得对后置电路所需的控制信息,这些控制信息可直接从I/O口输出,当I/O输出高电平是,使得本设计电路中的三极管9012导通,继电器线圈导通形成磁场,吸住弹片,常闭断开,常开闭合,连通后置电路中的供电电源。继电器控制模块遥控发射模块单片机解码模块红外接收模块值得注意的是,由于继电器的控制线圈有电感,在关断的瞬间会产生较大的反电势,因此需要在继电器线圈上反向并联一个二极管,以保护驱动三极管不被击穿,该设计采用的二极管是IN4148,系统框图如下列图:遥控发射模块:在本设计中应用到的是普通的成品遥控发射器,用来发射含

9、有键码值的红外线,供红外接收头接收。红外接收模块:接收遥控器发射含有键码值信息的红外线,经过接收、放大、整形之后转化成可供单片机识别的TTL电平信号,并送往单片机并被单片机解码。单片机解码模块:单片机对红外接收头传递来的TTL电平信号进展解码处理,得到遥控器的键码值,从而执行后置继电器电路的控制功能。继电器控制模块:单片机驱动继电器的通断工作,从而对后置电路中的供电电源实现开关通断功能控制。2.1红外遥控的根本原理红外遥控的发射电路是采用红外发光二极管来发出经过调制的红外光波,红外接收电路由红外接收二极管、三极管或硅光电池组成,它们将红外发射器发射的红外光转换为相应的电信号,再送后置放大器。发

10、射机一般由指令键(或操作杆)、指令编码系统、调制电路、驱动电路、发射电路等几局部组成。当按下指令键或推动操作杆时,指令编码电路产生所需的指令编码信号,指令编码信号对载波进展调制,再由驱动电路进展功率放大后由发射电路向外发射经调制定的指令编码信号。接收电路一般由接收电路、放大电路、调制电路、指令译码电路、驱动电路、执行电路(机构)等几局部组成。接收电路将发射器发出的已调制的编码指令信号接收下来,并进展放大后送解调电路,解调电路将已调制的指令编码信号解调出来,即复原为编码信号。指令译码器将编码指令信号进展译码,最后由驱动电路来驱动执行电路实现各种指令的操作控制机构。如下列图发射局部包括键盘矩阵、编

11、码调制、LED红外发送器,接收局部包括光电转换放大、解调、解码电路,而整个接收局部将完全由上述的1838红外一体化收头来完成,本设计的发射局部采用成品遥控器来发送控制信号。红外遥控器键盘接收、放大、检波、整形编码和调制红外接收头光电放大解调解码单片机红外遥控系统框图2.2遥控发射器及其编码遥控发射器专用芯片很多,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以WD6122遥控发射器专用芯片组成发射电路为例说明编码原理,该芯片类型的遥控发射器成品键码值如下列图。 本设计使用的成品遥控器键码图当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽

12、调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1,其波形如下列图。遥控编码的“0和“1上述“0和“1组成的32位二进制码经38kHz的载频进展二次调制以提高发射效率,到达降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。WD6122 产生的遥控编码是连续的32位二进制码组,所发射的一帧码含有一个引导码,16位用户编码和八位数据编码,数据编码的反码也同时被传送,编码构造如下列图: 遥控器发射的32位码组图引导码由一个9ms的载波波形和一个4.5m

13、s的关断时间构成,它作为随后发射码的引导码,这样当接收系统是由微处理器构成的时候,能更有效的处理码的承受与检测及其他各项控制之间的时序关系。编码采用脉冲位置调制方式PPM,利用脉冲之间的时间间隔来区分“0和“1。每次8位的码被传送之后,他的反码也被传送,减少了系统的误码率,这也为后续的解码程序的编写提供了自行检测是否误码的手段。2.3红外解码思路遥控器将按键信息进展编码后调制到红外线的*个频率通过发光二极管发射出去,红外接收管接收到发射管发出的红外信号后对该信号进展解调原始编码信息,红外遥控接收头解调出的编码是串行二进制码,包含着遥控按键信息,但它还不便于CPU读取识别,因此需要先对这些二进制

14、码进展解码。当遥控器上任意一个按键按下超过36ms时,控制芯片的振荡器使芯片激活,将发射一个特定的同步码头,对于接收端而言就是一个9ms的低电平,和一个4.5ms的高电平,这个同步码头可以使程序知道从这个同步码头以后可以开场接收数据。 解码的关键是如何识别“0和“1,从位的定义我们可以发现“0、“1均以0.56ms的低电平开场,不同的是高电平的宽度不同,“0为0.56ms,“1为1.68ms,所以必须根据高电平的宽度区别“0和“1。如果从0.56ms低电平过后,开场延时,0.56ms以后,假设读到的电平为低,说明该位为“0,反之则为“1,为了可靠起见,延时必须比0.56ms长些,但又不能超过1

15、.12ms,否则如果该位为“0,读到的已是下一位的高电平,因此取1.12ms+0.56ms/2=0.84ms最为可靠,一般取0.84ms左右即可。 根据红外编码的格式,程序应该等待9ms的起始码和4.5ms的结果码完成后才能读码。单片机把解码所得的二进制存入相应的存储单元,这样就完成了*一按键的红外解码操作,同样地,按此可以实现其它按键的红外解码,最后形成遥控器按键相应的键值表。就这样单片机程序就可以识别遥控器相应的功能键,通过遥控器向单片机发出相应的命令,单片机接收到命令后通过驱动电路使继电器动作从而实现用电设备的开关。3、相关器件简介本章将对设计中所涉及到的单片机STC89C51、红外遥控

16、接收头1838以及电磁继电器进展简单介绍。3.1单片机STC89C51STC89C51单片机学习板是一款基于8位单片机处理芯片STC89C52RC的系统。STC89C51的特点(1)增强型1T 流水线/精简指令集构造8051 CPU(2)工作电压:3.4V-5.5V 5V单片机/ 2.0V-3.8V 3V 单片机(3)工作频率围:0 -35 MHz,相当于普通8051 的0420MHz.实际工作频率可达48MHz.(4)用户应用程序空间12K / 10K / 8K / 6K / 4K / 2K字节(5)片上集成512 字节RAM(6)通用I/O 口27/23个,复位后为:准双向口/ 弱上拉普通

17、8051 传统I/O 口可设置成四种模式:准双向口/ 弱上拉,推挽/ 强上拉,仅为输入/高阻,开漏每个I/O 口驱动能力均可到达20mA,但整个芯片最大不得超过55mA(7)ISP在系统可编程/IAP在应用可编程,无需专用编程器可通过串口P3.0/P3.1直接下载用户程序,数秒即可完成一片(8)EEPROM 功能(9)看门狗(10)部集成MA*810 专用复位电路外部晶体20M 以下时,可省外部复位电路(11)时钟源:外部高精度晶体/ 时钟,部R/C 振荡器。用户在下载用户程序时,可选择是使用部R/C 振荡器还是外部晶体/ 时钟。常温下部R/C 振荡器频率为:5.2MHz 6.8MHz。精度要

18、求不高时,可选择使用部时钟,因为有温漂,请选4MHz 8MHz(12)有2个16 位定时器/ 计数器(13)外部中断2 路,下降沿中断或低电平触发中断,Power Down 模式可由外部中断低电平触发中断方式唤醒(14)PWM( 4 路/ P C A可编程计数器阵列,也可用来再实现4个定时器或4个外部中断(上升沿中断/ 下降沿中断均可支持)(15)STC89Cc516AD具有ADC功能。10 位精度ADC,共8 路(16)通用异步串行口(UART)(17)SPI同步通信口,主模式/ 从模式(18)工作温度围:0 -75/ -40 -+85STC89C51的DIP封装40引脚分布STC89C51

19、单片机的DIP封装拥有40个引脚,其中P0P1P2P3四组I/0口,总共32个I/O口引脚,另外包括一个电源VCC引脚,两个晶振引脚一个接地端引脚,一个复位引脚,以及EA引脚、ALE引脚、PSEN引脚,总共40个引脚,引脚分布如下列图。3.2红外接收头1838红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本设计中采用红外一体化接收头1838,在用小功率发射管发射信号情况下,其接收距离可达15m。它能与TTL、S 电路兼容,接收红外信号频率为38 kHz,同时能对信

20、号进展放大、检波、整形,得到TTL 电平的编码信号。三个管脚分别是地(GND)、5 V 电源(VCC)、解调信号输出端(接单片机外部中断)。红外一体化接收头的测试:可以在1838 的电源端与信号输出端之间接上一只二极管及一只发光二极管后,再配上规定的工作电源为5V,当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外接收头的优劣。由于供电电源存在干扰,应该对电源端进展滤波处理,处理方法为:电源端与接地端之间连接一个100左右的电阻以及一个47uF左右的电容,本

21、设计采用0.1uF电容滤波同样能够满足设计要求。1838的经典应用原理图如下列图:1838 OUTPUT 单片机I/O口GND C1 VCC+5V R24、硬件系统相关电路图提供该设计中所涉及到的系统整体原理图以及模块电路的原理图,如红外接收模块、USB供电模块、单片机解码控制模块等。4.1系统整体原理图整个原理图中包括,单片机解码模块,红外接收头模块,继电器控制模块,USB供电模块,而本设计的红外发射模块采用市面上普通的成品遥控发射器。4.2单片机控制系统电路单片机接收红外接收头输出的电平信号产生中断,处理中断效劳程序即红外解码程序并完成对继电器的驱动控制,实现电源开关控制功能,如下列图。4

22、.3红外接收头电路遥控器发出的红外遥控信号经红外接收器1838接收处理后直接送给单片机的中断口1,如下列图。4.4继电器触控电路采用5V电磁继电器,在单片机的I/O口输出一个高电平的时候,将驱动晶体三极管9013导通,使得电磁继电器的控制线圈通断形成磁场,可是应该在继电器线圈上加二极管阻断线圈反电势以保护三极管9012,如下列图。4.5关于继电器驱动的问题在整个硬件设计过程中,所遇上的主要问题是如何驱动继电器工作,由于单片机的I/O口在直接连接继电器控制线圈引脚上缺乏使得继电器线圈以产生拉动弹片的磁场,所以需要对输入的驱动电流进展放大,而在继电器驱动电路上添加一个三极管,则可以解决这个问题。当

23、然,为了防止后置电路中的电源对整个控制系统造成干扰,如有条件,更好的是在三极管与单片机之间增加一个光耦进展光电隔离,值得注意的是,光耦不能够与整个控制电路共用同一个电源,不然不能够实现隔离效果,所以加上隔离光耦为使得系统更加稳定,则还需要设计一独立电源。如图2.18所示,图中两个+5V电源不能为同一个供电电源,R1-R3使用的阻值为1K左右,3、4引脚接后置电路即可。二、系统软件局部设计1、主程序流程 循 环 判 断 主程序开场初始化中断继电器控制程序是否按键.红外解码程序中断返回中断开场图3.1 系统软件工作流程流程说明:在遥控器按下键码的时候,发射的红外线被一体化接收头接收后输出TTL电平

24、信号,对单片机造成外部中断,进而单片机对红外接收头传来含有编码信息的TTL电平信号进展解码,然后程序中处理得到的键码码值再传至控制程序,如本设计中的继电器控制程序,处理继电器控制程序以实现本设计所要求的开关控制功能,当没有按键按下,程序返回到主程序的最开场,重新进展键码判断。2、 模块化程序简介模块化程序设计即模块化设计,简单地说就是程序的编写不是开场就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要构造和流程描述出来,并定义和调试好各个框架之间的输入、输出关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进展程序设计,实现其求解算法的方法称为

25、模块化。模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化,而在模块化C程序设计的过程中包含*.c和*.h两种重要的文件。3、相关程序代码本节将介绍整个系统设计中所涉及到的软件程序代码,包括主程序模块代码、红外解码代码、继电器控制代码以及应用到的主要延时功能代码。3.1、主程序模块*include*include*includemacroandconst.h*includeinfr.h /红外解码程序头文件声明*includeControl.h /继电器控制程序头文件声明void Inital() IE = 0*84; /允许总中断中断,使能 INT1 外部中断; TCON

26、= 0*04; Main()Inital();P2=0*00; /驱动晶体管是高电平,所以一开场将while(1) / I/O的电平拉低;if(PassWord!=0)/PassWord在红外解码的头文件当中定义,可/以直接在此引用。Relay(); /继电器控制程序; void E*ter1() interrupt 2 /外部中断程序; IR_IN(); /红外解码功能子程序调用; 3.2、红外解码程序*include*includemacroandconst.h*includeDelay.h /延时程序头文件声明;*includeControl.hsbit IRIN=P33;uchar I

27、R7;uchar PassWord=0;/*函数名称:红外解码程序 函数功能:对红外接收头输出信号进展解码并编码*/void IR_IN() /红外解码程序unsigned char j,k,N=0; E*1 = 0; /关断外部中断,一面再次接接收,delay(15); / 造成程序混乱; if (IRIN=1) /引导码是以低电平开场,所以一开场得检测 E*1 =1;/再次翻开外部中断,接收系统码和数据码以及return;/ 数据反码确认IR信号出现 while (!IRIN) /等IR变为高电平,跳过9ms的前导低 /电平信号。 delay(1); while (IRIN) /等 IR

28、变为低电平,跳过4.5ms的前导 /高电平信号。 delay(1); for (j=0;j4;j+) /收集四组数据 for (k=0;k=30) /判断是否超时E*1=1; return; /0.14ms计数过长自动离开。 /高电平计数完毕 IRj=IRj 1; /数据最高位补“,不是接 if (N=8) /收串口数据,而是根据脉 /冲的延时来判断1和0;j = IRj | 0*80; /数据最高位补1 N=0; if (IR2!=IR3) /判断承受的数据与其反码是 /否相等,相等则重新接收;E*1=1;return; PassWord=IR2; /将接收到的按键码值赋值给变量; E*1

29、= 1; 3.3、继电器控制程序*include*includemacroandconst.h /附录1中包含文件信息;*includeInfR.h*includeDelay.hsbit Relay_1=P20;sbit Relay_2=P21;sbit Relay_3=P22;sbit Relay_4=P23;/sbit P2_0=P20;/*函数名称:继电器控制程序函数功能:实现对继电器的红外控制*/void Relay()switch(PassWord)case 0*0c: /遥控器1键的键码;Relay_1=Relay_1; /实现I/O口的上下电平 /转换,控制制驱动晶体管的 /通断

30、,从而控制继电器开合。break;case 0*18: /遥控器2键的键码;Relay_2=Relay_2;break;case 0*5e: /遥控器3键的键码;Relay_3=Relay_3;break;case 0*08: /遥控器4键的键码;Relay_4=Relay_4;break;PassWord=0;/每次处理完控制程序之后需要将其值清零;3.4、所用相关延时程序*include*includemacroandconst.h/*函数名称:延时函数 函数功能:实现*0.14MS的延时*/void delay(uchar *) /*0.14MS uchar i; while(*-) f

31、or (i = 0; i13; i+) 三、设计调试控制电路板的安装与调试在整个电路的设计中占有重要位置,它是把理论付诸实践的过程,也是把纸面设计转变位实际产品的必经阶段。对试验阶段的电路板的安装一般有两种方式即焊接方式和面包板插接方式。使用面包板焊接更加方便,容易更换线路和器件,而且可以屡次使用。本设计常用的调试仪器有:万用表、稳压电源、示波器、信号发生器等。1、调试前不加电源的检查对照电路图和实际线路检查连线是否正确,包括错接、少接、多接等;用万用表电阻档检查焊接和接插是否良好;元器件引脚之间有无短路,连接处有无接触不良,二极管、三极管、集成电路和电解电容的极性是否正确;电源供电包括极性、

32、信号源连线是否正确;电源端对地是否存在短路用万用表测量电阻。经过上述检查,我们发现我们所设计的电路存在错接和连接处不良接触的问题,经过细心的检查后,解决了上述的一些电路上的问题。2、静态检测与调试断开信号源,把经过准确测量的电源接入电路,用万用表电压档监测电源电压,观察有无异常现象:如冒烟、异常气味、手摸元器件发烫,电源短路等,如发现异常情况,立即切断电源,排除故障;我们的电路在此项测试中如无异常情况,接着我们又分别测量各关键点直流电压,如静态工作点、放大电路输入、输出端直流电压等是否在正常工作状态下,结果有个别电路不符,经过调整电路元器件参数、更换元器件,使电路最终工作在适宜的工作状态;对于放大电路我们还用示波器观察是

温馨提示

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

评论

0/150

提交评论