毕业设计论文红外遥控电路软件部分

上传人:无*** 文档编号:63815215 上传时间:2022-03-20 格式:DOC 页数:47 大小:1.72MB
返回 下载 相关 举报
毕业设计论文红外遥控电路软件部分_第1页
第1页 / 共47页
毕业设计论文红外遥控电路软件部分_第2页
第2页 / 共47页
毕业设计论文红外遥控电路软件部分_第3页
第3页 / 共47页
点击查看更多>>
资源描述
毕业设计(论文)题 目: 红外遥控电路(软件部分) 学 院: 信息工程学院专业名称: 自动化班级学号: 学生姓名:指导教师: 二零一五年六月 一种微功率汽车遥控钥匙(软件部分)学生姓名:余晶 班级:110443指导老师:吴国辉摘要:随着社会的发展,汽车越来越普及,汽车钥匙在汽车行业中也显得尤为重要,可以为车主提供更方便的操作体验,同时也可以保证汽车的安全。在本次设计中采用红外控制,这种控制具有很强的适用先进性和灵活性而且不容易受到其他信号的干扰。本设计是红外发射部分和红外接收部分这两部分构成。发射部分通过AT89C51单片机来进行编码,接收部分由AT89C51单片机进行解码,然后再进行相应的遥控控制和利用LCD1062显示。本文是一种微功率的汽车遥控钥匙的软件部分的设计,所以本文详细的介绍发射部分编码程序的基本原理和程序框架以及接收部分的解码程序的原理和程序框架,在此过程中介绍显示以及控制操作的程序原理。系统在实际测试以及最后的显示测试中证明可行可靠具有使用的价值。关键词:AT89C51单片机,红外编码,红外解码, LCD1062液晶指导老师签名: A remote of a micro power key for car(software part)Student name : yujing Class :11044329Supervisor : wuguohuiAbstract:With the development of society, automobile is becoming wide spread, car keys are playing a particularly important role in the automotive industry, providing a more convenient operating experience, also can guarantee the automobile safety. Infrared is used control in the design which with highly advanced and applicable and flexible and are not prone to other signal interference. The design includes two parts: receiver and transmitter. Transmitting part based on the single-chip microcomputer AT89C51 to encode, receiving part consists of AT89C51 MCU decoding, and then the corresponding remote control and using lcd1062 display. This paper is the design of a micro power car remote control key part of the software, so this paper detailed introduction emission coding procedure basic principle and program frame and the receiving part of the decoding process principle and program frame. In this process the display and control principle of operating procedure. The system in the actual test and final test proved to be feasible and reliable display has the use value.Keywords: AT89C51 microcontroller, infrared code, infrared decoder, LCD1062 Signature of Supervisor:目 录1 绪论.11.1课题的目的以及意义.11.2设计的基本要求22 整体方案设计32.1红外遥控软件设计的思路32.1.1红外线的介绍32.2.2任务设计可行性方案43 硬件的软件操作63.1系统主要控制部分:AT89C51单片机63.1.1 AT89C51单片机简介63.1.2 单片机最小系统73.2 发射部分83.2.1 按键部分83.2.2 红外发射部分93.3 接收模块93.3.1 红外接收头93.3.2继电器控制模块.103.3.3 LCD1602显示模块.114 软件设计.154.1 红外编码特点.154.2 发射部分软件设计.164.3 接收部分的软件设计.194.3.1 主程序设计194.3.2 红外解码程序设计.204.3.3:LCD1602显示软件设计.225 软件调试.235.1软件调试.245.1.1软件的编译.245.1.1发射部分调试245.1.2接收部分调试.245.1.3 软件的烧录.245.2 软件调试结果.25总结.27致谢.28参考文献.29附录.30 附录1整体硬件电图.30附录2发射部分软件30附录3接收部分软件35一种微功率汽车遥控钥匙(软件部分)1 绪论1.1课题的目的以及意义科学技术的快速进步,人们对于生活的节奏要求也变得越来越高,因此人们一直在需求更快更方便的生活方式,在后来科学家发明了遥控器,伴随着遥控器的发展慢慢的满足了人们对于快节奏生活的要求,使得人们可以从很远的地方完成操作控制。随着社会科技以及电气的发展,各种无线远距离控制工具便进入了大众的视线。在其中汽车遥控钥匙也是其中一个很重要的组成部分。在现在很多汽车遥控中都是采用对频技术来实现控制汽车的1。在1800年科学家威廉.赫歇尔发现了红外线,经过长时间的发展在20世纪70年代红外遥控技术开始慢慢的发展起来。在日常生活中红外线的使用十分普遍,红外线是在一定特定频段的不可见波,在传输过程中室分稳定,不会受其他的信号的干扰。红外发射管发射的有效的距离可以差不多8-10m,可以满足对汽车的控制。而且红外通信控制的功率低,这就增加了遥控器的续航能力。本课题就是对红外线的传输特性进行研究,通过两块单片机实行对红外线的编码发射和解码接收并产生控制的一个过程,在此过程中就实现了两个单片机之间的通讯。在未来的智能社会的发展的趋势中硬件与硬件之间的无线通讯将会在人们的生活中扮演重要的角色。本课题中过单片机外加红外发射管组成一个手持的遥控2。利用单片机产生编码发射出去。利用单片机加接收头就可以组成一个接收的模块。在其中具有简单,操作性强,安全等特点。 红外线技术的诞生以及应用对于现在以及未来具有十分重要的意义。红外线被广泛的运用在社会的民用领域,医用领域以及军用领域。在民用领域中主要是各种电器类遥控,在医用领域中红外成像技术起到了十分重要的作用,军用领域中红外制导技术在其中扮演了重要的作用。红外技术在汽车行业中也起到了十分重要的作用比如说红外防撞雷达3-6,红外烤漆等技术,随着红外编码技术电子硬件控制技术的发展,红外传输在生活和工业中的发展也发生巨大改变。自从建立了统一的红外传输标准之后,有力地推动了红外产品的发展。由于建立红外传输的标准在现在个人的移动通信终端的发展和汽车行业的快速发展红外控制得到了极大的发展,汽车的控制很多都利用到了红外通信。因为可以通过红外通信的编码协议可以对红外线进行加密而且采用可编程芯片实现编码解码控制十分容易而且还可以自己自定义密码加密性和自由度将大大提高。在将来物联网的发展,汽车也会并入物联网的范畴中,手机等一些移动终端就可以通过红外通信控制汽车和电器。这样将会极大的推动红外通信和物联网的发展。而且在现在现在电子技术飞速发展的今天各种智能设备层出不穷,比如所智能娃娃,智能家电等其中都将会用到无线控制,在控制过程中通过可控的编码方式可以实现加密并且不同的遥控不会相互干扰,因此来说红外控制技术将是不错的选择。红外通信控制会在未来的社会中扮演十分重要的角色。本设计就是通过两块单片机实现红外编码,红外解码,使其相互匹配然后实现相对应的操作和显示本设计具有广泛的适用性和可拓展性。1.2 设计的基本要求1)在本次的设计中具有5个功能:开启门锁,关闭门锁,进入警报状态,解除警报状态,后备箱锁(即发射部分可以发射出5种红外编码 信号)。2)在5个状态下通过LCD1602进行显示出相对应的工作状态。3)发射部分和接收部分是一一对应的关系。对于其他的设备不产生干扰。4)门在打开没有人关闭的状态下经过30秒可以自动关闭。2 整体方案设计2.1红外遥控软件设计的思路2.1.1红外线的介绍红外线也称作做红外光波,红外光波按波长范围的不同可以分为近红外、中红外、远红外、极红外4这四种。红外线遥控就是利用波长为0.76um1.5um 的近红外光来进行传送遥控信号。把近红外线用来作为遥控光源的原因是,是因为红外发射类电子元件(红外发光管)与红外接收类电子元件(光敏二极管、三极管及光电池)的发光与受光峰值波长一般为0.8um0.94um,在近红外光波段的范围内,二者的光谱可以很好的重合在一起7,能够很顺利地进行匹配传输效率以及可靠性较高。2.1.2红外遥控的原理 红外遥控发射部分通过红外红外发射管把单片机调制的电信号转化为近红外线信号发射出去。红外遥控的接收部分是由红外接收管和单片机组成,把发射管的信号接收后传递给后置单片机处理。发射部分:发射部分由按键电路,指令编码系统系统,信号调制系统和发射电路组成。当我们按下按键时,指令编码系统对应的按键对其进行编码,指令编码信号经过38K载波进行调制,然后再由驱动电路来进行功率放大,再由发射电路把调制后的编码指令信号发射出去(如图2.1所示 )。按键编码信号调制红外发射38K载波信号图2.1红外发射流程接收部分:接收部分一般由红外接收电路,信号解调系统,信号解码系统,显示电路和操作执行电路组合而成。接收电路把发射电路发射出来已经调制好的指令编码信号进行接收,然后进行信号放大后送给信号解调系统解调,通过信号解码系统把发射信号还原为编码信号。指令译码器将会把编码指令信号进行译码,最后再由驱动电路来执行控制电路实现与各种指令相对应的操作控制(如图2.2)。接收信号解调信号解码执行控制图2.2红外接收部分流程2.2任务设计可行性方案方案一:利用红外编码芯片以及发射电路来实现红外遥控的编码,再经过38K 的载波信号调制后将编码信号发射出去。因为本次设计是从事软件部分,所以可以直接购得这种基于红外编码芯片的遥控器,再来查的其里面的编码信号。然后再来用单片机操作系统实现解调和操作执行的过程(如图2.3所示)红外编码芯片红外信号发射红外接收单片机解码系统控制电路图2.3可行性方案一方案二:利用按键。单片机编码系统和发射电路构成一个红外信号发射电路。通过单片机来检测按键高低信号的变化,来实现相对应的编码,产生控制脉冲信号。然后再通过发射电路来发射出去。然后再来用单片机操作系统实现解调和操作执行的过程(如图2.4所示)按键控制电路单片机红外编码系统红外发射红外接收单片机红外译码系统控制电路图2.4可行性方案二通过以上两种方案来说,第一种方案直接用编码芯片,所以做软件部分本设计只用完成接收部分的系统控制。但是发射部分没有用到单片机编码数量过于有限。对于相同的接收部分容易产生干扰。不便于汽车的控制。第二种方案直接利用单片机进行编码可以从0x00到0xFF。操作范围广操作程序便于改动适用性特别强,也利于汽车遥控的安全性。 综上所述采用第二种方案。通过单片机检测按键的信号状态来实现对应的编码,再经由单片机模拟产生38K的载波信号的调制后由红外发射模块发射出去。接收模块的红外接收管接收发射模块发射的指令编码信号8。经过解调后由单片机译码系统来进行译码。当译码指令与发射的指令编码信号相一致的时候便执行继电器的开合以及由LCD1602完成相应的操作显示。3 硬件的软件操作3.1系统主要控制部分:AT89C51单片机3.1.1 AT89C51单片机简介 AT89C51单片机是一种40个引脚。具有4K的快速闪存储存器,128B的RAM.4组IO口的微型处理器。4组IO口具有输入输出的作用.具有定时器和计数器。可以完成相应的中断和计数操作。其中通过20号引脚接在电源地,40脚接在电源正极。其中18脚和19脚接晶振,提供一个单片机工作脉冲。AT89C51具有低功耗、处理速度高、使用方便等特点。被广泛的应用于生活和工业中。AT89C51引脚图如图3.1所示图5.1 AT89C51引脚3.1.2 单片机最小系统单片机最小系统由5V的电源电路。复位电路和晶振电路构成。在其中5V的电源电路接单片机的40脚和20脚。复位电路接单片机的9脚,当复位时会有持续2US的高电平信号便可以使得单片机系统重新复位。晶振电路接在单片机的18脚和19脚。一般采用晶振为11.0592M的晶振。晶振就像单片机的“心脏”。单片机内部的每条指令的运行都是按照机器周期来来执行的,实际上一个机器周期就是由12个晶振周期组成的。单片机的正常运行就是建立在最小系统的基础上的。 图3.2单片机最小系统3.2 发射部分3.2.1 按键部分在本次课题设计中。采用5个按键开关,按键的一端接地一端接单片机的P10到P14端口(如图3.2.1).在开始的时候给此处的I/O口至于高电平状态,然后让单片机一直处于扫描这些I/O口是否发生电平变化。当按键按下此处的I/O口便与地相连形成一个低电平。单片机的扫描程序一旦检测到I/O变为低电平就说明有按键被按下,于是就执行相应的指令操作。在软件的编写的过程中首先用sbit分别定义K1=P10,K2=P11,K3=P12,K4=P13,K5=P14。然后用if语句。例如if(K1=0)来检测P10到P14端口的电平状态来判断按键操作。图3.3按键接口电路图由于使用的是机械按键所以在按下按键和释放按键的操作过程中发生瞬间的机械抖动的现象(如图3.2.2所示)。抖动的时间和按键的机械特性有关一般抖动时间在510ms之间。按键的机械抖动对于单片机读取一次按键操作有巨大的干扰。假如产生一次较大的机械抖动单片机就会认为完成了一次按键操作,然而实际并没有。所以要采取消抖的措施。一般采用软件延时。AT89C51是一个12个时钟周期等于1个机器周期的单片机,如果使用的晶振是11.0592M的话,执行一条单指令的 NOP 需要 12*(1/11.0592M)=1.09us的时间。所以设置一个延时的子函数。采用两个for语句来延时。这样大概就是延时了xms;设置xms为510之间的一个数值便可以完成消抖操作。for(i=xms;i0;i-)for(j=110;j0;j-) 图3.4按键信号抖动状态3.2.2 红外发射部分本次的设计中红外发射电路接在单片机的P22口,单片机将经过调制的编码指令信号通过P22口经由三极管放大过后由红外发射管发射出来正如图3.5所示。图3.5红外发射图3.3 接收模块3.3.1 红外接收头此次设计的红外接收头为VS1838B,信号输入脚接单片机的P32口,当VS1838红外接收管接收到经过调制的红外编码信号的时候,这时候VS1838B红外接收管将38K的载波信号过滤掉。然后再将红外编码信号传给单片机处理图3.6红外接收3.3.2继电器控制模块继电器分别接在P15,P16,P17这三个端口上。分别用来控制车门开关。后备箱开关和报警器这三个状态。开始将这三个继电器接在单片机上的三个端口置于高电平的状态,继电器的另一端也是接在电源的正极。当译码正确时就将对应的端口取反。于是就使得继电器导通13-15。在编写程序时需要利用sbit 分别定义S1= P15,S2= P16,S3= P17.然后再使得S1=S2=S3=1于是就可以使得将三个端口置为高电平。假如在译码时相匹配时就利用S1=!S1语句来把状态置反。于是继电器就闭合。在S1=!S于是继电器又断开9。就是利用置反来操作继电器的通断,如图3.7所示 图3.7继电器控制电路3.3.3 LCD1602显示模块3.3.3.1 LCD1602基本介绍 LCD1602内置了128个字符ASCII字库。这种显示器可以显示两行。每行可以显示16个字符。显示器一共有16个管脚12,其通信方式为并行通信。显示器如下图所示。 图3.7.1LCD1602实物图图3.8 LCD16022管脚图3.3.2.2 LCD1602基本操作时序:LCD1602存在四个状态,分别为读状态,读数据,写指令。写数据。在其中都是通过设置RS,R/W,E的电平状态来完成对状态字和数据的读写操作。基本的操作时序如下表格3.1所示。操作时序图如图3.9所示。表3.1读状态输入:RS=0:R/W=1;E=1输出:D0D7=状态字读数据输入:RS=1;R/W=0;E=1输出:无写指令输入:RS=0;R/W=0;E=高脉冲 D0D7=指令码输出:D0D7=数据写数据输入:RS=1;R/W=0;E=高脉冲 D0D7=数据输出;无图3.9LCD1602读操作的时序图图3.10 LCD602的写操作3.3.3.3 RAM地址映射以及数据指针的设置在单片机的内部带有80B的RAM缓冲区,图3.3.3就可以反映出对应关系。 图3.11液晶地址图当我们向其中的000F,404F中的任何一处地址写入显示数据的时候都可以显示出,当我们写入数据到1027或者5067地址中的时候我们都必须通过移屏指令将他们移植到可显示的区域才可以实现显示。3.3.3.4 LCD1602操作在对液晶LCD1602进行写命令操作和写数据操作之前我们需要首先进行液晶的初始化的操作。那该如何来进行初始化呢?第一步我们应该设置液晶的显示方式,包括格式显示光标的显示。第二部来一个大约5ms10ms的延时,为了显示器的稳定。第三步进行显示缓存的清理,让显示清0.还有数据指针清0.。第四步进行设置显示的模式。以上四步操作便完成了液晶的初始化的操作。然后就可以进行液晶的读写操作了。分别利用写命令操作的函数和写数据操作的函数来完成在进行写数据的时候一定要有一个短暂的延时大约5ms因为这样可以保证写数据的稳定性。时间太短不稳定,太长了显示速度太慢。在写到第二行的时候需要重新进行定位数据指针,利用0x80+地址来进行定位第二行的数据指针。 4 软件设计4.1 红外编码特点红外编码信号构成是:引导码+客户码1+客户码2+操作码+操作反码引导码:如下图4.1所示其中的9ms高电平与4ms低电平组成引导码,当单片机检测到这个引导码的信号就会准备 接收后面的数据。图4.1引导码客户码:客户码就是每个红外设备的特征,使得不同的设备不会产生干扰。操作码:操作码就是与操作执行相匹配的指令。可以让执行电路有不同的操作的指令编码。操作反码:操作码的反码,当接收到操作码时将操作码取反,然后与操作码进行比较,然后确定是否相等。可以提高传输信号觉得准确度。客户码,客户反码,操作码和操作反码都是有8位的二进制编码我们知道二进制编码都是用0,1来表示的,在红外编码中利用0.565ms的高电平信号+0.565ms的低电平信号组合来表示二进制中的0,利用0.565ms的高电平信号+1.685ms的低电平信号来表示二进制中的1(如图4.2所示)。 图4.2 红外编码中的0,1状态利用红外编码的0和1就可以进行编码了。一个完整的红外编码格式(如图4.3所示)。图4.3红外编码格式4.2 发射部分软件设计 发射程序由按键扫描程序,编码发送程序和主函数构成。在主程序开始后就开始对程序进行初始化,然后就调用按键的扫描程序,假如检测到按键按下然后就完成对应的编码发送操作(如图4.4)。开始初始化调用扫描按键程序是否按下按键执行红外编码程序发送编码YESNO图4.4发射部分主程序在发送的过程中首先发送9ms高电平+4.5ms低电平的引导码。当发送完成时便开始发送客户码1和客户码2.。最后发送操作码和操作反码(红外编码以及发送程序流程图如图4.5所示)最后还发送一个9ms高电平和4.5ms的低电平,然后将标志位置于初始状态,为下一次的发射做好准备。在发送前调用定时器0.通过定时器0来产生38KHZ的信号10。当检测到红外发送的标志位为1,然后就发送38KHZ的方波信号作为作为载波信号。在发射编码信号的时候编码经过38K的载波信号调制而后发射出去。在其中通过设置定时器0工作在2的方式下。也就是设定TMOD=0x02,然后再来设定TH0=0xFF; TL0=0xE6。这样我们就可以通过计算得到一次计时为13us,在检测到红外发射标志位为1的时候就对载波信号取反。就是13us的高电平和13us的低电平,于是就可以求到载波信号的频率为38.5KHZ大约为38KHZ的载波信号,于是编码信号就通过载波信号的调制后发射出去。开始等待引导码发送完毕发送9MS高电平信号发送4.5MS低电平信号等待结果码发送完毕发送客户码1发送操作反码发送操作码发送客户码2发送重复码发送完毕开始开定时器延时等待0.565MS高电平信号发送完毕是否发送完毕发送1.695MS低电平信号是否发送8位结束YESYESNONO发送红外编码软件流程8位红外编码软件流程图4.5红外编码流程图4.3 接收部分的软件设计4.3.1 主程序设计 接收部分的软件主要有两部分构成解码部分和操作执行部分。操作执行部分的软件有LCD1602显示部分和继电器控制部分。在进入主程序进行定时器和中断的初始化,然后就准备来接收引导码11。假如已经成功的接收到引导码那就进入红外解码。当完成了红外解码就开始进入操作执行的部分通过控制继电器来完成对汽车的控制。同时利用LCD1602来进行显示控制的状态。主程序的软件流程图如图4.3.1所示。开始初始化是否接收完引导码接受客户码,操作码,操作反码是否完整接收客户码,操作码操作反码驱动电路执行和显示YESNOYESNO图4.6红外接收主程序流程图4.3.2 红外解码程序设计红外指令编码由引导码,客户码1,客户码2,操作码和操作反码构成。所以在接收的时候也是按照这个顺序。定时器和中断初始化完成后解码程序就等着引导码的出现,通过延时来判断是否为是否为引导码。等待9ms的引导码的结束。再来等待4.5ms的结果码。假如完成则进入高电平等待。假如高电平的时间超过0.565ms则储存1否则保存0.然后再来判断接收的位数。假如接收完了8位则可以进入接收操作码和操作反码。最后来判断操作码和操作反码是否相匹配,假如相匹配红外线则接收完成,红外线接收流程如图4.7所示。在其中利用定时器来计时。通过定时器来判断信号的时间的长度从而来判断传来的信号是0还是1。红外接收子程序保存为“1”等待进入高电平状态接收无效保存为“0”等待引导码出现延时判断是否为引导码等待引导码结束等待结果码结束操作反码的反码是否为操作码是否接收完操作码,操作反码是否接收完8位是否大于0.565ms退出YESNONOYESYESNOYESNO图4.7 红外译码子程序4.3.3 LCD1602显示软件设计 在对LCD1602进行读写操作之前需要对LCD1602进行初始化操作,首先设置液晶的显示的模式的设置,再来读取忙信号状态,调用写入地址的函数,然后便可以把需要显示的数据写入。最后液晶内部读出字的字符型点阵并显示出来。整体的操作流程如图4.8所示。开始设置显示的方式延时5ms清理显示缓存设置显示模式结束开始初始化设置显示地址写入显示字符结束LCD1602初始化流程LCD1602显示操作流程 图4.8LCD1602操作流程5 软件调试5.1软件调试软件调试的过程主要通过利用KEIL单片机编译软件来行程序编译。当编译结束时加载完了就可以进入调试了。然后就可以把代码编译成汇编代码,然后按照指令执行顺序去执行指令,在此过程中可以看到变量的数据的变化。通过调试的过程可以矫正程序,发现程序中的不合理的部分,然后进行修改,使得程序更加正确。而且通过调试的这个过程可以很直观的看到程序是如何执行的,加深自己对于整个软件的了解。在调试发现代码无误就可以产生HEX文件烧录到单片机中,通过加载到硬件的平台上,通过与预期的功能进行对比,在从这个过程中来不断调试来达到预期的效果。5.1.1发射部分调试在设置按键消抖的过程中开始设置的调用延时的函数,设置的延时时间为 图5.1发射部分调试结果 5ms。但是设置的效果并不好。然后设置为10ms效果较为理想,在此过程中并不能产生精确38K的方波信号。所以会造成发射的效果并不是特别理想。这是由于单片机本身的频率决定的。当然也不会影响基本功能的实现。在开始完成按键操作没有延时立马进行红外编码发射的操作。发射的效果很差。所以在红外编码发射的时候需要一个简短的延时。发射部分的调试结果如图5.1所示5.1.2接收部分调试在开始的时候在液晶进行写程序的时候并没有延时,于是就会出现液晶在开始显示的时候会有些不稳定。在加入了一个短暂的延时后效果好很多。还有在接收编码指令的时候也是。当接收完了操作码执行操作显示和控制的时候也需要做一个延时。接收部分软件调试的结果如图5.2所示图5.2接收部分调试结果5.1.3 软件的烧录在编译完软件调试时生成了HEX文件时,然后就需要利用烧录软件将软件烧录在单片机中。利用stc-isp进行软件的烧录,首先找到与单片机进行通信的端口。设置合适的波特率,然后打开程序文件,就可以点击下载了。有一个问题需要注意的是:在烧录完程序的时候需要将单片机立马断电。然后再打开单片机运行程序,这是为了保护单片机,反之烧录程序过程和软件在单片机运行的那瞬间产生冲突。软件烧录的截图如图5.3所示。图5.3软件的烧录5.2 软件调试结果按键K1,K2车门的锁定和开锁。实际效果如图5.4所示。图5.4软件调试结果按键K3车子处于报警状态,实际结果如图5.5所示。图5.5软件调试结果按键K4,K5后备箱的锁定解锁。实际的结果如图5.6所示图5.6软件调试结果在按下按键K1的时候就是车门锁上,当按下按键K2于是就完成解锁。当车门处于开的状态的时候,当过了30秒后车门会自动锁上。当按下按键K3的时候车子就处于报警的状态。当按下按键K4的时候后备箱便打开。当按下按键K5的时候后备箱就锁上。每当完成一个操作的时候液晶便会完成相应的显示。总结毕业设计是学校在即将毕业之际对学生在大学的最后一次检验,从某种程度上来说也是对我们大学四年所学的一次考核。在本次的选题的过程中我选择了自己比较感兴趣的课题,无线控制这一块。因为大学是自动化专业。本专业并没有接触过无线控制,在无线控制中红外控制又是最常见的。所以就选择了吴国辉老师课题下的一种微功率的汽车遥控钥匙(软件部分)在本次的设计中首先对红外线有一个整体的介绍。然后再来选择不同的方案对比找出最适合的方案。然后就这这个方案来说明软件控制的方法,首先从硬件层的控制来说,解释说明每个硬件是如何通过软件来工作的。最后就整体的来介绍红外发射部分和红外接收部分是如何通过软件来控制整个系统工作的。本次毕业设计可谓是收获颇丰。因为开始并没有接触过红外通信,在选了这个课题后到处找资料。首先从硬件层去了解。了解红外发射管,红外接收管和LCD1602液晶。当对这些硬件有了一个了解后就开始学习红外线的知识,然后就去了解红外通信的指令编码组成的相关知识。最后利用学习开发板来进行红外通信的学习和调试来完整的了解这个操作的过程。通过以上知识最后来完成自己设计。通过本次设计使得自己对于单片机有了一个更加深入的认识。同时也使得自己对于以前从未接触的红外控制有了了解。在设计中感受到实践和理论还是有很大的差别的。实践基于理论,但是又高于理论。所以我们学习需要打好扎实的理论基础然后再去实践提高,在本次设计中存在很多的不足。通过和老师和同学们的探讨慢慢修正了一些不足。让自己的综合运用能力得到提高致谢在本次的毕业设计是在吴国辉老师的悉心关怀和精心指导下完成的。在课题开始吴国辉老师首先就给我细心讲解课题设计的整体方案。针对本课题的软件设计该如何进行以及如何写后期的论文。在毕业设计进行的过程中吴国辉老师也进行着指导。对课题提出看法。他待人随和工作严谨的态度使得这次的毕业设计完成的很愉快。本次的毕业设计中灌注了老师的大量心血和汗水。老师渊博的知识,为人师表的作风,科学严谨的做学态度让我以他为榜样。在此对我的毕业设计指导老师表示深深的感谢顺利完成学业和父母的关怀和支持是分不开的。在学习的道路上父母一直以一个好的榜样激励着我鼓励着我追求知识。在此对父母表示深深的感谢同时也对在大学四年里所有对我传授知识的老师学长们和同学们表示诚挚的感谢。参考文献1 郭天祥,新概念51单片机C语言教程:入门,提高,开发,拓展全攻略,北京:电子工业出版社,2008.2 胡汉才,单片机原理及其接口技术,第2版,北京:清华大学出版社,2003.3 肖景和,赵健 ,红外线热释电与超声波遥控电路/无线电爱好者丛书,北京,人民邮电出版社2003.4 李军,51系列单片机高级实例开发指南,北京:北京航空航天大学出版社,20035 谭浩强.,C程序设计教程M.北京:清华大学出版社,2007.6 咸俊伟; 陈波; 梁书旺,基于AT89C51的红外遥控电子密码锁的设计,科技信息20087年29期(P567-569.)7 陈永甫,红外探测与控制电路,北京,人民邮电出版社,2005.8 聂诗良, 李磊民. 采用单片机发送并接收红外遥控信号的方法J. 信息技术, 2004, 28(2):21-23. .9 凌志斌, 邓超平, 郑益慧等. 红外遥控技术及其解码方案J. 微处理机, 2003, (6):59-62. 10 吴爱萍, 朱晓春. 基于AT89S51的多功能红外遥控器设计J. 仪表技术与传感器, 2008, (8):78-80.11 qi Z Y. Use Mcs51 MCU Receive and Decode Infrared Remote Control SignalJ. Computer Knowledge & Technology, 2006.12 Liu T, Feng-cai F. Decoding Technology for Infrared Remote Control Launching Code Based on AT89S51J. Journal of Guangxi Teachers Education University, 2009.13 Mizukata , Tsunemi . Microcomputer-Assisted CCD Driver System for General UseJ. Japanese Journal of Applied Physics, 2015, 27(10):2015.14 Jisheng L, University B J. Single chip microcomputer principle teaching reform and practiceJ. China Modern Educational Equipment, 2014.15 Jie W, Xiang-bing Z, Wen-liang H. Switch power module based on single-chip microcomputerJ. Electronic Design Engineering, 2013.附录附录1:整体硬件电路图.附录2:发射部分软件#includesbit IR=P22; /红外发射管控制脚sbit k1=P10;sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14; unsigned int count, set_count; /中断计数,设定中断次数 bit IRflag,keyflag; /红外发送标志位,按键标志位 unsigned char IRsys=0x66,0x66; /16位用户码 unsigned char IRdata,IRcode; /发送的红外数据 void delay(unsigned int a) unsigned char i; while(-a!=0) for(i=125;i0;i-); void keyscan() /按键扫描 if(k1=0) delay(10); if(k1=0) keyflag=1; while(!k1); IRdata=0x11; if(k2=0) delay(10); if(k2=0) keyflag=1; while(!k2); IRdata=0x22; if(k3=0) delay(10); if(k3=0) keyflag=1; while(!k3); IRdata=0x33; if(k4=0) delay(10); if(k4=0) keyflag=1; while(!k4); IRdata=0x44; if(k5=0) delay(10); if(k5=0) keyflag=1; while(!k5); IRdata=0x55; void IR_sendbyte() /红外发送一个字节数据 unsigned char i; for(i=0;i8;i+) /发送8位数据 set_count=35; /发送编码中的0.56ms高电平 IRflag=1; / 启动红外发射二极管发射 count=0; /中断计数先清零 TR0=1; /开启定时器0 while(countset_count); /等待发送完 TR0=0; /关闭定时器0 if(IRcode&0x01) set_count=130; /判断最低位,若为1则1.69ms的低电平 else set_count=35; /为0则0.565ms的低电平 IRflag=0; /低电平则不发射 count=0; /中断计数清零 TR0=1; /开启定时器0 while(count1; /将数据右移,即从低位到高位发送 void IR_send() set_count=672; /发送编码中的引导码(9ms高电平+4.5ms低电平) IRflag=1; /启动红外发射二极管发射 count=0; /中断计数清零 TR0=1; while(countset_count); TR0=0; set_count=336; /发送编码中的4.5ms低电平 IRflag=0; count=0; TR0=1; while(countset_count); /等待发送完 TR0=0; IRcode=IRsys0; /发送16位用户码的前8位 IR_sendbyte(); IRcode=IRsys1; /发送16位用户码的后8位 IR_sendbyte(); IRcode=IRdata; /发送8位数据码 IR_sendbyte(); IRcode=IRdata; /发送8位数据反码 IR_sendbyte(); set_count=35; /发送编码中的0.56ms高电平 IRflag=1; count=0; TR0=1; while(countset_count); TR0=0; IRflag=0; delay(23); /延时23ms(编码中的23ms低电平) set_count=670; /发送编码中的引导码(9ms高电平+4.5ms低电平) IRflag=1; count=0; TR0=1; while(countset_count); TR0=0; set_count=336; /发送编码中的4.5ms低电平 IRflag=0; count=0; TR0=1; while(countset_count); TR0=0; set_count=35; /发送编码中的0.56ms高电平 IRflag=1; count=0; TR0=1; while(countset_count); TR0=0; IRflag=0; delay(23); void timer0_init() /定时器初始化 EA=1; TMOD=0x02; /定时0 8位自动重装模式 ET0=1; TH0=0xF3; /定时26us,38K红外矩形波 TL0=0xE6; void main() timer0_init(); /初始化定时器 count=0; /中断清0 IR=0; IRflag=0; /红外标志位设置为0 while(1) keyscan(); /键盘扫描 if(keyflag) /判断是否完成按键操作 delay(10); IR_send(); /发送红外编码指令 delay(500); keyflag=0; /将按键标志位设置为0 delay(100); void timer0() interrupt 1 count+; if(IRflag=1) /假如开始发射红外编码指令 IR=IR; /有发射标志,则发射38khz的矩形波 else IR=0; 附录3:接收部分软件#include#include #define uint unsigned int sbit IR=P32; /红外接口标志sbit led1=P15; /第一个led是和P10口连接的。sbit led2=P16;sbit led3=P17;sbit RS = P10 ;sbit RW = P11 ;sbit EN = P25 ;sbit STA7 = P07;typedef unsigned char uint8;unsigned char code word1=BS 11044329; /对应5个按键的五个显示unsigned char code word2=DOOR,OPEN;unsigned char code word3=DOOR,LOCK;unsigned char code word4=WARNING;unsign
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!