基于MSP430单片机的学习型遥控器设计_第1页
基于MSP430单片机的学习型遥控器设计_第2页
基于MSP430单片机的学习型遥控器设计_第3页
基于MSP430单片机的学习型遥控器设计_第4页
基于MSP430单片机的学习型遥控器设计_第5页
已阅读5页,还剩95页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

本科毕业设计(论文)基于MSP430单片机的学习型遥控器设计赵博洋燕山大学2011年6月本科毕业设计(论文)基于MSP430单片机的学习型遥控器设计学院信息科学与工程学院专业电子科学与技术学生姓名赵博洋学号070104040011指导教师常丹华答辩日期2011年6月24日燕山大学毕业设计(论文)任务书学院信息科学与工程学院系级教学单位光电子学号070104040011学生姓名赵博洋专业班级07电子科学与技术1班题目名称基于MSP430单片机的学习型遥控器设计题目性质1理工类工程设计;工程技术实验研究型;理论研究型;计算机软件型;综合型2文管理类;3外语类;4艺术类题目类型1毕业设计2论文题目题目来源科研课题生产实际自选题目主要内容1通过红外接收二极管把遥控器发出的红外按键信号接收并解调出来。2解调得到的信号通过MSP430单片机的定时器功能把这些信息存储起来。3通过MSP430的定时器模块把存储起来的高低电平信号还原出来。4还原出来的波形以调制的方式经过红外发射电路发射出去。5发射出去的红外按键信号能够实现对电器的控制。基本要求1掌握MSP430单片机,熟练C语言编程;2学习了解红外通信的原理;3掌握项目开发研究过程;4最终撰写毕业论文;并提交撰写论文综述;提交本科毕业设计论文开题报告;完成规定的外文翻译。参考资料1苏长赞实用遥控技术手册M北京人民邮电出版社,19962安颖,刘丽娜具有学习功能的智能遥控器期刊论文微计算机信息2005033陈永甫红外探测与控制电路M北京人民邮电出版社,2004周次第14周第58周第912周第1316周第1718周应完成的内容弄清课题要求,查阅文献。设计方案,完成必要的实验准备。实现电路和光路功能或编程操作。撰写论文制作PPT,准备答辩指导教师常丹华职称教授2011年3月5系级教学单位审批年月日日摘要I摘要随着家电行业的不断发展,如今家电市场的竞争越来越激烈。作为家电的重要部件之一,遥控器的竞争也是可想而知。红外遥控器在家电中得到了广泛应用,但各产品的遥控器不能相互兼容,使得生活中遥控器数目越来越多,使用时常混淆。另外,若遥控器丢失,找到配套的遥控器也很困难。具有学习功能的智能遥控器以普通的低成本单片机为核心,能解码与记忆遥控器编码,并模拟发射,是一个遥控器可以代替多个遥控器控制多个电器,是一种智能化的控制工具。本文介绍的多功能红外遥控器是使用MSP430单片机作为整个系统的主控芯片,具有多功能自适应性,两种工作状态学习状态和控制状态。可以对多种遥控器进行解码以及自学习功能,即实现了对多种电器的遥控控制功能。关键词红外遥控器;红外解码;MSP430;自学习燕山大学本科生毕业设计(论文)IIABSTRACTWITHTHECONTINUOUSDEVELOPMENTOFELECTRONICSINDUSTRY,HOUSEHOLDELECTRICALAPPLIANCESNOWINCREASINGLYFIERCECOMPETITIONINTHEMARKETASONEOFTHEIMPORTANTPARTSOFHOMEAPPLIANCES,REMOTECONTROLOFTHECOMPETITIONCANBEIMAGINEDINFRAREDREMOTECONTROLISAUSERCANINAFEWMETERSOREVEN10METERS,WILLBEABLETOOPERATETHEVARIOUSELECTRICALCONTROLDEVICES,HOUSEHOLDELECTRICALAPPLIANCESHAVEWIDEAPPLICATION,BUTTHEPRODUCTOFAREMOTECONTROLCANBECOMPATIBLEWITHEACHOTHER,MAKINGLIFEINTHEREMOTECONTROLNUMBEROFMOREANDMOREOFTENCONFUSEDWHENUSEDALSOIFTHEREMOTECONTROLLOST,SUPPORTINGTHEREMOTECONTROLTOFINDITISVERYDIFFICULTWITHTHESMARTLEARNINGFUNCTIONREMOTECONTROLTOTHEORDINARYLOWCOSTMICROCONTROLLERSASTHECORE,TODECODINGANDENCODINGMEMORYREMOTECONTROL,ANDANALOGTRANSMISSIONTOAREMOTECONTROLCANREPLACEANUMBEROFREMOTECONTROLOFANUMBEROFELECTRICALAPPLIANCES,ISANINTELLIGENTCONTROLTOOLSTHISPAPERINTRODUCESTHEMULTIFUNCTIONISTOUSETHEINFRAREDMSP430SINGLECHIPMICROCOMPUTERASTHEMAINCONTROLCHIPOFTHEWHOLESYSTEM,HAVEMUTIFUNCTIONADAPTABILITY,TWOKINDSOFWORKOFTHESTATELEARNINGSTATEANDCONTROLLINGSTATEITCANDECODEMANYINFRAREDREMOTECONTROLS,WHICHREALIZEITCANREMOTECONTROLMANYELECTRICALAPPLIANCESKEYWORDSINFRAREDREMOTECONTROLINFRAREDDECODINGMSP430SELFLEARNINGIII目录摘要IABSTRACTII第1章绪论111课题背景与选题依据112红外遥控技术简介213红外遥控技术的研究现状与成果314本文的结构安排5第2章红外遥控系统原理与硬件设计721红外通信基本原理7211红外遥控发射及其编码7212红外遥控接收及其解码922红外系统硬件设计9221整体设计思路与系统框架10222红外接收电路设计10223红外发射电路设计1023本章小结12第3章MSP430单片机的应用与编程1531MSP430单片机简介1532IAR编译器的实用16321开发调试环境16322编译链接项目18323调试1933MSP430定时器的应用20331看门狗定时器20332基本定时器21333定时器A2134MSP430与键盘接口电路实验23341键盘程序的一般书写方法23342矩阵键盘原理分析24343一般I/0口方式的程序设计24IV344中断功能方式的程序设计2735MSP430与1602液晶显示接口电路实验29351LCD1602的基本特征29352LCD1602的引脚定义29353LCD1602的操作时序30354LCD1602硬件电路设计30355LCD1602控制说明31356软件程序设计3136本章小结33第4章红外遥控器软件设计与编程3541红外数据的解码与存储35411红外数据解码实验35412红外数据解码的1602键值显示3742红外数据的调制与发射3842138KHZ载波实验38422PWM信号测试3843红外遥控器的键盘控制与整体功能实现4044实物图片展示4145本章小结42结论43参考文献45致谢47附录149附录255附录367附录461附录579第1章绪论1第1章绪论11课题背景与选题依据进入二十一世纪以来各种电子信息技术进入高速发展阶段,包括信息系统技术微电子、计算机和现代通信技术、传感器技术,这也包括红外线技术,红外线是一种人的肉眼看不见的光线,最近二三十年来,初露头角的红外技术,在各个领域里获得了广泛的应用。开始应用到生产上,并形成了一门崭新的技术红外技术1。红外线IRDA,简称IR,是一种点对点的无线通信通讯方式,只能进行段距离的无线数据的传输,且中间不能有障碍物。红外线又称红外光波,在电磁波谱中,光波的波长范围为001UM1000UM;波长为076UM1000UM的光波为红外光线,红外线遥控是利用近红外光传送遥控指令的,波长为076UM15UM;用近红外做遥控光源,是因为目前红外发射器件与红外接收器件的发光与受光峰值波长一般为08UM094UM,在近红外光波段内,二者的光谱正好重合,能够很好的匹配,可以获得较高的传输效率及较高的可靠性2。目前红外线得到了很普遍的应用,如红外鼠标、红外打印机、红外线键盘等等。另外,近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向深入,同时带动传统控制检测日新月异更新。传统的遥控器大多数采用了无线电遥控技术,但是随着科技的进步,红外线遥控技术的成熟,红外也成为了一种被广泛应用的通信和遥控手段。继彩电、录像机之后,在录音机、音响设备、空调机一集玩具等其它小型电器装置上也纷纷采用红外线遥控。在工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效的隔离电器干扰3。由于红外线抗干扰能力强,且不会对周围的无线电设备产生干扰电波,同时红外发射接收范围窄,安全性较高。红外遥控虽然被广泛应用,但各产商的遥控器不能互相兼容。当今市场上的红外遥控装置一般采用专用的遥控编码及解码集成电路,由于其灵活性较低,应用范围有限。所以采用单片机进行遥控系统的应用设计,遥控装置将同时具有编程灵活、控制范围广、体积小、燕山大学本科生毕业设计(论文)2功耗低、功能强、成本低、可靠性高等特点,因此采用单片机的红外遥控技术具有广阔的发展前景4。12红外遥控技术简介60年代初,一些发达国家开始研究民用产品的遥控技术,但由于受当时技术条件的限制,遥控技术发展很缓慢。70年代末,随着大规模集成电路和计算机技术的发展,遥控技术才得到快速的进步。在遥控方式上大体经历了从高成本的有线到成本低廉控制方便的无线控制。无论采用何种方式,准确无误传输信号,最终达到满意的控制效果是非常重要的。最初的无线遥控装置大多采用的是电磁波传输信号,由于电磁波容易产生干扰,也易受到外界干扰,因此逐渐采用超声波和红外线媒介来传输信号。与红外线相比,超声波传感器频带窄,所能携带的信息量少,易受干扰而引起误动作。较为理想的是光控方式,逐渐采用红外线的遥控方式取代了超声波遥控方式,出现了红外线多功能遥控器,成为当今时代的主流。由于红外线在频谱上居于可见光之外,所以抗干扰性强,且安全5。具有广播的直线传播特性,不易产生相互间的干扰,是很好的信息传输媒体。信息可以直接对红外光进行调制传输,例如,信息直接调制红外光的强弱进行传输,也可以用红外线产生一定频率的载波,再用信息对载波进行调制,接收端再去掉载波,取到信息。从信息的可靠传输来说,后一种方法更好,这就是我们今天看到的大多数红外遥控器锁采用的方法。红外遥控技术在这十年来得到了迅猛发展,尤其在家电领域如彩电、DVD、空调、玩具等,也在其它电子领域得到广泛应用,随着人们生活水平的提高,对产品的追求是使用更方便、更具智能化,红外遥控技术正是一个重点的发展方向6。红外线是波长在760NM至1MM之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段内的近红外线,波长在076UM至30UM之间。目前广泛实用的家电遥控器几乎都是采用的近红外线传输技术,但作为无线局域网的传输方式,红外线方式的最大的优点是不受无线电干扰,且它的使用不受国家无线管理第1章绪论3委员会的限制7。红外数据协会IRDA成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850至900NM之内。红外遥控技术是一种利用红外线进行点对点通信的技术,其相应的软件和硬件技术都已比较成熟。它是把红外线作为载体的遥控方式。由于红外线的波长远小于无线电波的波长,因此在采用红外遥控方式时,不会干扰其他电器的正常工作,也不会影响临近的无线电设备。红外遥控是利用波长为076UM17UM之间的近红外线来传递控制信号的。它具有一下特点1由于为不可见光,因此,对环境影响很小。红外线的波长远小于无线电波的波长,所以,红外遥控不会干扰其它家用电器,也不会影响近邻的无线电设备。2红外为不可见光,具有很强的隐蔽性和保密性,因此在防盗,警戒等安全保卫装置中也得到了广泛的应用。3红外线遥控的遥控距离一般为几米至几十米或更远一点。4红外线遥控具有结构简单,制作方便,成本低廉,抗干扰能力强,工作可靠性高等一系列优点,特别是室内遥控的优先遥控方式。同时,由于采用无线遥控器件是,工作电压低,功耗小,外围电路简单,因此它在日常工作生活中的应用越来越广泛8。它在技术上的主要优点是1无需专门申请特定频率的使用执照;2具有移动通信设备所必须的体积小、功率低的特点;3传输速率适合于家庭和办公室实用的网络;4信号无干扰,传输准确度高。它的缺点是由于它是一种视距传输技术,采用的连接具有方向性,两个设备之间如果传输数据,中间就不能有格挡物;而且通讯距离较短,此外红外发光二极管LED不是一种十分耐用的器件9。燕山大学本科生毕业设计(论文)413红外遥控技术的研究现状与成果红外遥控的特点是不影响周边环境的、不干扰其他电器设备。由于其无法穿透墙壁,故不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。由于各生产厂家生产了大量红外遥控专用集成电路,需要时按图索骥即可。因此,现在红外遥控在加用电器、室内近距离小于10米遥控中得到了广泛的应用。多路控制的红外发射部分一般有许多按键,代表不同的控制功能。当发射端按下某一按键时,相应地接收端有不同地输出状态。接收端的输出状态大致可分为脉冲、电平、自锁、互锁、数据五种形式。“脉冲”输出是当按发射端按键时,接收端对应输出端输出一个“有效脉冲”,宽度一般在100MS左右。“电平”输出是指发射端按下键时,接收端对应输出端输出“有效电平”消失。此处的“有效脉冲”和“有效电平”,可能是高、也可能是低,取决于相应输出脚的静态状况,如静态时为低,则“高”为有效;如静态时为高,则“低”为有效。大多数情况下“高”为有效。“自锁”输出是指发射端每按一次某一个键,接收端对应输出端改变一次状态,即原来为高电平变为低电平,原来低电平变为高电平。此种输出适合用作电源开关、静音控制等。有时亦称这种输出形式为“反相”。“互锁”输出是指多个输出互相清除,在同一时间内只有一个输出有效10。电视机的选台就属此种情况,其他如调光、调速、音响的输入选择等。“数据”输出是指把一些发射键编上号码,利用接收端的几个输出形成一个二进制数,来代表不同的按键输入。一般情况下,接收端除了几位数据输出外,还应有一位“数据有效”输出端,以便以后适时地来取数据。这种输出形式一般用于与单片机或微机接口。除以上输出形式外,还有“锁存”和“暂存”两种形式。所谓“锁存”输出是指对发射端每次发的信号,接收端对应输出予以“储存”,直至收到新的信号为止;“暂存”输出与上述介绍的“电平”输出类似。现阶段红外遥控技术已经在日常家用电器中得到了广泛应用,其使用第1章绪论5方便、功耗低、抗干扰能力强的优点也越来越在智能仪器系统中受到重视。市场上的各种家电红外遥控系统技术成熟、成本低廉,但都是针对各自的遥控对象彩电、冰箱、空调等,均由专用CPU解码,作为一般的单片机控制系统不能直接使用。本文探讨了如何借鉴家电红外遥控系统的原理,自行设计解码电路和解码、控制程序,利用现有遥控器如何使各控制系统嵌入红外遥控技术。另外,在工业控制的许多环境下,不适合操作人员直接控制,例如高温、高压、辐射、粉尘、强酸性、腐蚀性、有毒气体等。这时,红外遥控是可行的控制方式11。通过这种方式,操作人员能及时采集现场数据,修改控制对象的参数,并发送控制命令,以达到理想的控制效果。红外遥控通过红外通信的方式进行控制,具有低功耗、低成本、高可靠性、体积小、结构简单、避免人身伤害等优点,是一种先进的控制方式,具有广阔的应用前景。14本文的结构安排本文共分为4章,对课题的叙述结构安排如下第章中结合课题背景与国内外红外遥控器研究现状分析课题的选题依据,以研究意义等,同时对红外遥控技术做简单的介绍。第2章从发射编码与接收解码两方面叙述红外通信的原理,同时根据原理,介绍课题红外遥控系统的整体思路与红外接收与发射电路设计。第3章首先简单介绍MSP430的编程,以及课题所涉及的定时器等内容,然后按课题进展,模块化设计思想,介绍单片机与键盘和液晶接口电路及程序编写。第4章主要对红外系统整合,首先实现红外解码及键值的液晶显示,然后调试载波信号,最后结合键盘控制,实现课题所要求的整体功能。燕山大学本科生毕业设计(论文)6第2章红外遥控系统原理与硬件设计7第2章红外遥控系统原理与硬件设计21红外通信基本原理红外通信,即以红外线作为通信载体,通过红外光在空中的传播来传输数据的通信方式,它由发射端和接收端来完成。在发射端,发送的数字信号经过适当的调制编码后,送入电光变换电路,经红外发射管转变为红外光脉冲发射到空中;在接收端,红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。红外发射端发送数据时,是将待发送的二进制数据调制成一系列的脉冲信号后发射出去。红外载波为频率38KHZ的方波,采用脉宽调制PWM方式发送,通过待发送二进制数据的“0”或“1”控制两个脉冲之间的时间间隔,及PWM的占空比。红外载波既可以通过外围硬件电路实现,也可以使用单片机内部的定时器的PWM功能实现。红外接收端在收到38KHZ的载波信号时,会输出低电平,否则输出高电平,从而可以将“时断时续”的红外光信号解调成一定周期的连续方波信号,经单片机处理,便可以恢复出原数据信号。211红外遥控发射及其编码红外遥控发射器采用一块大规模集成电路LSI,当按压功能指令键盘时,由LSI产生经过调制的串行编码,通过激励电路,驱动红外线发光二极管发光,将编码信号经红外线二次调制后发射出去。二次调制首先是用与键盘操作相对应的控制信号对38到40KHZ左右的载波信号进行脉冲调制,然后再去对波长约为950NM的红外光载波进行第二次幅度调制,即用驱动红外线发光二极管方法产生红外遥控信号。遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的UPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征采用脉宽调制的串行码,以脉宽为0565MS、间隔056MS、周期为燕山大学本科生毕业设计(论文)81125MS的组合表示二进制的“0”;以脉宽为0565MS、间隔1685MS、周期为225MS的组合表示二进制的“1”,其波形如图21所示11图21遥控器的“0”和“1”上述“0”和“1”组成的32位二进制码经38KHZ的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图22所示11图22完整的红外数据编码图遥控信号编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。后16位为8位操作码功能码及其反码。遥控器在按键按下后,周期行地发出同一种32位二进制码,周期约为108MS。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4562MS之间。当一个键按下超过36MS,振荡器使芯片激活,将发射一组108MS的编码脉冲,这108MS发射代码由一个起始码9MS,一个结束码45MS,低8位地址码9MS18MS,高8位地址码9MS18MS,8位数据码9MS18MS和这8位数据的反码9MS18MS组成。如果键按下超过108MS仍未松开,接下来发射的代码连发代码将仅由起始码9MS和结束码45MS组成。红外数据编码体制规律如下1一次按键动作的遥控编码信息包含一个引导脉冲和32位串行二进第2章红外遥控系统原理与硬件设计9制码。前16位为用户码,不随按键的不同而变化。它是为了表示特定用户而设置的一个辨识标志,以区别不同机种和不同用户发射的遥控信号,防止误操作与干扰。后16位码随着按键的不同而改变,是按键的识别码。前8位为键码的正码,后8位为键码的反码。2遥控信号不是高电平或低电平表示“1”或“0”的,而是通过脉宽来表示的,对于二进制信号“0”,一个脉冲占12MS;对于二进制信号“1”,一个脉冲占24MS,而每一个脉冲内低电平均为06MS。212红外遥控接收及其解码红外遥控接收器的作用是将接到的红外发光遥控信号,经二次解调输出功能指令操作码,在送到微处理器去识别和处理。红外遥控信号通过红外滤光片后作用于红外光电二极管,红外光信号变成电信号。该信号经过放大器后在经过选频电路选频,然后经过检波电路取出调制信号,在经过施密特电路整形后,还原成代码波形,最后送给微处理器进行信息识别和处理。解码的关键是如何识别“0”和“1”,由于接收代码是发射代码的反码,发射代码中“0”和“1”的高电平宽度相同,低电平宽度不同,所以,从位的定义我们可以发现接收代码中“0”、“1”均以056MS的低电平开始,不同的是高电平的宽度不同,“0”为056MS,“1”为168MS,所以必须根据高电平的宽度区别“0”和“1”。如果从056MS低电平过后,开始延时,056MS以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比056MS长些,但又不能超过112MS,否则如果该位为“0”,读到的已是下一位的高电平,因此取112MS056MS/2084MS最晚可靠,一般取084MS左右均可。22红外系统硬件设计红外遥控系统主要由遥控发射器、一体化接收头、单片机、接口电路组成。遥控器用来产生遥控编码脉冲,驱动红外发射管输出红外遥控信号,遥控接受他完成对遥控信号的放大、检波、整形、解调出遥控编码脉冲。遥控编码脉冲是一组串行二进制码,对于一般的红外遥控系统,此串行码燕山大学本科生毕业设计(论文)10输入到微控制器,由其内部CPU完成对遥控指令解码,并执行相应的遥控功能。使用遥控器作为控制系统的输入,需要解决如下几个关键问题如何接收红外遥控信号;如何识别红外遥控信号以及解码软件的设计、控制程序的设计。221整体设计思路与系统框架课题所设计的这款红外遥控器,不仅能设置控制对象的给定值或控制参数,并通过红外线发送给对象,而且能接收并显示对象通过红外线反馈回的实际值,这是它不同于普通红外遥控器的地方。因此,实际应用中,红外遥控器和控制对象上都装有红外发送电路和红外接收电路。红外遥控器的硬件部分主要包括五个模块电源模块、键盘模块、液晶模块、红外发送模块和红外接收模块。总体硬件框图如图23所示。由于MSP430、红外发送模块和红外接收模块都可采用3V电源,所以电源模块采用两节15V电池供电即可。键盘模块采用44行列扫描式键盘。液晶模块由MSP430直接驱动。电源模块MSP430单片机LCD1602液晶模块红外接收模块红外发送模块键盘模块图23红外系统整体设计框图222红外接收电路设计接收电路使用集成一体化红外接收头SM0038,SM0038对外只有3个引脚VS、GND和1个脉冲信号输出引脚OUT。与单片机接口非常方便。VCC接电源5V并经电容进行滤波,以避免电源干扰;GND接系统的地线0V;脉冲信号输出接CPU的中断输入引脚。采取这种连接方法,软件解码既可工作于查询方式,也可工作于中断方式。第2章红外遥控系统原理与硬件设计11223红外发射电路设计因为发光二极管的发光距离与其发射功率成正比,为了提高发光二极管的发光距离,必须提高它的发射功率,也就是使红外发光二极管工作于脉冲状态。可以用两种方法来实现一是用硬件方法,即设计脉冲电路来产生占空比尽量小的脉冲载波信号;另一种就是用软件来控制MSP430的输出端P20,让其输出即为占空比较小的脉冲信号。编码器调制信号38KHZ振荡器载波信号图24红外遥控发射模块框图图24是目前所有红外遥控器发射电路的功能组成,其中的编码器即调制信号,按遥控器用途的编码方式可以很简单、也可以很复杂。例如用于电视机、VCD、DVD和组合音响的遥控发射的编码器,因其控制功能多达50种以上,此时的编码器均采用专用的红外线编码协议进行严格的编程,然而对控制功能少的红外遥控器,其编码器是简单而灵活。前者编码器是由生产厂家的专业人员按红外遥控协议进行编码,而后者适用于一般电子技术人员和电子爱好者的编码。图24中的38KHZ振荡器即载波信号比较简单,但专业用的和业余用的也有区别,专业用的振荡器采用了晶振,而后者一般是RC振荡器。例如彩电红外遥控器上的发射端用了455KHZ的晶振,是经过整数分频的,分频系数为12,即455KHZ12379KHZ。当然也有一些工业用的遥控系统,采用36KHZ、40KHZ或56KHZ等的载波信号。因红外遥控器的控制距离约10米远,要达到这个指标,其发射的载波频率38KHZ要求十分稳定,而非专业用的RC38KHZ载波频率稳定性差,往往偏离38KHZ甚至很远,这就大大缩短了遥控器的控制距离。因晶振频燕山大学本科生毕业设计(论文)12率十分稳定,所以专业厂家的遥控器全部采用晶振的38KHZ作遥控器的载波发送信号。图24中编码器的编码信号对38KHZ的载波信号进行调制,在经红外发射管D向空间发送信号供遥控接收端一体化接收头接收、解调输出、再做处理。利用红外线的特点,可以制作多路遥控器。在遥控发射电路中,有两种电路,即编码器和38KHZ载波信号发生器。在不需要多路控制的应用电路中,可以使用常规集成电路组成路数不多的红外遥控发射和接收电路,该电路无需使用较复杂的专用编译码器,因此制作容易。MSP430图25单片机控制红外发射电路设计这里利用软件来实现这个功能。即在需要输出高电平的时候,让程序定时把P21口输出状态反向,其中定时时间是由指令数和指令周期来决定的,每条指令的指令执行周期是固定的,所以如果想让反向频率高一些,则让指令执行的少一些,反之就让指令多一些。可见输出信号占空比可以由定时时间的长短来决定,这样就可以在高电平时输出占空比尽量小的脉冲信号。因为接收头对38KHZ的光信号转换能力比较强,所以把高电平的频率设置为38KHZ。在需要输出低电平的时候,控制P21口一直为低就可以了。红外发光二极管发射时,先发一段前导码,以检验这组码是否为想要的码。前导码由一个9MS的高电平和一个4MS的低电平组成。然后再发32位数据代码,其中高电平为05MS,低电平为05MS的一个周期为代码“0”;高电平为05MS,低电平为15MS的一个周期为代码“1”,为了提高发射功率,实际工作时,发光二极管的高电平用38KHZ的载波信号载波,低电平则一直为低。第2章红外遥控系统原理与硬件设计1323本章小结本章讲述了红外通信的基本原理,并从发射和接收角度详细阐述了红外通信如何编码与解码。一组红外信号是有前导码、用户码、用户反码、键值码和键值反码组成,发射信号经过38KHZ载波调制后,可以分为32位的二进制编码,其中“0”与“1”都是由056MS的高电平开始,不同的是低电平宽度,而接收端是发射信号数据的反码,所以接收信号中,“0”与“1”的低电平宽度相同,高电平宽度不同,解码时可以读取高电平的宽度来确定“0”与“1”,从而解出数据码。在分析原理后,设计了出红外系统的整体框图,以及具体分析红外发射与接收电路。红外发射电路中的是38KHZ载波信号的产生。接收电路中采用红外一体化接收头,数据解码简单方便。燕山大学本科生毕业设计(论文)14第3章MSP430单片机的应用与编程15第3章MSP430单片机的应用与编程MSP430是美国TEXASINSTRUMENTSTI公司于1996年开始推向市场的超低功耗微处理器。除了超低功耗这一特点外,在MSP430系列产品中还集成了很多功能模块,可以应用于各个方面,使得用一片MSP430芯片就能完成以前要用多片芯片组合才能完成的功能,大大地缩小了产品的体积,并且降低了成本。因此,MSP430系列一经推出,就受到了业内人士的欢迎。迄今为止,MSP430已经广泛应用于各个领域,尤其是便携式仪器仪表、监测、医疗器械以及汽车电子等领域。本章将对MSP430的基础特性进行简明扼要地介绍,以及说明课题设计到的一些寄存器和外围硬件电路,对基础特性的了解是操作任何一种微处理器所必备的,本章内容将展开课题的具体实践操作。31MSP430单片机简介当前市场上存在很多种微处理器,每种微处理器都有其特色,针对不同的场合选择合适的微处理器非常重要。MSP430单片机是TI公司推出的一个新型单片机系列,其主要特点是1超低功耗。拥有5种低功耗模式,以适应不同的需要。CPU从低功耗模式被唤醒,这个过程最多只需要6S,因此,在某些需要迅速做出反应的应用中,CPU能够及时退出低功耗模式,进入工作模式。2灵活的时钟使用方式除了片内集成一个晶体振荡器外,还可外接12个晶体振荡器。不同的内部功能模块可根据需要使用不同的晶体振荡器,在不需要时可以通过设置寄存器将其关闭,以降低功耗。3高速的运算能力16位RISC架构,125NS指令周期。4灵活快速的编程方式可通过JTAG和BSL两种方式向CPU内装载程序。5高保密性只需按照特定的方式将MSP430内部的熔丝熔断,JTAG口便被物理性地阻断。BSL方式所需要的密码长达256位,排列组合出来的密码量为2的256次幂,如此巨大的数量被破解的可能性微乎其微。燕山大学本科生毕业设计(论文)166低电源电压范围1836V。课题所设计的遥控器,选用的单片机型号是MSP430F1496,其性能特点如下低工作电压1836V;超低功耗工作模式4下耗电仅为01A;16位精简指令结构RISC;150NS指令周期;带有3个捕获/比较器的16位定时器;片内集成96段LCD驱动器;片内有JTAG调试接口和FLASH型存储器,可在线串行编程;开发环境十分方便高效,支持C语言和汇编语言。32IAR编译器的实用编写程序的过程主要包括编写代码、编译、调试,这3个过程是交替进行的。编译器的生产厂商通常将代码编辑器、编译器、调试器集成在同一个软件包中,称为集成调试环境,这样的软件包简称为编译器。熟练掌握编译器的使用方法是非常重要的,往往能够大幅度提高编写、调试代码的效率。321开发调试环境要开发一个完整的软件,其源文件通常会有多个,而且文件类型也有多种。为了便于使用和管理,将这些文件的集合称为PROJECT工程或者项目。其中有几个文件是专门用来记录编译器设置、文件列表等开发环境的,称为工程文件。开发软件的时候,首先要创建一个PROJECT,设置工程参数,然后才可以编译和链接。EW430除了创建工程,还需要创建一个WORKSPACE工程集合。工程集合中可以只有一个工程。每个工程中也可以只有一个源文件,视需要而定。源文件的种类可以是C文件、汇编文件,也可以是库文件。创建工程的过程为1从FILE菜单中选择NEW选项,创建一个WORKSPACE。2从PROJECT菜单中选择CREATNEWPROJECT选项。出现的对话框如图31所示。其中EMPTYPROJECT表示建一个空的工程,ASM表示建一个纯使用汇编语言的工程,C表示建一个使用C语言的工程,C表示建一个第3章MSP430单片机的应用与编程17使用C语言的工程。选择后3种都会为用户生成一个主程序的框架,并对编译和链接的选项选择相关的设置。不过,它不会包办所有的工作,一般用户在后面仍然需要按照自己的要求进一步调整选项。图31新建一个工程选择使用C语言的工程,按OK按钮。出现对话框,要求填写工程名称以及保存路径,工程名称填写为TEST。填写完毕后,按OK按钮出现创建完毕的工程。EW430还同时为同一个工程创建了两种编译选项DEBUG和RELEASE。DEBUG编译时在目标文件中包含调试信息,进行低级别LOW优化,用于调试程序。RELEASE编译时不在目标文件中包含调试信息,且对目标代码文件进行了优化。用户也可以创建自己的编译方式。3向工程中添加其他文件。将鼠标移动到工程窗口上,单击右键,出现如图32所示的弹出菜单,添加需要的文件。燕山大学本科生毕业设计(论文)18图32添加文件322编译链接项目在编译开始之前先要对编译器的参数作一些设置。在图32中的弹出菜单中选择OPTIONS选项,注意单击右键之前鼠标要放在TESTDEBUG栏上,而不是放在工程中的文件如MAINC上。如果是放在工程中的文件上,设置的仅是这个源文件的参数,而不是整个工程的参数。编译器允许每个源文件使用各自的编译、链接参数。在图32中的弹出菜单中选择OPTIONS选项后,出现OPTIONS对话框,如图33所示。图33编译参数设置在这里,只简单介绍一些常用的设置。1在GENERALOPTIONS选项TARGET选项卡中DEVICE选项设置使用的MSP430单片机类型。2在DEBUGGER选项SETUP选项卡中选择调试方式,如图34所示。第3章MSP430单片机的应用与编程19FETDEBUGER选择JTAG调试方式。SIMULATOR选择软件模拟方式。图34选择仿真方式3在FETDEBUGGER选项SETUP选项卡CONNECTION选项中选择并口调试或USB调试,如图35所示,其中IAR软件自带并口与USB接口驱动程序。图35选择调试方式这里选择并口调试方式,即TEXASINSTRUMENTLPTIF选项323调试本节所讲的调试针对的是通过JTAG端口连接硬件进行仿真的情况。连接好JTAG仿真器后,在菜单PROJECT选项中选择DOWNLOADANDDEBUG选项或者单击图标按钮,正常情况下,将会进入调试状态,如图36所示。进入调试界面之前,编译器会检查项目中的文件在修改后是否被编译过,如果没有,先进行编译和链接。这样可使生成的目标代码和源文件总燕山大学本科生毕业设计(论文)20是保持一致。图36调试显示界面1运行下面介绍一下调试中一些按钮的功能RESET复位STEPOVER单步运行。遇到函数调用时,将遇到的函数当作单独的一步执行。STEPINTO单步运行。遇到函数调用时,进入所遇到的函数中,并执行一句语句。STEPOUT单步运行。将本函数执行完毕,退出本函数后停止程序运行,等待用户新的命令。NEXTSTATEMENT单步运行。C语言的一句语句中还可以包含多个表达式,STEPOVER、STEPINTO、STEPOUT将每一个表达式作为一步。NEXTSTATEMENT不考虑包含的表达式,直接执行C语言完整的一句语句。RUNTOCURSOR运行到光标所在位置停下。GO运行。BREAK暂停。STOPTHECURRENTDEBUGSESSION终止调试。TOGGLEBREAKPOINT建立或者取消光标所在位置的断点。第3章MSP430单片机的应用与编程2133MSP430定时器的应用MSP430系列单片机的定时器相当丰富。有基本定时器BT、定时器TA、定时器TB、看门狗定时器WDT等。其中看门狗主要用于程序的完善性控制等方面;基本定时器除了可以用于定时之外,还可以用于液晶显示的时序控制;TA、TB基本相同,而且功能复杂,这里将简单介绍。331看门狗定时器看门狗的目的在于阻止程序跑飞,其原理在于看门狗定时器设置一定时间,比如250毫秒,这个时间是所有用户程序一定能在此时间内执行完该程序的一个时间,设置好这个定时时间之后,所有用户程序就必须在这个设定的时间内将看门狗计数器的值清零,使计数器重新技术,如果CPU执行程序正确,则看门狗计数器始终能在规定的时间内被用户程序清零而时钟不能计数到250毫秒,而当CPU执行程序跑飞PC值指向用户程序以外,看门狗计数器得不到用户程序清零,能计数到250毫秒,发出溢出,导致CPU复位,这样CPU又重新运行用户程序。所以使用看门狗时,用户软件必须周期性地在WDTCTL的CNTCL位写“1”,使得看门狗计数器复位以防止其超过设定的定时时间。332基本定时器BT是MSP430X3XX、MSP430F4XX系列器件中的模块。它也是一个定时器,它通常向其它外围模块提供低频控制信号。BT可以是两个8位定时器也可以是一个16位定时器,它有两个计数单元BTCNT1、BTCNT2与一个控制单元BTCTL。通过控制寄存器BTCTL的设置,用户可以方便地使用BT。333定时器ATA、TB基本相同,这里将详细讲解定时器A。定时器A是MSP430所有系列都有的模块,是一个用途非常广泛的通用16位定时/计数器。它有一下一些特点16位计数器,四种工作模式;燕山大学本科生毕业设计(论文)22多种可选的计数器时钟源;多个具有可配置输入端的捕获/比较寄存器;有8种输出模式的多个可配置的输出单元;TIMER_A可支持同时进行的多种时序控制、多个捕获/比较功能、多种输出波形PWM,也可以是几种功能的组合。每个捕获/比较寄存器可以以硬件方式支持实现串行通讯。TIMER_A具有中断能力。中断可由计数器溢出引起,也可来自具有捕获或比较功能的捕获/比较寄存器。每个捕获/比较模块可独立编程,由捕获或比较外部信号以产生中断,外部信号可以是上升沿,也可以是下降沿,也可都是。在不同的MSP430器件中,TIMER_A模块中的捕获/比较器的数量不一样,比如在MSP430F435中TIMER_A模块含有3个捕获/比较器简称CCR,因此也经常称TIMER_A3,表示该模块含有3个CCR。如图37,是TIMER_A的结构原理图,图中,可以将TIMER_A分解成几个部分计数器部分、捕获/比较寄存器、输出单元。其中计数器部分完成时钟源的选择、分频、模式控制、计数等功能。捕获/比较器用于捕获事件发生的时间或产生时间间隔。输出模块用于产生用户需要的输出信号。定时器A的寄存器中TACTL为最主要的控制寄存器,它决定TA的输入时钟信号、TA的工作模式、TA的开启与停止、中断的申请等工作。TACTL寄存器为16位寄存器,必须使用字指令对其访问。该寄存器在POR信号后全部复位,但在PUC信号后不受影响。第3章MSP430单片机的应用与编程23图37定时器A的结构下面将以设计一段时间的定时为例讲述各种定时器如何初始化。BT的初始化假设允许中断IE2|BTIE/ENABLEBTINTERRUPTBTCTLBTSSELBTIP2BTIP1BTIP0_EINT/ENABLEINTERRUPTSWDT的初始化假设允许中断WDTCTLWDT_MDLY_32IE1|WDTIE_EINTTA的初始化假设允许中断TACTLTASSEL1TACCCTL0CCIECCR050000燕山大学本科生毕业设计(论文)24TACTL|MC1_EINT34MSP430与键盘接口电路实验在单片机应用中,键盘是人机对话的输入设备,借助键盘可向系设置参数,发出控制指令等。在课题设计中,采用了44键盘,在这个小节中,将从硬件和软件介绍一下MSP430单片机的键盘设计。341键盘程序的一般书写方法键盘是由若干上述的独立按键按一定的规则组合而成的。也就是说,键盘的基本元素是按键,那么消除按键的抖动是必须的。同时,键盘是由若干按键构成的,那么判断是哪一个按下则需要通过判键得到键值。得到键值之后,还有一件事情就是等待按下的按键松开注意如果系统中使用了看门狗,则在这里要不断地清空看门狗,因为假如使用者长时间按着键,则看门狗超时、系统复位。综合起来,一般的键盘程序有如下3个步骤消除按键抖动如果使用硬件,则可忽略;判断是哪个按键按下,识别键码;等待按键松开。在键盘中又分为独立式键盘和行列扫描式键盘,在课题中,采用了44键盘,属于行列扫描式键盘,在这里,介绍一下行列扫描式键盘。342矩阵键盘原理分析行列扫描式键盘又叫矩阵键盘,矩阵键盘电路主要是对MSP430单片机的一般I/O口来进行扩展设计。矩阵键盘由行线和列线组成。矩阵键盘通过扫描来实现捕获键盘的输入。所谓扫描就是单片机不断地对行线一次设置低电平,然后检查列线的输入状态,从而确定键盘是否有输入。如图38,为键盘的电路设计图。第3章MSP430单片机的应用与编程25图38键盘电路在图38中,P10、P11、P12、P13分别为键盘的列线。P14、P15、P16、P17为键盘的行线。列线为输入口,行线为输出口。由于所有列线都上拉到33V,所以在没有任何键被按下时,所有列线上都为高电平。当往相应的行线上输出低电平,如果键盘上某个键被按下时,则某个列线就为低电平,单片机读取该列线的状态就可以判断某个被按下,这就是键盘的扫描原理。由于MSP430单片机的P1口具有中断功能,因此在软件设计时,可以采用一般I/O口来实现键盘输入,也可以利用P1口的中断功能来实现键盘输入。343一般I/0口方式的程序设计根据上面的原理分析,软件主要是基于扫描实现的。软件通过设置行线上的输出,读取列线上的状态来获取键盘的输入值,整个程序处于键盘的扫描状态。在实际的应用中,有时候按键的抖动可能引起误判,所以在程序设计时必须考虑消除抖动。如图39所示为程序流程图。燕山大学本科生毕业设计(论文)26端口初始化等待输入是否有键按下抖动消除键盘分析程序图39一般I/O方式程序设计流程图由图39可以看出,整个程序包括端口初始化、键盘扫描、抖动消除和键盘识别等几个部分,下面具体分析键盘扫描程序。键盘扫描程序主要是等待按键的按下,如果有按键按下,则进行按键输入分析,在进行键盘扫描的时候,为了简单起见,在等待键盘输入的时候采取的是死循环等待方式,在实际中可以采用其它灵活的方式,具体情况根据系统的需求来确定,下面为具体的程序。INTKEYSCANVOIDINTNP10,NP11,NP12,NP13INTNRES0FOR/读取各个管脚的状态NP10P1INNP11P1INNP12P1INNP13P1IN/是否有键被按下第3章MSP430单片机的应用与编程27IFNP100|NP110|NP120|NP130BREAK;/有键被按下DELAY/延时一点时间,消除抖动/读取各个管脚的状态NP10P1INNP11P1INNP12P1INNP13P1IN/是否有键被按下IFNP100|NP110|NP120|NP130/有键被按下,进行键盘输入分析NRESKEYPROCESSELSERETURN1/没有输入,为干扰RETURNNRES其中,DELAY为延时程序,用于消除抖动,具体程序如下VOIDDELAYINTIFORI100I0I/延时一点时间即可344中断功能方式的程序设计由于MSP430单片机的P1口有中断功能,因此可以采用中断的方式进燕山大学本科生毕业设计(论文)28行软件设计,采用中断方式实现的软件不需要扫描处理。另外,在端口的初始化时也有所不同,下面是端口初始化的具体程序。VOIDINIT_PORTVOID/将P1口的所有的管脚在初始化的时候设置为输入方式P1DIR0/将P1口所有的管脚设置为一般I/O口P1SEL0/将P14、P15、P16、P17设置为输出方向P1DIR|BIT4P1DIR|BIT5P1DIR|BIT6P1DIR|BIT7P1OUT0X00/先输出低电平P1IE0/将中断寄存器清零P1IES0P1IFG0/打开管脚的

温馨提示

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

评论

0/150

提交评论