




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)基于GSM短信的温湿度采集系统软件设计THESOFTWAREDESIGNOFTEMPERATUREANDHUMIDITYACQUISITIONSYSTEMBASEDONGSMSMS学院(系)电子与电气工程系专业电子信息工程总计22页表格1个插图6幅基于GSM短信的温湿度采集系统软件设计摘要本论文介绍了基于GSM短信的温湿度采集系统软件设计,系统由STC89C51单片机、SHT11温湿度传感器、TC35GSM模块及与上位机串行接口电路构成,用户可以根据需要向模块发送手机短信来随意设置手机号码与温湿度范围等功能,方便用户对温湿度环境进行及时监测。本文对每个模块逐一进行了研究,全面详细地论述了软件设计。关键词GSM模块;短信息;温湿度采集THESOFTWAREDESIGNOFTEMPERATUREANDHUMIDITYACQUISITIONSYSTEMBASEDONGSMSMSABSTRACTTHISPAPERINTRODUCEDTHEGSMSMSBASEDTEMPERATUREANDHUMIDITYOFTHEACQUISITIONSYSTEMSOFTWAREDESIGN,SYSTEMSTC89C51SINGLECHIP,SHT11OFTEMPERATUREANDHUMIDITYSENSORS,TC35GSMMODULEANDTHEPCSERIALINTERFACECIRCUIT,THEUSERCANSENDSMSTOTHEMODULETOFREEPHONENUMBERANDRANGEOFFEATURESSUCHASTEMPERATUREANDHUMIDITY,TEMPERATUREANDHUMIDITYANDUSERFRIENDLYENVIRONMENTFORTHETIMELYMONITORINGINTHISPAPER,ONEBYONEFOREACHMODULEHAVEBEENSTUDIEDINDETAILACOMPREHENSIVESOFTWAREDESIGNAREDISCUSSEDKEYWORDSGSMMODULE;SHORTMESSAGE;EMPERATUREANDHUMIDITYACQUISITION目录1引言111课题研究的背景和意义112SMS短信息通信1121移动通信原理1122SMS短信息的无线数传监视和控制系统2123基于GSM通信的软件接口2124基于PDU模式的中文短信息收发413系统的组成、工作原理和功能42短信模块软件设计621TC35模块软件设计622单片机控制TC35GSM模块软件设计83温湿度数据采集软件设计931SHT11温湿度传感器932SHT11对温湿度采集软件设计10321数据传输开始10322通讯复位时序11323温湿度测量时序1133SHT11通信协议1134SHT11通信软件包设计1235温湿度测量程序流程设计124看门狗电路软件设计1341X5045看门狗电路软件设计13结束语14参考文献15附录15致谢221引言11课题研究的背景和意义近年来,随着人们生活质量的不断提高,以及楼宇智能化、自动化的不断兴起与普及,许多大型场所如购物中心、酒店、写字楼等都需要较为舒适的温湿度环境,因此,精确的温湿度采集在温湿度控制系统中显得极为重要。目前,国内外对现代化温室的监控技术发展很快。纵观国内外温室环境调控系统的发展过程,大体可分为3个阶段一是人工控制阶段;二是以机电一体化控制为主的阶段;三是应用计算机参与调控的阶段,该阶段又可分为集中式计算机控制和分布式计算机控制。乔晓军等人设计的农业设施环境通用监控系统和任振辉等人研制的日光温室环境参数智能化监测管理系统都体现了集中式计算机控制的思想。而随着计算机高新技术的发展,尤其是网络通讯技术的进步,分布式计算机控制系统应运而生。董乔雪等人基于对同一地区的多个温室进行群控管理的思想开发了温室计算机分布式自动控制系统,该系统4段变温管理思想可以对温室内温度进行分段精确控制。滕光辉等人采用分布式网络控制技术研制出全数字化“智能温湿度传感器”和“双回路智能温湿度控制器”使温室环境控制更加方便实用。另外,王勋等人开发了基于CAN总线和TMS320LF2407的多传感器分布式温室自动控制系统,该系统能实现远程网络监控和日志管理,提高了温室控制的自动化和实用性。就中国而言,广大农村和农场主要采用的是节能型日光温室和塑料大棚,它需要分散化、低成本的调节控制,而大型连栋温室的高精尖的调节系统所谓“高端”系统不适合普通用户使用。因此,大部分日光温室的监测工作还处在人工方式而并未实现自动化。针对这一情况,本毕业设计基于短信息的温湿度采集系统软件设计,填补了温室监测由“高端化”向“低端化”方向发展的空白。12SMS短信息通信121移动通信原理移动通信是指通信双方至少有一方在移动中(或者临时停留在某一非预定的位置上)进行信息传输和交换,这包括移动体(车辆、船舶或行人)和移动体之间的通信,移动体和固定(固定无线电台或有线用户)之间的通信。移动通信的特点很多,频率资源有限,网络管理复杂,信息传输必须利用无线电波,在复杂的干扰环境中运行,满足移动通信环境的终端设备和与日俱增的用户需求等。移动通信有各种制式第一代的模拟移动通信中AMPS与TACS制式和第二代的数字移动通信中GSM全球移动通信系统,CDMAIS95,PDC个人数字蜂窝),DSC1800制式。我国的数字蜂窝移动通信网以GSM为主。数字蜂窝移动通信系统(GSM)是一个集网络技术、数字程控交换技术,各种传输技术和无线技术等领域的综合性能系统。从网络的物理结构分析,GSM移动通信系统由网络交换子系统(NSS)、基站子系统(BSS)、移动台(MS)和操作维护中心(OMC)四大部分组成。其中网络交换子系统NSS由五部分组成,即移动交换中心局MSC、归属位置寄存器HLR、拜访位置寄存器VLR、鉴权中心AUC、设备识别寄存器EIR组成;基站子系统是在一定的无线覆盖区中,由移动交换中心MSC控制、与MS进行通信的系统设备。一个BSS的无线设备,可包含多个小区的无线设备。根据其功能,BSS可分为基站控制器BSC和基站收发信台BTS两部分。基站收发信台BTS,也可叫基站收发信机站,主要功能是提供无线电发送和接收;MS是用户使用的设备;操作维护中心OMC即操作维护数字蜂窝网络的设备功能实体。操作人员通过OMC来监视和控制GSM系统,来保证系统的正常运转。从信令结构分析,GSM系统中主要包含了MAP接口、A接口(MSC与BSC间的接口),ABIS接口(BSC与BTS间的接口)和UM接口(BTS与MS间的接口,通常也称空中接口)。122SMS短信息的无线数传监视和控制系统SMS(SHORTMESSAGESERVICE)短信息服务是GSM(GLOBALSYSTEMFORMOBILECOMMUNICATION)系统中提供的一种GSM终端(手机)之间,通过服务中心SERVICECENTER进行文本信息收发的应用服务,其中服务中心完成信息的存储和转发功能。短信息服务作为GSM网络的一种基本业务,已得到越来越多的系统运营商和系统开发商的重视,基于这种业务的各种应用也蓬勃发展起来。以GSM网络作为数据无线传输网络,可以开发出多种前景极其乐观的各类应用,如无线数据的双向传送、无线远程检测和控制等。典型的应用有变电站、电表、水塔、水库或环保监测点等监测数据的无线传输和无线自动警报;远程无线控制高压线路断电器、加热系统、防洪拦阻系统或其它机电系统的启动和关闭;车队交通管理和控制指挥系统;控制和监测香烟、食品和饮料自动售货机的运行状态和存货水平等等。由于GSM网络在全国范围内实现了联网和漫游,具有网络能力强的特点,用户无需另外组网,在极大提高网络覆盖范围的同时为客户节省了昂贵建网费用和维护费用。同时,它对用户的数量也没有限制,克服了传统的专网通信系统投资成本大,维护费用高,且网络监控的覆盖范围和用户数量有限的缺陷。比起传统的集群系统在无线网络覆盖上具有无法比拟的优势,加上GSM的SMS本身具备的数据传送功能,都使得这些应用得到迅速的普及。利用GSM短信息系统进行无线通信还具有双向数据传输功能,性能稳定,为远程数据传送和监控设备的通信提供了一个强大的支持平台。123基于GSM通信的软件接口市场上提供的可供二次开发的标准的GSM模块都支持GSM0705所定义的AT命令集的指令。因此,MCU通过UART串行接口直接向GSM模块下发AT命令,就可以方便简洁地实现基于GSM的短信息SMS的收发、查寻和管理。表1列出了与SMS相关的一些常用的GSMAT指令。根据GSM0705的定义,SMS短信息的发送和接收模式共有三种BLOCK模式、基于AT命令的TEXT模式和基于AT命令的PDU模式。使用BLOCK模式需要模块生产厂家提供驱动支持;而用于中英文短信息传送应使用PDU模式,只传送英文短信息(纯文本格式)使用TEXT模式。TEXT模式的短信息发送和接收比较简单,如不需要传送中文则最好采用TEXT模式发送和接收短信息。表1与SMS相关的常用GSMAT命令AT指令功能ATCMGD删除一条保存在SIM卡内的短信息ATCMGF选择短信息格式0为PDU方式1为文本方式ATCMGL列出SIM卡中的保存短信息ATCMGS发送一条短信息ATCSCA设置短信息服务中心地址ATCMGR读取SIM卡中指定一条短信息的内容采用TEXT模式发送接收短信息的步骤分为初始化GSM模块、发送文本短信息和接收短信息。下面一段简单的程序给出一个示例PRINT“ATCSCA“;CHR34;“8613800210500“;CHR34设置短信息中心号码PRINT“ATCMGF1“设置为TEXT模式PRINT“ATCMGS“;CHR34;;CHR34发送一条短信息PRINT“THISISATESTSMS“;CHR26PRINT“ATCMGR1“读取收到的一条短信息该程序使用BASCOMAVR高级语言编写,其中PRINT语句的功能是通过URAT串行口发送字符串,CHR34代表ASCII字符(“),CHR26代表ASCII字符(CTRLZ)。第一行语句设置短信息服务中心号码,即通过串口发送以下字符串ATCSCA“8613800210500“,其中8613800210500为上海地区中国移动的短信息服务中心号码。第二行语句设置短信息发送格式ATCMGF1,其中1表示采用TEXT模式。第三和第四行语句发送一条短信息到控制中心,AT命令的格式为ATCMGSTHISISATESTSMS,其中控制中心的号码短信息内容为“THISISATESTSMS”,确认控制字符为CTRLZ。第五行语句为读取一条收到的短信息内容ATCMGR1,其中1表示收到的(在SIM卡中)第一条短信息。该指令发出后,如果GSM模块中有接收到的短信息,则从UART接口返回如下信息具体AT命令格式请参考GSM0705124基于PDU模式的中文短信息收发发送和接收中文或中/英文混合的短信息必须采用PDU模式。根据GSM0705的定义,只要控制器通过UART接口向GSM模块下发AT命令,就可以直接读取收到的PDU模式的短信息PRINT“ATCMGF0“设置为PDU模式PRINT“ATCMGR1“读取接收的一条短信息在PDU模式下,GSM通信模块的回答格式为CMGR,其中STAT表示该条短信息的状态,通常为0(未读过,新的短信息)或1(已读过);LENGTH为十进制数,表示PDU数据长度减去短信息服务中心地址长度,单位为字节;为回车换行;PDU为PDU模式的数据包。然后,要分析PDU数据包,根据PDU的数据格式将收到的中文信息和其它相关信息解析出来。PDU数据包由两部分构成,短信息服务中心地址(SMSCADDRESS)和TPDU,PDU数据包的格式,其中一个数据单元为一个字节。其中短信息服务中心号码、发送源号码、日期以及时间采用压缩BCD码表示,低位在前,高位在后。PDU模式的纯英文短信息解码,PDU模式的纯英文短信息编码使用GSM字符集的7位编码,此时TPDCS的值为00。如短信息内容为英文字符“HI”,首先将各个字符转换为7位的标准二进制ASCII码,然后要将后面字符的低位逐位调整到前面,补齐前面的差别。例如“H”的二进制ASCII码为1001000,“I”二进制ASCII码为1101001;显然H的二进制编码不足八位,那么就将后面字符I的最后一位补足到H的前面,就成了11001000(C8),I剩下六位110100,前面再补两个0,变成00110100(34),于是“HI”就变成了两个八进制数C834。由于PDU模式的纯英文短信息采用7位编码,解码不方便,因此对于只需发送和接收纯英文字符和数字符号的应用,最好采用TEXT模式发送和接收短信息。PDU中文短信息的解码,由于中文字的编码是采用2个字节的编码,因此发送和接收中文或中英文混合的短信息只能采用PDU模式。但在GSM标准中,中文编码采用UTF8的编码,不是目前国内常用的GB2312编码,故还需要进行中文编码的转换,才能与采用GB2313汉字库相配合显示汉字字型。13系统的组成、工作原理和功能基于GSM短信息的温湿度采集系统包括TC35GSM模块软件设计、STC89C51单片机软件设计、SHT111温湿度传感器软件设计、X5045“看门狗”模块软件设计、MAX3232通信模块、电源模块组成。整体设计框图如图1所示TC35GSM模块STC89C51单片机X5O45看门狗SHT11MAX3232电源模块图1基于GSM短信息的温湿度采集系统设计框图(1)STC89C51单片机STC89C51单片机是整个设计的核心器件,本设计中主要用的是通过软件设计方法,通过C语言编程思想,达到预期设计目的。用其控制对温湿度采集,实时监控室内温度湿度,可以随时将采集到的数据通过GSM网络传输到手机等终端设备,也可以通过单片机驱动液晶,将检测的数据显示在液晶屏幕上。2TC35GSM模块本设计中通信方式采用手机短信息的方式,发送短信息的设备采用TC35三频GSM/GPRS引擎。通过单片机软件编程模式控制TC35GSM模块对温湿度数据的传递。根据用户对温室环境的不同要求,将需要采集得到的数据,以无线的方式发送到用户,用户可根据采集到的数据,对所监测的环境做进一步的调整。(3)SHT11温湿度传感器SHT11温湿度传感器来实现对温室环境参数的采集。温室环境参数包括温度和湿度,主要是在单片机的控制下,通过软、硬件相结合的形式,实现对温湿度数据的采集,并将采集到的数据做进一步的处理供用户参考。(4)X5045“看门狗”模块本设计设有“看门狗”保护程序,通过软件编程思想,达到对整个流程的保护作用,“看门狗”采用的为美国XICOR公司的生产的X5045。在程序运行过程中如果出现死循环,可以使单片机复位,看门狗电路的应用,使单片机可以在无人状态下实现连续工作。(5)MAX3232MAX3232为30V供电的EIA/TIA232和V28/V24通信接口芯片,具有低功耗、高数据速率、增强型ESD保护等特性。(6)电源模块由于本系统各芯片均是宽电压供电,所以本系统采用一块锂电池供电,也可采用三节普通15V电池串联供电。当电源电量不足时,可以被看门狗电路检测到,只要更换电池或取下充电即可。2短信模块软件设计TC35是SIEMENS公司推出的新一代无线通信GSM模块,可以快速安全可靠地实现系统方案中的数据、语音传输、短消息服务SHORTMESSAGESERVICE和传真。模块的工作电压为3355V,可以工作在900MHZ和1800MHZ两个频段,所在频段功耗分别为2W(900M)和1W(1800M)。模块有AT命令集接口,支持文本和PDU模式的短消息、第三组的二类传真、以及24K,48K,96K的非透明模式。此外,该模块还具有电话簿功能、多方通话,漫游检测功能,常用工作模式有省电模式、IDLE、TALK等模式。通过独特的40引脚的ZIF连接器,实现电源连接、指令、数据、语音信号、及控制信号的双向传输。通过ZIF连接器及50天线连接器,可分别连接SIM卡支架和天线。TC35模块主要由GSM基带处理器、GSM射频模块、供电模块ASIC、闪存、ZIF连接器、天线接口六部分组成。作为TC35的核心,基带处理器主要处理GSM终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码。TC35TC35I/MC35/MC35I无线GSM/GPRS通信模块,集成了标准的RS232接口以及SIM卡,可以在PC机上用AT命令通过串口对它进行设置。这使它成为在声音和数据通讯上通用的一个GSM/GPRS双频终端产品。你可以快速的把它应用到产品开发上,同时它也可以作为产品的一个组成部分和产品结合在一起。在无线短信工业控制、远程通讯,现场监控等诸多无线通讯领域开发板将会给您的工作带来极大的便利21TC35模块软件设计TC35GSM模块在首次使用之前,都要进行初始化操作,以确保其是否能正常工作。将模块自身MAX3232接口与PC机串口进行连接。具体操作如下(1)启动串口调试软件启动串口操作软件很多,可以使用任意一款软件。也可使用WINDOWS自带的“超级终端”。设置波特率为192K,这是模块默认的波特率。首次联机可从2400576K不断测试,直到TC35有应答。(2)发送“AT”AT回车。(3)改变波特率“ATIPSXXXXX”TC35的默认波特率是192K,实际使用时,可以改成9600,方法如下ATIPR9600回车。(4)短信模式的设置GSM模块的短信模式有2种。第一种TEXT模式;第二种是PDU模式。PDU模式可以采用UNICODE编码发送英文、汉字。但合成PDU码比较复杂,而TEXT模式只能发送英文,但无须编码。实际使用可以采用TEXT模式。设置如下ATCMFG1回车(5)短信模式简介SMS是由ETSI所制定的一个规范GSM0340和GSM0338。当使用7BITS编码的时候它可以发送最多160个字符;8BIT编码最多140个字符。通常无法直接通过手机显示;通常被用来作为数据消息,例如SMARTMESSAGING中的图片和铃声和OTAWAP设置。16BIT信息最多70个字符被用来显示UNICODEUCS2文本信息,可以被大多数的手机所显示。一个以CLASS0开头的16BIT的文本信息将在某些手机上作为FLASHSMS显示闪烁的SMS和警告SMS。两种方式来发送和接收SMS信息使用文本模式或者使用PDUPROTOCOLDESCRIPTIONUNIT模式。文本模式可能某些手机不支持实际上也是一种PDU编码的一种表现形式。在显示SMS信息,可能使用不同的字符集和不同的编码方式。(6)短信读取方法ATCMGRX回车如果有短信息,TC35回应ATCMGR1CMGR“RECUNREAD“,,“04/08/17,22243202“TESTOKOK短信息分析“TESTOK“就是短信息内容。短信息的存储容量与IC卡有关,序号从1N。RECUNREAD“代表短信息未读过。RECREAD“已读过接收的手机号码。04/08/17,22243202“短信息发送的时间。无短信息,TC35回应ATCMGR3CMGR0,0(7)短信的删除方法ATCMGD1回车(8)短信的发送方法短信息的发送分成两步A发送接收的手机号码,等待应答“ATCMGS回车目的地址TC35回应ATCMGSB输入短信息的内容只能是英文TEST回车22单片机控制TC35GSM模块软件设计上面介绍了用AT命令控制TC35的方法,单片机输出的相应的AT指令实现对TC35的控制和短信收发。单片机串口设置成模式19600,N,8,1,依次将ATXXX以ASCII码形式输出到UART口;接收TC35的数据采用中断方式。这里给出详细的程序清单KEILC51,不介绍编程的方法。程序见附录,软件流程图如图2所示。图2单片机控制TC35模块软件流程图单片机控制TC35模块进行温湿度采集设计总的思想是正常情况下单片机自动地完成对温湿度指令的检测(包括来自自身定时器,键盘以及管理中心通过短信发送的温湿度检测指令),一旦检测到温湿度采集指令就会执行温湿度,在正常情况下通过GSM模块定期地向用户中心发送温湿度数据消息,一般情况使用短信收发,当然为了保证可靠,可以每条发送短信都需要用户给予相应的一条固定回应,即我们常说的发送报告。3温湿度数据采集软件设计31SHT11温湿度传感器SHT11是个芯片,它由标准数字输出的湿度和温度传感器模块组成。先定做后加工的CMOS应用程序确保高度的可靠性和稳定性。该芯片包括两个已校准的微型温度和湿度传感器,14位的A/D转换器,放大器,线性校准电路和数字串行接口。一体化的结构使它具有质量好,反应快,抗干扰,价格低等特点。每一个传感器在精确的湿度室内校准,其校准系数被写到OTP存储器中。两线制的串行接口和内部电压校准使系统一体化,既容易又快捷。它的外形小巧,能耗低,适用于许多行业。如汽车,仪表,医疗器械,供暖系统,通风设备和空调系统。温湿度传感器由表面安装型的SHT11。(1)串行数据(DATA)DATA的三态引脚用于芯片的数据输入和输出。DATA在SCK线的下降沿改变,而在上升沿有效。一个外部的上拉电阻将信号提高。上拉电阻器常常包含在微型控制器的I/O电路中。(2)指令序列启动传送应先发出传送开始序列,这个序列是由SCK高电平时,DATA为下降沿,在SCK下一个高点平时,DATA为上升沿组成。指令序列图如图3。图3指令序列时序图后来的指令序列包括三个地址位只有000在目前受支持和五个指令位。如果在第八个SCK时钟下降沿后面,DATA引脚被拉低(ACK位),而第九个SCK时钟下降沿后面,DATA线被拉高,SHT11则显示指令被接收。(3)连接重新安排序列如果设备间通讯中断,下面的信号序列将重新安排它的串行接口DATA的高电平要保持9个或更多SCK脉冲,传送开始序列必须在下一个指令之前。这个指令只重新安排接口。状态寄存器保存它原来的内容。重新安排序列如图4所示。图4重新安排时序图(4)检测序列(温度与湿度)发出检测指令后(00000101为湿度,00000011为温度),控制器等待检测完成。检测一个8/12/14位大约用11/55/210MS。准确的时间随着内部振荡器速度的15的变化而变化。为了发出检测完成的信号,SHT11将DATA线拉低,控制器必须重新启动SCK。于是检测数据的两个字节和CRC校验和的一个字节被发送。UC必须通过拉低数据线来承认每一个字节。所有值都是最高有效位MSB在先,(例如12位精度的最高位位于高字节MSB的第五位)在CRC数据的承认位的后面通讯结束。如果CRC8CHECKSUM没有使用,控制器应在检测数据LSB能正确应答所有命令后结束通讯。检测和通讯完成后,设备会自动回到睡眠模式。注意在01下要保持加热SHT11。每次检测的前15或更长时间是无效的。例如对12位精度每秒测3次(5)加热当接通芯片上的加热元件后,传感器温度大约提高了5。功率消耗在5V电压下提高8MA。应用A通过接通传感器前后的温湿度值的变化,它的功能可以得到检验。B在高湿度环境下加热传感器元件可避免冷凝。注意当传感器加热时,内置校准并不正确。(6)SHT11的特性工作条件运行条件外的临时偏移量为湿度信号的3RH。在回到正常工作条件后,它自动回到校准状态。要加速这个过程,我们推荐下面的再加热程序90AT5RHFOR24HFOLLOWEDBY2030AT74RHFOR48H延长曝光或条件恶劣会加速传感器老化。32SHT11对温湿度采集软件设计由于STC89C51不具备I2C总线接口,故使用单片机通用I/O口线来虚拟I2C总线利用P35来虚拟数据线DATA,利用P34口线来虚拟时钟线,并在DATA端接入一只10K的上拉电阻,同时,在VDD及GND端之间接入一只01F的去耦电容。321数据传输开始初始化传输时,应首先发出“传输开始”命令。该命令它包括当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变为低电平,随后是在SCK时钟高电平时DATA翻转为高电平。接下来的命令顺序一个地址位“000B”和5个命令位00011B、00101B、00111B、00110B、11110B。当DATA脚的ACK位处于低电位时,表示SHT11正确收到命令。SHT11会以下述方式表示已正确地接收到指令在第8个SCK时钟的下降沿之后,将DATA下拉为低电平ACK位,在第9个SCK时钟的下降沿之后,释放DATA恢复高电平。322通讯复位时序如果与SHT11传感器的通讯中断,下列信号顺序会使串口复位即当DATA线处于高电平时,触发SCK9次或更多,此后应接着发一个“传输开始”命令。这些时序只复位串口,状态寄存器内容仍然保留。323温湿度测量时序当发出了发布一组测量命令00000101B表示相对湿度RH,00000011B表示温度T后,控制器就要等待测量完成使用8/12/14位的分辨率测量分别需要大约11/55/210MS的时间。为表明测量完成,SHT11会使数据线降为低电平,此时控制器必须重新启动SCK,然后传送两字节的测量数据与1字CRC校验和。控制器必须通过使DATA为低来确认每一个字节,所有的量均从右算,MSB列于第一位。通讯在确认CRC数据位后停止。如果没有用CRC8校验和,则控制器就会在测量数据LSB后保持ACK为高来停止通讯,SHT11在测量和通讯完成后会自动返回睡眠模式。需要注意的是为使SHT11的温升低于01,此时的工作频率不能大于标定值的15如12位精确度时,每秒最多进行3次测量33SHT11通信协议SHT11有其固定的协议。SHT11的命令为一个字节,高3位为器件地址位,由于不是标准的I2C总线,SHT11命令的地址位现在只有000可用,低5位为实际的命令代码,其中热启动命令将使SHT11进行复位,不但使通信接口复位,同时清除状态寄存器内容为默认值;SHT11热启动过程所需时间最少为1LMS,所以热启动以后需要等待1LMS以上才可以进行下一步操作。在发送每一个命令之前需要有一个传输初始化信号,即一个传输起始序列由主机拉低DATA线,在DATA为低电平期间,SCK线发送一个高一低一高的序列。在一个字节发送结束之后主机需要释放DATA线,因为在下一个SCK信号周期,SHT11将会向DATA线发送一个握手应答信号表示正确接收了一个字节。SHT11在完成一次湿度或者温度测量之后会向DATA线发送一个低电平信号,通知主机已经可以读取数据。在本系统中温度和湿度测量分别设置为14位和12位,SHT11的完成一次12位的AD转换约55MS,14位的AD转换约200MS。在主机对SHT11进行读操作时,类似于写操作的时序,但是读操作有两种情况,在读取SHT11的转换结果、状态寄存器的时候在读完每一个字节之后都需要主机在第9个SCK周期向DATA线发送一个低电平作为握手应答信号才可以读取接下来的数据在读取8位CRC校验码时不需要主机发送应答信号。此外,在每次对SHT11操作之前或者通信出现错误时都需要对SHT11进行通信复位,与其建立通信,通信复位时序为DATA线为高电平,并且维持9个SCK周期以上。34SHT11通信软件包设计为了保持程序的兼容性,所有关于SHT11的函数都封装在SHT11C文件中,那么在主程序文件中把这些函数声明为外部函数就可以方便的调用,而且只要在硬件相关变量的定义中稍作改动就可以新的硬件平台上使用。软件包设计主要考虑到了可重用性,编写4个底层函数从SHT11读取一字节函数CHARS_READ_BYTEUNSIGNEDCHARACK,这个函数返回值为所读取的数据,参数ACK表示该次读取是否需要主机发送应答信号;向SHT11发送一个字节的函数CHARS_WRITE_BYTEUNSIGNEDCHARVALUE,参数VALUE就是所要发送的数据或者命令;传输初始化函数VOIDS_TRANSSTARTVOID,需要在每次调用S_WRITE_BYTE函数之前调用通信复位函数VOIDS_CONNECTIONRESETVOID。下面主要讲述一下软件包中两个最主要的上层函数测量和计算函数。CHARS_MEASUREUNSIGNEDCHARP_VALUE,UNSIGNEDCHARP_CHECKSUMUNSIGNEDCHARMODE为测量函数,该函数所完成的工作就是向SHT11发送测量命令,等待测量结束之后读取测量结果。其中参数表中的MODE参数用以确定所要测量的内容,如果要求SHT11测量温度那么在调用该函数的时候MODE设为00000011即0X3,测量湿度则设为00000101即0X5。这样可以精简代码,提高代码的效率。转换结果为2字节,P_VALUE存储单元存放高字节,P_VALUE1存储单元存放低字节,符合INT型变量的存储格式,这样可以把两个字节的测试结果作为INT型数据处理。从SHT11读取的两字节转换结果并不是最后的温、湿度值,还需要经过换算。其中温度的结果通过TD1D2RES_T换算得到的。其中D1为一个与供电电压有关的常量。在5V供电的情况下取40;D2为一个与AD转换精度有关的常量,在14位情况下取001,12位情况下取004。RES_T为得到的16位INT型温度转换结果。而相对湿度结果也需要经过下面的公式换算RHC1C2RES_RHC3RES_RH235温湿度测量程序流程设计编写上述关于SHT11的软件包之后,可以方便供主程序调用,主程序所要做的就是按照SHT11的操作顺序依次调用软件包函数即可。因为在SHT11转换结束之后会自动发送低电平然后接着是数据,所以在程序等待DATA低电平的过程中不能执行其他的操作。所以在下面图的程序流程中,程序禁止中断,而且中间不穿插任何其他操作,以保证对SHT11的操作能够正确完成,程序流程如图5所示初始化通信复位发送温湿度指令DATA是否为低读取温湿度指令发送温湿度指令DATA是否为低读取温湿度转换结果换算温湿度值并进行转换发送温湿度值结束否是否是图5温湿度测量程序流程图4看门狗电路软件设计随着STC89C51系列单片机的发展,其芯片价格在不断下降,但同时也带来了单片机芯片的抗干扰问题,该问题可能导致一些智能型仪器仪表单片机工业控制系统发生“死机”,看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平或低电平,这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。41X5045看门狗电路软件设计本系统设计采用的是X5045看门狗电路,X5045芯片内包含有一个看门狗定时器,可通过软件预置系统的监控时间。看门狗定时器的预置时间是通过X5045的状态寄存器的相应位来设定的。X5045状态寄存器共有6位有含义,其中WD1、WD0和看门狗电路有关,其余位和EEPR0M的工作设置有关。WD10,WD00,预置时间为14S。WD10,WD0I,预置时间为06S。WD1L,WD00,预置时间为02S。WD1L,WD0I,禁止看门狗工作。看门狗电路的定时时间长短可由具体应用程序的循环周期决定,通常比系统正常工作时最大循环周期的时间略长即可。编程时,可在软件的合适地方加一条喂狗指令,使看门狗的定时时间永远达不到预置时间,系统就不会复位而正常工作。当系统跑飞,用软件陷阱等别的方法无法捕捉回程序时,则看门狗定时时间很快增长到预置时间,迫使系统复位。软件看门狗喂狗流程如图6所示。开始主程序预置喂狗时间复位喂狗主程序结束是否图6软件看门狗喂狗流程图X5045看门狗电路具有多功能、反应速度快、抗干扰能力强等特点。可以说X5045是一种性价比较高的电路芯片,并可非常方便地与许多常用CPU系列器件接口,非常适用于智能仪器、实时控制、微型化等场合。结束语本次毕业设计由两位同学互相配合完成,分别负责软件和硬件部分。经过合作,最终完成了本次设计,通过本次设计,增强了本人团队协作的能力,同时使自己所学的理论知识进一步应用到实际的设计中。本人设计完成的功能是以51单片机为核心,实现温湿度的采集、处理、发送及与PC机之间的通信。同时对温度、湿度参数测定,自动控制以及将信息通过GPRS网络传输,实现采集系统的构建。软件部分通过编写源代码,使单片机控制整个各个部分,实现相应功能,最终达到预期目标。硬件电路由GSM模块、单片机模块、温湿度传感器模块、通信模块组成。通过本次设计使我更加掌握了单片机的应用,同时也进一步了解了GSM模块短信息的收发。本次毕业设计基于GSM温湿度采集系统软件设计的基本设计任务已经完成,本设计系统可应用于对温室环境温湿度的全面、实时、自动的检测,及时发现问题,采取有效保护措施,减少不利于农作物生长在还的发生。当然,由于时间有限,本系统还不够完善,尚需进一步改进。例如软硬件的设计还需进一步简化;系统监测目前还只能实现对被监测量的实时采集、存储、超限报警及曲线、图形和报表的输出和打印等对数据的最基本处理。在下一个阶段的工作中本系统将致力于开发农业专家和决策系统,实现分级预测报警和信息发送,如在出现不同程度的农业灾害事故时,由系统发出不同级别的报警信号,并自动发送信息给技术人员、负责人和专家。实时集监测、诊断、报警、灾害处理于一体的综合智能型农业专家诊断决策功能。参考文献1戴佳,戴卫恒51单片机C语言应用程序设计实例精讲北京电子工业出版社200642吕捷GPRS技术。北京北京邮电大学出版社20013周航慈单片机应用程序设计技术北京航大出版社,2002,124张福学传感器应用及其电路精选M北京北京电子工业出版社19915赵文博单片机语言C51程序设计北京电子工业出版社200676MAX3232,STATUSACTIVE3VTO55VMULTICHANNELRS232LINEDRIVR/RECEIVER7张成文,苍松智能温度监控系统J黑龙江佳木斯大学学报,2000(3)62658徐玮,沈建良单片机快速入门北京北京航空航天大学出版社200859李朝青单片机原理及接口技术北京北京航大出版社2007910武汉佳德测控技术网,WWWJDRONCCOM11周立功单片机网HTTP/WWWZLGMCUCOM12开发板精品网STC89C51单片机HTTP/WWWMCU361COM/WORKIASPID5513张福学传感器敏感元器件大全北京电子工业出版社14杜深慧温湿度检测装置的设计与实现D河北华北电力大学200515CELLULARENGINETC35AUDIOINTERFACEVISION0200,2001112116SIEMENSTC35/TC37HARDWAREINTERFACEDESCRIPTIONVISION0400,200252917GSM1111VISION620,19995附录单片机控制TC35C语言代码部分/AT指令的定义CHARCODEAT_TC35“AT“;/连机CHARCODEBPS_TC35“IPR38400“;/波特率CHARCODETEXT_TC35“CMGF1“;/文本模式CHARCODEREAD_TC35“CMGR“;/读信息CHARCODEERASE_TC35“CMGD“;/删除信息CHARCODESEND_TC35“CMGS“;/发送信息CHARCODECREG_TC35“CREG“;/注册/模式设置VOIDUART_INITVOIDSCON0X50;/01010000B1模式SCON,11011000B;ESL;/发送个ASCIIVOIDSENDASCUNSIGNEDCHARASCBITES;ESES;ES0;/关闭中断TI0;SBUFASC;WHILETI;TI0;ESES;/发送命令到TC35VOIDSENDTOTC35UNSIGNEDCHARP,UNSIGNEDCHARLONGWHILELONGSENDASCP;/通讯中断接收程序VOIDRS485_DOVOIDINTERRUPT4USING1IFRILRI0;RSBUQRSPOINTSBUF;IFFRSPOINTSIZEOFRSBUFRSPOINT0;/FLAGRS4850;/数据处理/发送AT连机命令CHARCODEAT_CODE“OK“;VOIDSEND_ATVOIDUNSIGNEDCHARP;WHILE1CLRRSBUFRSBUF,SIZEOFRSBUF;SENDTOTC35AT_TC35,2;/“AT“SENDASCOVER;/等待应答“OK“ES1;/必须中断DELAY50;PSTRSTRRSBUF,AT_CODE;IFPNULLBREAK;/发送BPS连机命令VOIDSEND_BPSVOIDSENDTOTC35AT_TC35,3;/“AT“SENDTOTC35BPS_TC35,SIZEOFBPS_TC351;/“IPR19200“SENDASCOVER;/设置文本VOIDSETTEXTVOIDSENDTOTC35AT_TC35,3;/“AT“SENDTOTC35TEXT_TC35,SIZEOFTEXT_TC351;/“IPR19200“SENDASCOVER;DELAY100/删除短信息UNSIGNEDCHARERASEMSGUNSIGNEDCHARINDEXUNSIGNEDCHARP,I20;SENDTOTC35AT_TC35,3;/“AT“SENDTOTC35ERASE_TC35,SIZEOFERASE_TC351;/“IPR19200“SENDASCINDEX;SENDASCOVER;ES1;WHILEIDELAY200;PSTRSTRRSBUF,AT_CODE;IFPNULLRETURN1;RETURN0;/读取短信息CHARCODEASK_NO“CMGR0,0“;CHARCODEERROR“ERROR“;CHARCODEASK_TC35“/“;UNSIGNEDCHARREADMSGUNSIGNEDCHARINDEXUNSIGNEDCHARP,I;UNSIGNEDCHARBUF40;SENDTOTC35AT_TC35,3;/“AT“SENDTOTC35READ_TC35,SIZEOFREAD_TC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商品指标考试题及答案
- 近海控股面试题及答案
- 临清保安考试题及答案
- 农业概论试题及答案
- 护理考核面试题及答案
- 人体画图考试题及答案
- 直角三角形个数java面试题及答案
- 计提工资面试题及答案
- 工程服务面试题及答案
- 智能编程:AI时代的未来趋势
- 2025年秋季新学期教学工作会议上校长讲话:扎根课堂、走近学生、做实教学-每一节课都值得全力以赴
- 2025劳动合同范本【模板下载】
- 以课程标准为导向:上海市初中信息科技教学设计的探索与实践
- 2025年公共基础知识考试试题(附完整答案)
- 北川羌族自治县农业农村局北川羌族自治县测雨雷达建设项目环评报告
- 2025社区工作者必考试题库(含答案)
- 2025年山东青岛海关缉私局辅警招聘考试笔试试卷【附答案】
- 昆明一中实验班数学试卷
- GB/T 18344-2025汽车维护、检测、诊断技术规范
- 2025年医院电子病历系统在医疗信息化中的应用优化与患者满意度报告
- 中国电子艾灸仪行业投资分析及发展战略咨询报告
评论
0/150
提交评论