毕业设计(论文)-基于gsm和单片机的智能家电控制_第1页
毕业设计(论文)-基于gsm和单片机的智能家电控制_第2页
毕业设计(论文)-基于gsm和单片机的智能家电控制_第3页
毕业设计(论文)-基于gsm和单片机的智能家电控制_第4页
毕业设计(论文)-基于gsm和单片机的智能家电控制_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

基于GSM和单片机的智能家电控制学院信息学院专业自动化姓名学号100105041016指导老师职称副教授中国珠海二一四年五月北京理工大学珠海学院2014届本科生毕业设计诚信承诺书本人郑重承诺本人承诺呈交的毕业设计基于GSM和单片机的智能家电控制是在指导老师的指导下,独立开展研究取得的成果,文中应用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名日期年月北京理工大学珠海学院2014届本科生毕业设计I基于GSM和单片机的智能家电控制摘要GSMGLOBALSYSTEMFORMOBILECOMMUNICATION移动通信系统在当前信息传播异常火爆的信息化中扮演着很重要的作用,在移动通讯领域是应用最广泛、使用人数最多的一种系统,然而SMSSHORTMESSAGESERVICE在近代却受到了许多的系统开发商与营运商的关注,由于短消息的廉价性,各种各样的基于短信的应用也蓬勃兴起,本文正是以GSM作为信息传输的平台,设计出了利用STC89C52RC增强型单片机芯片作为控制中心,检测与接收GSM模块发送过来的信息,从而通过继电器的闭合与断开来实现远程家电控制的系统。发送短消息的原理是严格遵循标准的AT指令集,由于所设计的系统只需用户通过自己的手机向SIM300模块中的手机卡发送简单的英文与数字信息即可远程对家电进行ON/OFF的控制,故只需将GSM模块设置为TEXT的编码模式即可。该系统主要由GSM模块SIM300、STC89C52RC、小型电磁式继电器SONGLESRD05VDCSH、S9013NPN三极管等组成,在介绍硬件组成部分将会对GSM模块SIM300、STC89C52RC以及其外围电路进行详细的描述。在程序设计方面,主要由主程序、串口接收中断服务子程序、定时器中断服务等组成。其中主程序负责和SIM300模块进行短信的接收与发送,串口接收中断服务子程序与定时器中断服务程序完成串口数据的收发。出于安全性的考虑,该系统控制的对象为电饭煲或者电灯,从而成功地实现对其进行远程的控制。关键字STC89C52RC;智能家电;SIM300;远程控制北京理工大学珠海学院2014届本科生毕业设计IIBASEDONGSMANDSINGLECHIPMICROCOMPUTERINTELLIGENTHOMEAPPLIANCECONTROLABSTRACTGSMGLOBALSYSTEMFORMOBILECOMMUNICATIONMOBILECOMMUNICATIONSYSTEMINTHECURRENTINFORMATIONDISSEMINATIONUNUSUALLYHOTINFORMATIZATIONPLAYSAVERYIMPORTANTROLE,ISTHEMOSTWIDELYUSEDINTHEMODERNTIMES,HOWEVER,HASBEENTHEATTENTIONOFMANYSYSTEMDEVELOPERSANDOPERATORSANDOPERATORS,BECAUSEOFTHESHORTMESSAGEOFCHEAP,ALLKINDSOFAPPLICATIONBASEDONSMSISALSOBOOMING,WITHGSMASAPLATFORMOFINFORMATIONTRANSMISSION,THISPAPERDESIGNEDTHEUSESTC89C52RCENHENCEDSINGLECHIPMICROCOMPUTERASTHECONTROLCENTER,TESTINGANDRECEIVINGTHEGSMMODULETOSENDINFORMATION,THUSBYCLOSINGANDOPENINGRELAYTOREALIZETHEREMOTEHOMEAPPLIANCECONTROLSYSTEMTEXTMESSAGETOSTRICTLYFOLLOWTHEPRINCIPLEOFTHESTANDARDATINSTRUCTIONSET,BECAUSETHEDESIGNOFTHESYSTEMNEEDTOUSERSTHROUGHTHEIRMOBILEPHONESTOTHESIM300MODULEOFTHECARDTOSENDSIMPLEENGLISHANDDIGITALINFORMATIONCANBEREMOTETOCONTROLTHEON/OFFTHEHOMEAPPLIANCES,SOJUSTTAKETHETEXTENCODINGSCHEMETHESYSTEMISMAINLYCOMPOSEDOFGSMMODULESIM300,STC89C52RCANDSMALLELECTROMAGNETICRELAYSONGLESRD5VDCSH,S9013NPNTRIODE,ETC,INTRODUCESTHEHARDWARECOMPONENTSONTHEGSMMODULESIM300,STC89C52RCANDITSPERIPHERALCIRCUITAREDESCRIBEDINDETAILINTHEASPECTOFPROGRAMMING,MAINLYBYTHEMAINPROGRAM,ASERIALPORTRECEIVINGINTERRUPTSERVICESUBPROGRAM,TIMERINTERRUPTSERVICE,ETCONEOFTHEMAINPROGRAMISRESPONSIBLEFORSENDINGANDRECEIVINGMESSAGESANDSIM300MODULE,ASERIALPORTRECEIVINGINTERRUPTSERVICESUBROUTINECOMPLETESERIALDATATRANSCEIVERWITHTIMERINTERRUPTSERVICEROUTINEFORREASONSOFSECURITY,THESYSTEMCONTROLOBJECTFORTHERICECOOKERORELECTRICLIGHT,THUSSUCCESSFULLYONTHEREMOTECONTROLKEYWORDSSTC89C53RCINTELLIGENTHOMEAPPLIANCESSIM300THEREMOTECONTROL北京理工大学珠海学院2014届本科生毕业设计目录1前言111本设计的目的、意义及应达到的技术要求112本设计在国内外的发展概况及存在的问题113解决的主要问题214方案的选择22GSM智能家电系统硬件设计321家电控制系统的总体结构322STC89C52RC芯片介绍42352单片机串行口结构524单片机控制的外围系统6241复位电路的设计6242时钟电路的设计7243工作指示灯电路设计7244外部继电器控制模块设计825GSM模块SIM300介绍926SIM300与单片机的通信方式93GSM智能家电系统软件设计1231串口程序设计12311串口初始化程序13312中断服务程序1532存储程序设计17321数据读的设计17322数据写的设计1733短消息程序设计18331AT命令的介绍18332短信部分TEXT传输模式204系统调试和成果演示2241硬件调试2242软件调试2443成果演示275总结29参考文献30谢辞31附录32附录A32附录B44北京理工大学珠海学院2014届本科生毕业设计11前言11本设计的目的、意义及应达到的技术要求伴随着当今世界经济的快速增长,生活节奏快这一现实使得越来越多的人们追求更高的生活质量与品位。但是,怎样建立一个高效率、低成本的智能控制家电的系统已成为了当今世界的一个热点问题。它要实现的功能是通过网络等信息通信技术手段远程控制家电,使得控制者不受时间、地域的限制,特别是电信的GSM网络覆盖范围之广阔化、无缝化、以及手机的日益的普及为基于此的远程智能家电控制系统提供了巨大的市场发展空间1。本文正是通过GSM网络作为通信平台对家电进行远程控制及信息反馈,具有运行费用低、操作简单、实现方便快捷等优点,能够从根本上有效地满足用户对家电的智能控制,让用户真正体验到高品质的生活,达到人与家电信息互联、人与信息互通的效果。建立一套基于GSM与STC89C52RC单片机的智能家电控制系统尤其有意义。使该系统实现控制者给GSM模块发送短信息指令来控制单片机的外围设备的设计目的,从而实现智能控制家电设备之初想。在不久的将来,智能家电控制系统将逐步进入中低端市场,从东部市场走向西部市场。智能化家电将逐步成为电子信息领域的支柱产业,适合于普通大众使用,有着广阔的市场前景。12本设计在国内外的发展概况及存在的问题GSM900和GSM1800是目前两种主要的GSM系统,因为使用不同的频率,所以它适用于移动的电话是不一样的。但是现在大部分的手机基本上都是具有双频的手机,因此可以自由在这两个频段之间任意进行切换。欧洲国家普遍采用的系统除了GSM900和GSM1800之外还加入了GSM1900,也就是我们普通老百姓平常所说的三频手机。随着中国手机市场的进一步飞速的发展,现在已经有生产厂家生产出在GSM900GSM1800GSM1900这三个频段进行自动切换的移动电话了,并且实现了我们之前老祖宗心里压根都不敢想象的事,那就是一部手机在手中,走遍天下都不怕。智能家电的控制在发达国家,特别是美国、日本、韩国这些电子产品先进的国家应用都比较普遍,并且非常受欢迎。在我们中国,起步比较晚,但是发展却是非常之迅速的,生产厂家很多,产品也是各种各样。在外观与产品质量上,总体与国外还有差距,但有些家庭的智能终端产品已经做得很成熟,不但美观漂亮,而且功能也很多,与国外的品牌比非常具有竞争。智能家电控制是未来居家生活的发展方向,虽然现在普及比较少,某种程度上来说还是有钱人的专属,不过现在已经有廉价的产品出现,北京理工大学珠海学院2014届本科生毕业设计2例如家庭的情景灯光系统。它的功能简单,价格便宜,比较实用,目前比较容易让人们接受2。13解决的主要问题首先,基于STC89C52RC单片机和GSM实现远程家电控制是本次设计的题目,详细的内容有利用设计好的单片机最小系统、外围电路以及SIM300模块,通过AT指令和C语言,实现模块与单片机之间的通信,从而由控制芯片单片机通过串口中断实时进行检测,若检测到GSM模块SIM300有传输数据信息过来,则会进行一系列的返回,最终确认所发信息是否为程序中预先设定的字符。本次毕业设计中所采用的SIM300硬件设备为现成的模块,通过与所设计的芯片部分连接好就可以了。因此,连接成功硬件后,如何设计程序,怎样通过AT指令和C语言编程来实现远程控制功能成为了此次设计的主要任务和需要解决的主要问题。14方案的选择目前,远程控制家电的方法有很多,主要有固话线路、蓝牙和GSM网络以及互联网等方式。A通过GSM网络控制远程家电。作为最简单灵活、成本不算很高的手机等移动通信设备来进行家电远程控制,从而实现与家庭中的GSM模块进行实时通信,是可以实现本次方案的选择之一,但是其通信信号及其稳定性相对来说是比较差的。B用电脑作为网关进行远程控制家电。此种方式主要是利用PC机的串口来与单片机进行通信,从而达到远程控制家电的功能,人机界面也非常友好。但是,这就意味着要实现该系统功能的家庭就需要多配备一台PC机,而其价格相对来说比较昂贵,不利于该系统的市场化,并且PC机的系统功耗比较高,长时间的运行需要其重新启动,然而这对于一个可以实时监控的系统来说是非常之不利的。C通过嵌入式控制器来控制远程家电。随着互联网的技术发展,原有的32位的IPV4地址扩展到了现在的IPV6的128位地址,高速的互联网使智能家电占有了一席之地,但是若将这些需要远程控制的家电接入互联网上,则在控制端的MCU需要相关的TCP/IP协议栈得到应用与实现,并且在微型控制器的运行速度和硬件上的资源分配方面有比较高的要求,这无形中已经提高了设计该系统的成本。从另一方面来说,每个想要实现远程家电控制的家庭都需要配备一个INTERNET接口,都需要分配给家电一个独立的IP地址,基于目前网络覆盖范围,显然要实现该系统的普及也是有相当大的困难的。D通过家庭的固话电线来控制远程家电。电话遥控器虽然在一些发达城市中的智能小区已经得到了普及,但是固定电话的控制终端会受到物理位置固定性的影响,不能满足随时随地进行远程控制家电的目的。综上所述,无疑方案A是最适合设计该系统的最佳选择。北京理工大学珠海学院2014届本科生毕业设计32GSM智能家电系统硬件设计21家电控制系统的总体结构本次所设计的远程控制家电的智能系统的硬件部分主要有GSM模块SIM300和单片机模块两部分,这两个模块基于串口通信的原理,通过分别连接GSM模块的GRX、GTX、GND与单片机的TXD、RXD、GND三个引脚,就可以实现课题。系统的主要功能是通过英文短消息的接收与发送,从而单片机根据接收到的英文短消息来控制相应的家用电器,实现了远程控制。(1)家用远程控制系统的总体结构框图如下图21所示图21家电控制系统结构框图(2)家用远程控制系统的总体结构示意图如下图22所示GSM模块SIM300增强型单片机STC89C52RC电磁式继电器SONGLE05VDCSH电饭煲台灯开台灯耶下班后回家有饭吃罗,爽北京理工大学珠海学院2014届本科生毕业设计4图22家电控制系统结构示意图22STC89C52RC芯片介绍单片机是微机的一种,是将单片机的CPU、存储器、I/O接口和总线制作在一块芯片上的大规模集成电路。由于单片机具有体积小、功能齐全、价格低、开发应用方便等优点,又可以将其嵌入产品的内部,所以得到了很广泛的应用3。图23单片机的组成89C52单片机的组成如上图23所示。在图中,与并行口P3复用的引脚有串行口输入和输出引脚RXD和TXD,外部中断输入引脚INTO和INT1,外部计数输入引脚T0和T1,外部数据存储器写和读信号WR和RD。1CPU系统CPU系统包括8位的CPU、时钟电路和总线控制,其中CPU含布尔处理器。单片的核心部分就是CPU,设计中所用到单片机的CPU为8位,因此,其处理数据能力、运算速度和实施控制功能等各方面都符合本设计要求。2存储器系统该系统包含8K字节的程序存储器(ROM/EPROM/FLASH)和512字节数据存储器(RAM)以及特殊功能寄存器SFR。内带2K的EEPROM存储空间。3I/O口和其他功能单元包括4个并行I/O口、3个16位定时计数器/计数器,即T0和T1以及T2;2个通用异步串行口(UART),还可用定时器软件实现多个UART;外部中断4路,下降沿中断或低电平触发电路,POWERDOWN模式可由外部中断低电平触发中断方式唤醒4。时钟电路CPU总线控制ROM/EPROM/FLASH8K字节RAM128/256字节SFR21个/27个定时/计数器2个/3个中断系统6个中断源2/4个优先级串行口全双工2个并行口4个XTAL2XTAL1P0P1P2P3VSSVCCORSTEAALEPSEN北京理工大学珠海学院2014届本科生毕业设计5但本次课题所涉及的I/O口只用到了P35、P00、P21、P01、P02。具体的分配如下表21所示。表21引脚功能分配表I/O口分配功能P00当继电器1闭合时该绿色发光二极管1亮P01控制继电器1的闭合与断开P02控制继电器2的闭合与断开P21当继电器2闭合时该绿色发光二极管2(电压控制型)亮P35显示复位(手动/上电),若单片机有复位时,该七彩灯将亮P30串口通信(TTL电平)RXD接收数据端P31串口通信(TTL电平)TXD发送数据端其他悬空2352单片机串行口结构51/52系列单片机芯片的内部设计有一个串行接口UART,是一个可以编程的全双工的异步串行通信接口,占用P30与P31这两个引脚。在程序设计时可以设计为通用异步接收和发送器,也可以设置为同步移位寄存器,并且还能够实现多机的通信。有三种帧格式,还能够设置各种的波特率,总得来说,使用非常方便和灵活。图24单片机串行口结构图串行口控制寄存器(98H)发送SBUF99H接收SBUF99H门电路发送控制器接收控制器1同步时钟输入移位寄存器串行口中断内部总线TXDP31RXDP30TIRI北京理工大学珠海学院2014届本科生毕业设计651/52单片机串行口结构框图如图24所示,其组成部分有发送/接收缓冲寄存器SBUF、输入移位寄存器、发送控制器、接收控制器和串行口控制寄存器等。串行口控制寄存器SCON用于设置串行口的工作方式、接收/发送控制以及设定状态标志等,发送缓冲寄存器SBUF则就是用在存放将要发送的数据,与此相对的是接收缓冲寄存器SBUF,此寄存器的作用是接收由外部设备输入移位寄存器中的数据,其中定时器T1的作用是作为波特率的发生器5。在进行串行通信的过程中,外面的设备的数据通过单片机的P30引脚RXD输入,输入的数据首先是逐位的进入到输入移位寄存器中,然后将此数据由串行的转换为并行的,最后才送入接收缓冲寄存器SBUF中。在接收时,则由输入移位寄存器和接收缓冲器SBUF构成双缓冲的结构,此双缓冲结构的作用是避免在接收到次帧数据的时候,CPU未能及时地响应接收寄存器前一帧的中断请求,还没能把前一帧的数据读走,而造成2帧的数据重叠而产生接收错误。在发送数据的时候,串行的数据通过单片机的P31引脚TXD输出,因为CPU是主动的,所以无论怎样都不会产生像接收那样会产生重叠的问题,故不需要双缓冲器结构。将要发送的数据通过发送控制器控制逻辑门电路而进行数据的逐位输出即可。24单片机控制的外围系统241复位电路的设计单片机的复位是使单片机或系统中的其他部件处于某种确定的初始状态。单片机的工作正是从复位开始的。当STC89C52RC的RST引脚加高电平复位信号(保持2个以上机器周期)时,单片机内部就执行复位操作,而复位信号变为低电平时,单片机就开始执行程序。所设计的系统正为此高电平按键复位,上电瞬间,RST引脚将获得高电平,随着电容C0的充电,该引脚的高电平也将逐渐下降,在此,选用10UF的电容C0和1K电阻R0,从而可以保持足够的时间6。如图25所示。北京理工大学珠海学院2014届本科生毕业设计7图25单片机的复位电路242时钟电路的设计作为单片机的时钟基准,片内振荡器的输入和输出分别接上XTAL1与XTAL2,一般来说,晶振频率高一些可以提高指令的执行速度,但与此相应的噪音也会增加,在满足系统功能的前提下,应该选用低一些的晶振。由于本系统需要与GSM模块通信,故应该选择110592MHZ的晶振Y0,这样便于将波特率设定为标称值9600BPS。如下图26所示。图26单片机的晶振电路243工作指示灯电路设计当按下六角自锁开关后,S0将会从3转向1处,若此时单片机接上5V的电源,则工作指示灯发光二极管LED0会亮。而在5V与电源接地之间加上一个电容,因为考虑到电源的输入纹波对单片机的影响,所以需要在电源的管脚处增加一个220UF的电容C3来实现滤波,以减小输入管脚处所受到的干扰。设计的电路图如图27所示。北京理工大学珠海学院2014届本科生毕业设计8图27工作指示灯电路244外部继电器控制模块设计1设计的原理通常单片机输入输出端口输出的电压为476伏(P0口需加上拉电阻),若直接把单片机输出的电压加到继电器上,则继电器会拉低此电压,使该继电器无法正常的进行工作。但是,三极管具有电流放大作用,不仅若此,还可以当做开关的通与断来控制继电器。从而实现用比较弱的直流电来控制比较强的交流电。2设计的框图3电磁式继电器继电器是电器控制中最常用的一种控制元器件。继电器由通电线圈和触点(常开或者常闭触点)构成。其工作原理是当线圈通电时,由于磁场的作用,使开关触点闭合或者打开,接通或断开执行机构,完成控制功能。本设计中所用到的继电器为松乐牌小型电磁式继电器,主要组成部分有铁芯、衔铁、触点弹簧和线圈等。当主线圈回路通以一定的电压时,线圈中将会流过一定的电流,此电流会产生电磁感应效应,从而将副回路的触点弹簧吸引过来,导致副回路的交流电导通。当主回路的线圈电流消失时,电磁感应效应则随之消失,副回路的触点弹簧与导通回路的触点断开,利用这一特点就可以很方便的实现以主回路的弱小电流控制副回路的交流电流,其中续流的二极管D1是用来保护三极管不被感应电压损坏,具体的设计电路图如图28所示。从I/O口获取电平NPN型三极管工作电磁式继电器工作北京理工大学珠海学院2014届本科生毕业设计9图28单片机控制继电器回路25GSM模块SIM300介绍图29GSM模块SIM300实物图SIM300的实物图如上图29所示,GSM模块SIM300内部集成了TCP/IP协议,而且还对TCP/IPAT指令进行了扩展,所以设计该系统时用该模块将会使设计变得十分方便与简单,除了本设计需要利用到该模块的SMS功能外,此模块还可以实现语音、数据以及高速传输的传真信息的接收与发送。不仅如此,该模块的功耗也比较低,当其进入睡眠不工作的状态时,电流消耗仅有25毫安,其自动波特率的范围也比较广,满足本设计系统的9600BPS波特率要求。北京理工大学珠海学院2014届本科生毕业设计10SIM300模块的优良的性能使它能够应用于许多控制方面的系统,最基本的特点是为三频GSM/GPRS900/1800/1900MH或者四频850/900/1800/1900MHZ并且GSM300集成了比较完整的射频电路和GSM的基带处理器,是一款主流的GPRS芯片7。26SIM300与单片机的通信方式单片机GSM模块之间的通信方式是串行通信方式的,并且是串行方式中的异步串行通信方式,异步串行通信是指发送方和接收方的数据的发送与接收是靠自己的时钟所控制的。但是,为了使双方的数据接收与发送相协调,一般要求发送与接收方的设备时钟保持一样,异步通信只需要一条通信线路就可以实现从一方到另一方的传输,但是两条数据线的话就可以实现数据的双向传输了,本设计的系统之间的连接方式就是通过两条数据线进行数据传输的。异步串行通信的过程中,帧的格式通常由起始位、数据位、奇偶校验位和停止位这四部分组成的,如下图210所示。异步通信时,发送方先发送1位起始位“0”,接着就发送8位数据,并且规定比较低的位在前面,较高的位在后面,其后是奇偶校验位,但是此位是可有可无的,最后是停止位“1”。完整的一帧包括从起始位到停止位。各个位的作用如下所述。空闲位下一帧空闲位BD0D1D2D3D4D5D6D7PST图210异步串行通信的数据格式起始位B起始位是在一帧数据的开始处的,它所占的位数是1位。通信线上若没有数据传输时,该位为高电平,接收端就不断检测通信线的状态,当连续若干个“1”之后出现一个“0”时,就知道发送方发送了一个新的字符,接收方就准备接收了。数据位D0D7起始位之后就是若干位的数据位了。传送时首先是低位,然后才传输高位。奇偶校验位P数据位后是奇偶校验位,奇偶校验位是通过对数据进行奇偶性检查,从而根据此来判断字符是否传输正确。在通信的双方,需要事先约定好到底是采用奇校验还是偶校验(本系统设置的串行口工作方式是方式1,所以没有奇偶校验位)。奇偶校验位的工作原理P是特殊功能寄存器PSW的最低位,它的值根据累加器A的运算结果而变化。譬如说偶校验,如果A中“1”的个数为偶数,则P0;如果累加器A中的“1”的个数为奇数,则P1。如果在进行串行通信时,把A的值(数据)和P的值(代表所发送数据的奇偶性)同时发送,那么接收数据到数据后,也要对数据进0北京理工大学珠海学院2014届本科生毕业设计11行一次奇偶校验。如果检验结果相符(校验后P0,而传送过来的检验位也等于0;或者检验后P1,而传送过来的检验位也等于1),那么就可以认为接收到的数据是正确的,但是反之,则代表传输的数据时错误的。停止位S占一位,代表一帧字符的结束,在末尾。可以有半位。在异步通信中,数据通常是通过字符进行传输的,帧格式或者帧的具体含义是1个字符完整的通信格式。发送方和接收方都是通过逐帧的进行发送与接收的,一帧中各位的时间间隔应该要相同,所以必须保证通信的双机之间有相同的传输波特率,否则时间间隔就会不同,若其误差超过百分之五时,双机之间也就不能够进行通信了。但是,异步通信的双方的时钟相互独立,故时钟频率可以不一样,从而在通信时不要求必须有同步的时钟信号,这在现实中是比较容易实现的,虽然此方式的传输效率比较低,但是它可以利用校验位检测错误8。GSM模块与单片机双机通信时,根据双机的通信距离可分为短距离通信和长距离通信,短距离通信是指1米之内,长距离通信是指1000米左右。因此,如果我们要传输更长的距离,就需要借助于其他的设备才能实现了。在此设计的系统中,我们选择单片机双机四种通信方式中的TTL电平通信,该通信方式是指直接将发送方的单片机TXD端与接收方的RXD端相连接,发送方的RXD与接收方的TXD直接相连接,并且它们的地端需要共连,这种连接方式比较方便。如图211所示。图211TTL电平双机通信连接图TXD甲机(STC89C52RC)RXDGNDRXD乙机(GSMSIM300)TXDGND北京理工大学珠海学院2014届本科生毕业设计123GSM智能家电系统软件设计通过前面各个模块的硬件设计可以知道,本次课题的软件系统设计部分包括存储器的写操作、读操作和串口的初始化以及短消息的设置,本系统所采用的编程模式为前后台系统模式,这种模式有区别于引入操作系统之后的多种模式,相对来说比较简单,执行在程序的设计中编写一个无限循环的主程序来不断查询,检测是否有事件发生,从而去执行相应的指令,系统总的流程图如图31所示。双机之间的数据传送可以有两种方式,一种是中断方式,另外一种是查询方式。但是无论采用哪种方式,都要借助于TI或者RI标志位的,串行口发送时,当TI置1(发送完一帧数据后)后会开始向CPU申请中断请求,在中断服务程序中,需要在编写程序时将TI清零,以方便于下一帧数据的发送。采用查询方式时,CPU会不断查询TI的状态,只要查询到TI为1就结束查询,TI为1后也要及时地用软件把TI清零,以便下一次好发送下一帧数据9。本次设计采用通过中断的方式来接收与发送数据,因为89C52片内的串行通信接口是一个全双工的通用异步收发器(UART),在物理上有两个独立的接收、发送缓冲器SBUF,虽然他们有着同一个99H地址,但可以同时发送与接收数据,所以利用TI与RI中断标志位是否为1就可以设计串口中断程序来接收数据10。具体的程序设计过程后面将会详细叙述。北京理工大学珠海学院2014届本科生毕业设计13YES图31系统总流程图31串口程序设计在本所设计的系统中,单片机的TXD与RXD两个引脚分别与GSM模块的GRX、GTX两个引脚用跳线相连接进行通信,所以要对串口进行程序设计,其中,包括串口初始化程序设计与串口中断程序设计这两部分。这其中还要对GSM进行初始化设置,设计流程图如图32所示。具体的串口程序代码将体现程序的设计过程。图32初始化GSM流程图上电启动GSMSIM300初始化单片机初始化SIM300发送ATCMGF1发送ATCMGD1开始初始化SBUF是否有数据读取第一条短信执行被控机构删除第一条短信NO北京理工大学珠海学院2014届本科生毕业设计14311串口初始化程序在使用串行口之前,需要对串行口进行初始化程序设计,其主要的内容为以下几个(1)确定定时器T1的工作方式,也即是要配置TMOD寄存器。(2)计算定时器T1的初始值,从而装载高8位与低8位的值。(3)启动定时器T1。(4)确定串行口工作方式。(5)串行口在中断方式工作时,需要进行中断设置。具体的程序如下所示VOIDUART_INTVOIDSCON0X50/UART方式1即串行工作方式1,10位异步通信方式;PCON0X00/SMOD0波特率不加倍,即SMOD0,表示数据传输率不加倍;TMOD0X20/T1方式2,用于UART波特率;TH10XFD/装初值;TL10XFD/装初值TR11/启动定时器1EA1/打开全局中断控制ES1/打开串行口中断设计思想与过程按照串口初始化的设计步骤,因为需要自动重装值,所以T1设置为方式2,之后装载TH1和TL1的值,然后启动定时器/计数器1、确定串行口的控制。在配置特殊功能寄存器时,需要设定串行口的工作方式,由于该系统只有一个单片机作为控制,并且单片机需要处于数据帅选状态、数据信息也可以进入SBUF,并且RI置位,所以其SM2位应该设置为0,串行工作在方式1,串行允许接收位REN置1,TB8和RB8为零。综合考虑的SCON控制器配置如下表31所示表31SCON的配置在定时器/计数器工作方式1下,电源控制寄存器PCON中只有一位SMOD与串行口的工作有关,当把该位置1时波特率将提高一倍,在标准情况时,把该位置零即可。位地址9F9E9D9C9B9A9998位符号SM0SM1SM2RENTB8RB8TIRI位配置01010000北京理工大学珠海学院2014届本科生毕业设计15在设置工作方式寄存器TMOD时,需要考虑选用什么方式,因为此系统需定时器T1用作波特率发生器来使用,所以选用定时器T1的可自动装入初值模式(方式2),通过这样的设置,通用异步接收/发送芯片就可以把数据串行输出11。而定时器工作方式寄存器TMOD(89H)的门控位GATE则设置为0,因为设计本系统初衷是仅用软件使TCON中的TR1为1,就可以启动定时/计数器1工作。具体的配置如下表32所示。表32TMOD的配置表33方式1常用波特率与TH1初值关系在设置TH1时,用到了串口通信计数器,也可以用计算公式算出,不过选用时都是参照常用的波特率与TH1的关系表得出的,如上表33所示。下面是用串口通信计数器软件虚拟计算出来的结果。图33TH1的初值计算位符号GATEC/TM1M0GATEC/TM1M0位配置00100000波特率/BPS192K9600480024001200TH1初值FDHFDHFAHF4HE8HSMOD10000北京理工大学珠海学院2014届本科生毕业设计16图34TH1的初值计算由图33和34的计算结果可以知道,当选用110592MHZ的晶振时,无论选用什么样的波特率,其误差百分比都为零,这也是在设计时钟电路时为何要选用这种晶振的原因。312中断服务程序串口的数据在进行处理时,一般有两种方式查询方式和中断方式,此设计的单片机在接收数据时,采用了中断的控制方式,其串口数据的接收中断原理如图35所示。下面是其具体的程序。/数据接收/VOIDUART_RECEIVEVOIDINTERRUPT4EA0IFSBUF65USIGNEDCHARAVOIDMAIN北京理工大学珠海学院2014届本科生毕业设计26REN1SMO0SM11TMOD0X20TH10XFDTL10XFDTR11WHILE1IFFLAG1FLAG0SBUFAVOIDSERINTERRUPT4RI0P0SBUF上面的测试程序给PC返回的数据时是乱的,也即是PC机不给单片机发送任何数据时,单片机也会返回一连串的字符,经过以下的修改后,在调试助手接收区可以显示正常了,从而给出了此种方法的正确编程思路,这为我接下来的编程很有帮助。INCLUDEUSIGNEDCHARFLAGUSIGNEDCHARAVOIDMAINREN1SMO0SM11TMOD0X20TH10XFDTL10XFDTR11北京理工大学珠海学院2014届本科生毕业设计27WHILE1IFFLAG1ES0FLAG0SBUFAWHILETITI0ES1VOIDSERINTERRUPT4RI0P0SBUF延着此种方法,经过我一番努力的编写与调试,最终编写好了附录A中的程序,在此过程中,还是遇到许多问题的,例如定义的数组过小,导致接收的数据不完整,系统很不稳定;采用指针加1进行查询的方案而没有采用一直读取卡里的第一条信息,然后删除此信息的方法,不能够实时监控GSM发送过来的数据,导致系统不稳定。编写好全部的程序后,用串口调试助手进行测试,因为刚启动系统时,单片机会向GSM发送“ATCMGR1“的AT指令,进而将GSM模块设置为文本形式,所以起初会返回“ATCMGR1“的指令。之后即会循环返回“ATCMGR1“与“ATCMGD1“显示在串口调试助手的显示接收区,如图43所示。因为经过我的实践,用该方法系统会比较稳定。在这之前还会对包括绿色发光二极管1和发光二级管2以及继电器1和继电器2等的测试。北京理工大学珠海学院2014届本科生毕业设计28图43串口调试助手检测程序43成果演示本设计的系统拟通过给装在GSM模块里的普通手机卡发送短信而进行远程控制,在连接好整个电路后给系统上电,给弱电的控制系统提供5V的电源,被控制系统提供220V市电,演示过程如下(1)打开与关断继电器1所控制的家电。先发送1Y指令,稍等片刻后,可以听到继电器1动作的响声,继电器1打开并且显示继电器1工作的LED1亮,被控制的家电接通,正常工作。之后再发送指令1N,关断继电器1与LED1。演示图如下图44所示。图44发送1Y指令的效果图(2)打开与关断继电器2所控制的家电。先发送2Y指令,稍等片刻后,可以听到继电器2动作的响声,继电器2打开,并且显示继电器2工作的LED2亮,被控制的家北京理工大学珠海学院2014届本科生毕业设计29电台灯由于仅是演示,故自己制作了一个8X8的点阵来检测效果被接通,正常工作。之后再发送指令2N,关断继电器2与LED2。演示图如下图45所示。图45发送2Y指令的效果图(3)先后打开继电器1与继电器2,之后再按顺序分别关断继电器1和2。发送1Y指令稍等片刻等打开继电器1后再发送2Y指令,两个继电器正常工作,两个指示灯LED亮;先后发送1N与2N指令,分别将相关的继电器关断。演示图如下图46所示。图46发送1Y和2Y指令的效果图北京理工大学珠海学院2014届本科生毕业设计305总结本次所设计的基于GSMSIM300和单片机的远程控制家电系统包括GSM模块、单片机控制模块以及执行机构模块。在历经了三个多月通宵达旦的日子,终于实现了最基本的通过短消息来远程控制家电的功能,该系统最大的优点是充分利用了移动网络廉价的SMS短消息,并且操作起来非常简单,运行成本也不高。从最初对该课题的分析、研究、以及设计和测试,到最后的系统可以正常运行。对于一个之前并没有接触过GSM模块的我来说都是一个非常大的挑战,刚开始时我是借同学的TC35模块开发板来学习的,然后按照教程里的实验步骤一步一步地去学习、实践,该模块的缺点是不像SIM300模块那样内嵌TCP/IP协议,可以连接因特网。当最终看到自己所设计的系统可以实现自己的最初的设想时,心里难免会表现出一丝的激动。该系统可以使上班一族在公司还没下班时就可以通过自己随身携带的手机通过发送短信来提前煮好饭,等到自己下班时可以吃上热喷喷的饭了,从而解决了生活中的一些远程难以操作的问题。不仅如此,若家里楼层比较多,并且家用照明灯比较多的情况下,操作者就可以在某一层楼用手中的手机发送相应的短信去控制其他楼层的照明灯,节省了时间与人力,从而达到提高工作效率、改善生活质量、提升生活品味的最初的设计目的。由于时间的限制,本系统最大的缺点就是没有使用GSM的PDU模式,不能够发送中文短消息去远程控制相应的家电,在远程控制家电时功能比较单一;若使用非屏蔽双绞线进行传输时,波特率为9600BPS时最大的传输距离只有76M,所以具有一定的局限性。综合考虑后,如能够开发出可以利用QQ来发送相应控制指令去控制远程家电的话,那就无敌了。而且我相信,在不久的将来,利用QQ与短消息的结合方式去控制GSM模块,从而来实现家电的远程控制将会是未来开发人员努力追求的研究方向,并且我也正在努力中,相信通过我的努力可以实现此设想北京理工大学珠海学院2014届本科生毕业设计31参考文献1宜彩平等利用GSM无线模块发送短消息J计算机应用200452赵小红基于移动通信短消息的无线智能监控系统J电子技术2002年第1期3曹尉青,韩冰利用GSM短消息实现远程控制无线电工程J2002年第10期4李全利单片机原理及接口技术(第二版)M北京高等教育出版社,2009116318985秦龙MSP430单片机常用模块与综合系统实例精讲M北京电子工业出版社200776陈雷,雷宏洲C/C程序设计教程第二版M北京清华大学出版社,200727樊天晴INTERNET信息终端技术的研究D西北西北工业大学,20028王洪瑞,权爱荣,肖金状GSM模块收发中文短消息的关键技术J2001,32151539何军无线通信与网络M北京清华大学出版社,200710谢希仁计算机网络(第五版M北京电子工业出版社,2008111付军基于互联网家电远程控制组件D,华中科技大学,20041912李鸿用单片机控制手机收发短信息J,电子技术应用2003,01242613赵大成,贾海燕手机短信收发的AT指令控制J,信息工程大学学报2004,02909814SIM300数据手册15张云,熊承燕基于GSM的短消息业务协议分析无线通信技术J,2001,2(10)344016大全,郑锋51单片机典型应用开发范例大全M北京中国铁道出版社,20101017王静霞单片机应用技术(C语言版)M北京电子工业出版社,2009519819918藏春华综合电子系统设计与实践M北京北京航空航天大学出版社,20091119魏小龙单片机接口技术及系统设计实例M北京北京航空航天大学出版社2010920裘岚C语言程序设计实用教程M北京电子工业出版社2001,2(10)3440北京理工大学珠海学院2014届本科生毕业设计32谢辞本论文是在我指导老师悉心指导下完成的。张老师多次询问研究进程、并且为我指导迷津和帮助我开拓课题的研究思路,他精心点拨、热枕鼓励我。饮水思源,乃中华儿女之优良传统。在此,我非常感谢我的指导老师他勤奋的敬业精神、认真工作的态度给我留下深刻的印象,正是张老师那高瞻远瞩的眼光,我才有机会参与这个课题的设计,唤醒了我之前一直重视理论而忽略实践的重要性。最终领悟到了实践出真理、理论指导实践的马克思观点。在此,再次致以诚挚的感谢同时,也非常感谢与我一起渡过丰富多彩的四年大学生活的同学以及我的舍友,感谢他们一直以来对我无微不至的关心与帮助,在我做毕业设计的过程中遇到自己难以解决的问题时,是他们向我伸出援助之手,给我提供一些元器件材料,使我能够顺利完成这看起来难以完成,在经过一番努力后终做出毕业设计的作品。当我做出自己所设计的作品时,我心里深知,像我们这种理工科的学生,在学单片机这门课时,光看书是远远不够的,实践动手能力非常重要,若想要提高这方面的知识,自己做项目非常有必要,只有在做作品的过程中才能学到更多的知识。因此,我并不局限于做这个毕业设计的项目,完成作品之余我还用5MM的LED雾灯做了一个32个灯的心形,一个8X8(64个灯)的点阵屏与8X8X8(即512个灯)的光立方,这些都是我花了几个月,每天熬夜查找资料做出来的作品,有时一个很简单的程序错误都可能要耗费很长的时间才能调试出来,这也更加增强了我个人的实践动手去解决问题的能力,为我以后的工作奠定了良好的基础在此,我还要感谢我的爸妈言树之背、养育之恩是我这辈子都无以回报的。是他们含辛茹苦地培养我读书,支持我高昂的学费,方能使我能够顺利地完成学业,学有所成,为未来国家的建设与社会的和谐发展贡献出自己的一份力量北京理工大学珠海学院2014届本科生毕业设计33附录附录A程序源代码/本次设计程序描述GSM连接网络后,打开单片机,先不要接上市电,按GSM模块中的S5键,如果七彩灯亮,则GSM模块已经正常工作,此时给GSM模块发送1Y,绿色发光二极管1亮;发送2Y,绿色发光二极管2亮,那么再给GSM模块发送1N和2N分别关掉绿色发光二极管;保持这个状态不变,接上市电,正式开始演示给GSM模块发送1Y,电灯1亮;发送2Y,电灯2亮,发送1N,电灯1灭,发送2N,电灯2灭。说明七彩灯接P35绿色发光二极管1接P00绿色发光二极管2接P21继电器1接P01继电器2接P02最后修改时间2014年3月21日215722/INCLUDEINCLUDEINCLUDE“STC89C52H“DEFINEUCHARUNSIGNEDCHAR北京理工大学珠海学院2014届本科生毕业设计34DEFINEUINTUNSIGNEDINTDEFINELED_ONP351DEFINELED_OFFP350DEFINELED1_ONP000DEFINELED1_OFFP001DEFINERELAYS1_ONP011DEFINERELAYS1_OFFP010DEFINELED2_OFFP211DEFINELED2_ONP210DEFINERELAYS2_ONP021DEFINERELAYS2_OFFP020SBITK1P32SBITK2P33UCHARTEMP50UCHARCODEATF“ATCMGF1R“/设置文本形式UCHARCODEATR“ATCMGR1R“/读第一条短信UCHARCODEATD“ATCMGD1R“/删第一条短信UCHARN0UCHARFLAGK10UCHARFLAGK20VOIDDELAY_1MSUINTZ/延时函数UINTX,YFORXZX0XFORY110Y0Y北京理工大学珠海学院2014届本科生毕业设计35/数据发送/VOIDSENDUCHARTABWHILETAB0ES0/关串口中断SBUFTAB/把要发送的字符放入缓冲区WHILETI0TI0TABTI0ES1/开串口中断/串口初始化/VOIDUART_INTVOIDSCON0X50/串行工作方式1,异步通信方式PCON0X00/SMOD0,表示数据传输率不加倍TMOD0X20/T1方式2,用于UART波特率;TH10XFD/装初值;TL10XFD/装初值TR11/启动定时器1,之后此位要由软件清零。EA1/打开全局中断控制ES1/打开串行口中断/数据接收/VOIDUART_RECEIVEVOIDINTERRUPT4EA0IFSBUF65不接受O和KTEMPNSBUFNIFN50N0RI0EA1VOIDMAINLED_OFFLED1_OFFLED2_OFFRELAYS1_OFFRELAYS2_OFFK11K21N0UART_INT/串口初始化SENDATFDELAY_1MS1000SENDATDDELAY_1MS1000WHILE1IFN0北京理工大学珠海学院2014届本科生毕业设计37SENDATR/一直在读取第一条短信,实现实时监控,方法不是很好,但是是最稳定的。DELAY_1MS1000/打开继电器1/IFTEMPN21/DELAY_1MS200LED1_ONDELAY_1MS1000SENDATDELSEIFTEMPN21/DELAY_1MS200LED1_OFFDELAY_1MS1000SENDATD/打开继电器2/ELSEIFTEMPN22/DELAY_1MS200LED2_ONDELAY_1MS1000SENDATDELSEIFTEMPN22/DELAY_1MS200LED2_OFFDELAY_1MS1000

温馨提示

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

评论

0/150

提交评论