1、四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计I基于短信回传的温度监测节点设备设计专业XX学生XX指导老师XX摘要GSM模块,是一个类似于手机通讯模块。集成了手机若干功能于一块电路板上,它可以实现收发短消息,通话等功能。拥有它就相当于拥有了手机的核心部分。在很多领域都有应用。本项目是基于TC35的GSM模块远端监测监控节点温度。其设备有单线温度传感器DS18B20、试验用单片机、GSM模块TC35等构成。首先单片机要实现温度监测的功能,通过单片机上的温度传感器采集到周围温度并显示在显示器上。其次实现单片机与GSM模块的通信,手机发送短信给GSM模块的SIM卡,GSM模块收到单片
2、机上当时温度,将其上传至电脑或者网络,做数据分析和备份。GSM模块是通过AT指令控制的。本文主要是从GSM模块TC35模块的使用着手研究。首先要清楚该模块的功能。再了解该模块的使用方法。该模块通过AT指令来收发短信,从而达到远程控制和测试的作用。其次,了解单片机的使用方法和作用。并自主编程,从而达到预期要求。最后了解整个设计流程的大体框架。做出电路图和原理图。关键词GSM模块TC35单线温度传感器DS18B20电脑试验用单片机HD44780型四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计IIRETURNSMSBASEDTEMPERATUREMONITORINGNODEDEVIC
3、EDESIGNMAJORXXSTUDENTXXSUPERVISORXXABSTRACTTHEGSMMODULEISSIMILARTOTHEMOBILECOMMUNICATIONMODULEINTEGRATIONOFSEVERALFUNCTIONSOFTHEPHONE,HECANRECEIVEANDSENDCALLSANDOTHERFUNCTIONSINACIRCUITBOARDHASITTHEEQUIVALENTOFACOREPARTOFTHEMOBILEPHONEHASAPPLICATIONSINMANYFIELDSTHISPROJECTISBASEDONREMOTEMONITORINGOF
4、THETC35GSMMODULETOMONITORTHEJUNCTIONTEMPERATURETHEIREQUIPMENTHASSINGLEWIRETEMPERATURESENSORDS18B20TESTOFMICROCONTROLLER,GSMMODULETC35FIRSTSINGLECHIPTEMPERATUREMONITORINGFUNCTION,THEACQUISITIONBYTHETEMPERATURESENSORONASINGLECHIPTOAMBIENTTEMPERATUREANDDISPLAYEDONTHEMONITORFOLLOWEDBYCOMMUNICATIONBETWEE
5、NSCMANDGSMMODULES,MOBILEPHONESTOSENDTEXTMESSAGESTOTHESIMCARDOFTHEGSMMODULE,GSMMODULERECEIVESTHESCMTEMPERATURE,ANDUPLOADITTOYOURCOMPUTERORNETWORK,DOINGDATAANALYSISANDBACKUPTHEGSMMODULEISCONTROLLEDVIAATCOMMANDSKEYWORDGSMMODULETC35SINGLEWIRETEMPERATURESENSORDS18B20COMPUTEREXPERIMENTWITHSINGLECHIPHD4478
6、0四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计III目录1绪论12系统组成和工作原理221实现过程222软件流程图23硬件介绍331GSM模块模块介绍3311TC35引脚介绍3312TC35通信432单线数字温度传感器DS18B20533单片机介绍6331STC89C51RC单片机6332STC89C51RC芯片引脚介绍64软件部分741DS18B20与单片机的通信742TC35IGSM模块与PC机的串行通信743短信编码844AT指令106STC芯片烧写软件137结论14附录15参考文献30致谢31四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计11绪论随着国
7、民经济的发展,人身安全显得越来越重要。无线短信测试设计作为一种现代新型多功能测试模块已成为了主流趋势。该设计的完成主要由两个因素驱动,其一,满足消费需求和领先性;其二,科学发展的趋势。该设计主要有以下几个特点1,由于其设计的原件成本很低,方便很多领域使用。2,该设计硬件体积较小,可针对各种环境作出改变,适用于不同地域。通过GSM模块工作人员为记录温度无需到指定位置操作。只要通过短信激活设备,就能得到测试点的温度。3,该设计无需人员监督,只要做定期维护,适用方便,具有很强的时域实用性。工作人员可根据要求,在不同时间给模块信息,激活该设备,设备将会根据当时网络情况,用很快很短的时间回复工作人员测试
8、地点的温度。在实际生活操作中,面对一些严峻的工作环境,人们更多利用机器或者各方面传感器通过远程控制的方式来达到预期的目的。这样既节省了人力(更科学、效率的完成工作),又保障了人员的自身安全,同时也降低了工作成本。GSM在中国的发展我国自从1992年在嘉兴建立和开通第一个GSM演示系统,并于1993年9月正式开放业务以来,全国各地的移动通信系统中大多采用GSM系统,使得GSM系统成为目前我国最成熟和市场占有量最大得一种数字蜂窝系统。此前一直是采用蜂窝模拟移动技术,即第一代GSM技术。作为传统的温度测控,温度计在各方面的运用占用主体地位。随着社会发展,传感器的出现,给温度测控带来了很大的便利。本文
9、采用单线数字温度传感器DS18B20。目前国内对节点温度的数据采样,主要有第一,多数测控系统必须有工作人员到现场进行操作,因此工作效率低。且不便于管理。第二,采用接入INTERNET或INTRANET的方式实现远程监控。这些方式已经应用在数据采集、视频会议、远程加工或者远程诊断等领域。但是接入INTERNET按时间计费或租用专线,INTRANET需要铺设专用电缆,成本太高。鉴于这种本文设计一种了基于西门子GSM模块TC35I的远程温度监测系统,通过现有的GSM成熟网络实现对现场的远程测控。系统具有结构简单、可靠性高、成本低等特点,在温度要求高、比较分散、偏远地区具有很高的使用价值。可节约大量人
10、力、财力、时间。而且安全隐患底。可避免不必要的灾难。四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计22系统组成和工作原理图1系统组成和工作原理图21实现过程该系统分为两部分第一部分主要是单片机实现温度采集、显示、存储。主要由单线温度传感器DS18B20、STC89C51RC单片机实现。第二部分主要包括TC35GSM模块对收集数据进行传送、处理。总体思路。对单片机初始化,将STC89C51RC单片机测试温度以串口短信发送方式给GSM模块。由此了解此时此地温度状况。22软件流程图图2系统结构总体框图温度采集STC89C51单片机GSM通信模块监测中心PC机或手机GSM网络温度传感器
11、显示模块单片机数据存储器RS232接口MAX232TC35GSM模块GPRS网络四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计33硬件介绍31GSM模块模块介绍TC35是SIEMENS公司推出的通信GSM模块,它设计小巧、功耗很低、主要由GSM基带处理器、GSM射频部分、电源、闪存(FLASH)4部分组成,可以快速安全可靠的实现数据、语音传输。模块工作电压为3355V,可以工作在900MHZ和1800MHZ两个频段,所在频段功耗分别为2W和1W。GSM模块是继GSM手机外又一种非常重要的GSM移动通信系统的终端设备,即通常所说的GSMMODEM,它以GSM网络作为无线传输网络,
12、不受地域、线路等影响,且运行成本低。GSM基带处理器是整个模块的核心,它控制模块内各种信号的传输、转换、放大的处理过程。GSM射频部分是一个单片收发器,它完成对射频信号的收发等处理。GSM模块电源是把外部输入电源电压进行稳压处理后供GSM基带处理器和射频部分使用。FLASH用来存储一些用户配置信息、电话本和其他信息。TC35的数据输入/输出接口实际上是一个串行异步收发器、符合RS232接口标准,有固定参数8位数据位和1位停止位,无校验位,波特率在300BPS115BPS之间可选,硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS电平,支持标准AT命令集。通过这一接口可以
13、用AT命令切换操作模式,使它处于语音、数据、短消息或传真模式。311TC35引脚介绍TC35I模块有40个引脚,通过一个ZIFZEROINSERTIONFORCE,零阻力插座连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。TC35I的第15引脚是正电源输入脚通常推荐值42V,第610引脚是电源地。11、12为充电引脚,可以外接锂电池,13为对外输出电压共外电路使用,14为ACCUTEMP接负温度系数的热敏电阻,用于锂电池充电保护控制。15脚是启动脚IGT,系统加电后为使TC35I进入工作状态,必须给IGT加一个大于100MS的低脉冲,电平下降持续时间不
14、可超过1MS。1623为数据输入/输出,分别为DSR0、RING0、RXD0、TXD0、CTS0、RTS0、DTR0和DCD0。TC35I模块的数据输入/输出接口实际上是一个串行异步收发器,符合ITUTRS232接口标准。它有固定的参数8位数据位和1位停止位,无校验位,波特率在300BPS115KBPS之间可选,默认9600。硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS电平,支持标准的AT命令集。其中18脚RXD0、19脚TXD0为TTL的串口通讯脚,需要和单片机或者PC通讯。四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计4TC35I使用外接式SI
15、M卡,2429为SIM卡引脚,SIM卡同TC35I是这样连接的SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35I的同名端直接相连,ZIF连接座的CCIN引脚用来检测SIM卡是否插好,如果连接正确,则CCIN引脚输出高电平,否则为低电平。TC35I的第32脚SYNC引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示TC35I的工作状态,可用AT命令ATSYNC进行切换,本模块使用的是后一种。当LED熄灭时,表明TC35I处于关闭或睡眠状态;当LED为600MS亮/600MS熄时,表明SIM卡没有插入或TC35I正在进行网络登录;当LE
16、D为75MS亮/3S熄时,表明TC35I已登录进网络,处于待机状态。30、31、32脚为控制脚,其中30为RTCBACKUP,31为POWERDOWN,32为SYNC。3538为语音接口,35、36接扬声器放音。37、38可以直接接驻极体话筒来采集声音(37是话筒正端,39是话筒负端)312TC35通信TC35的数据通信电路以MAX232为核心实现电平转换及串口通信。MAX232的作用是实现TTL电平转换。该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA232F电平。该器件符合TIA/EIA232F标准,每一个接收器将TIA/EIA232F电平转换成5VTTL/CMOS电平。
17、每一个发送器将TTL/CMOS电平转换成TIA/EIA232F电平。其功能主要是实现串口通讯功能驱动与串口数据接收,MAX232CPE芯片必须5V电源才会工作。它是116针SMD封装IC,用于完成计算机232端口数据电平转换。它的内部电源才会工作。它是16针SMD封装IC,用于完成计算机232端口电平转换。它的内部结构基本可分三个部分第一部分是电荷泵电路。由1、2、3、4、5、6、脚和4只电容构成。功能是产生12V和12V两个电源,提供给RS232串口电平的需要。第二部分是数据转换通道。游7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚RIIN、12脚(R1OUT)、11
18、脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换RS232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电,15脚GND、16脚VCC5V。四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计5图3MAX232引脚图32单线数字温度传感器DS18B20DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚T
19、O92小体积封装形式;温度测试范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达00625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源即可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联3或者2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。图4DS18B20引脚图表1引脚描述引脚符号说明四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计61GND地2DQ单线运用的数据输入/输出引脚3VDD可选VDD引脚33单片机介绍331STC89C51RC单片机STC89CXX,最高频率
20、可达90MHZ,片内4K以上FLASH程序存储器,8K左右的片内EEROM,512B1208B片内RAM,36个IO口。STC89C51单片机具有增强型12时钟/机器周期、6时钟机器/周期任意选择,工作电压为55V34V(5V单片机)/38V20V(5V单片机);工作频率范围040MHZ,相当于普通8051的080MHZ。实际频率可达48MHZ。用户应用程序空间为4K/8K/13K/16K/20K/32K/64K字节;片上集成1280字节/512字节RAM;有32/36个通用I/O口,P1/P2/P3/P4是准双向口;集成ISP(在系统可编程)/IPA(在应用可编程),无需专用的编程器/仿真器
21、,可通过串行口(P30/P31)直接下载用户程序,8K程序3秒就可以完成一片,具备EEPROM功能,共有3个16位定时器/计数器,其中定时器T0还可以当成2个8位定时器使用。部分外围电路如图所示图5部分外围电路图332STC89C51RC芯片引脚介绍1I/O端口线输入输出引脚引脚图见附录B四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计7P00P07(3932)P0口是一个漏极开路型准双向I/O口。P10P17(18)P1口是带内部上拉电阻的8位双向I/O口。在EPROM编程和程序验证时接收8位地址。P20P27(2128)P2口是一个带内部上拉电阻的8位双向I/O口。在访问外部
22、存储器时送出高8位地址。P30P37(1017)P3口是一个带内部上拉电阻的8位双向I/O口。2控制线控制引脚ALE30地址锁存控制信号。用于控制P0口输出的低8位地址锁存起来,实现低位地址和数据的隔离。PSEN(30)外部程序存储器。在读外部ROM时,低电平有效,以实现外部ROM单元的读操作。EA31访问程序存储控制信号。低电平时,对ROM的读操作限定在外部程序存储器;高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。RST/VPP(9)复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。3外部晶体线XTAL119和XTA
23、L18外部晶体引线端。4主电源引脚VCC405V电源。VSS(20)地线GND。4软件部分41DS18B20与单片机的通信根据DS18B20的初始化时序,写时序和读时序,分别编写了3个子程序INIT为初始化子程序,WRITE为写子程序,READ为读数据子程序,所有的数据读写均由最低位开始。主机控制DS18B20完成温度转换必须经过三个步骤初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,再读出温度等转换值。42TC35IGSM模块与PC机的串行通信上位机PC机与TC35IGSM模块的通信采用RS232总线格式四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计
24、8图6PC机与TC35IGSM模块的通信原理图要使用TC35模块实现短信收发,就必须理解串口通信、AT指令和短信的编码、解码。43短信编码对于短信的收发控制模式,按时间先后,共有三种模式BLOKEMODE、基于AT指令的TEXTMODE、基于AT指令的PDUMODE(PROTOCOLDATAUNIT)。使用BLOCK模式需要生产厂家提供驱动支持。TEXT模式收发短信代码简单,但只能发送简单英文短信(纯文本格式)。而PDU模式可以实现中文、英文、声音和图像等的收发。我们这里介绍的就是利用AT指令在PDU模式下通过TC35模块收发短消息。在PDU模式中,可以采用三种编码方式来编码内容,分别是7BI
25、T编码、8BIT编码、16BIT编码。7BIT编码用于发送普通ASCILL字符,如英文和数字,8BIT编码通常用于发送数据信息,如图片和铃声,而16BIT编码用于发送UNICODE字符,如中文和英文。三种编码可以发送长度分别为160,14,和70发送中文短信具体步骤如下1GB2312编码到UNICODE编码转换2UNICODE编码到16BIT编码转换注意这个转换过程中UNICODE编码最开始的0XFFFF标记要去掉,在0XFFFF之后内容才是真正的UNICODE字符。UNICODE是双字节。如果系统是小端字节序,则存储时,先存地位再高位。如果是大端节序,就不需要转换了。而且,请注意在PDU格式
26、中,TYPE、TPMR、TPPID、TPVP分别设置为11、00、00、08、01(以上均为16进制数)。形成标准的发送包发送短信编码格式为服务中心地址、PDU类型、接收方地址、协议识别码、数据译码方案、有效周期、用户数据长度、用户数据。接收短信编码格式为服务中心地址、PDU类型、发送方地址、协议识别码、数据译码方案、服务中心收到消息时间、用户数据长度、用户数据。四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计9系统加电后,为使TC35进入工作状态,必须给IGT加以延时大于100MS的低脉冲,电平下降持续时间不可超过1MS。启动后,IGT应保持高电平(3V)否者TC35不会正常工
27、作。IGT电平控制是通过单片机I/O控制的。PC系列微机串行口RS232为标准接口,这与TC35末班接口不一致,他们之间转换采用MAX232接口芯片来完成。要发送“你好”到手机15828591132,通过串口调试助手发送过程如下1,ATCMCS019019为数据内容的字节数2,等待返回的ASCII字符“”3,输入数据0011000D91683187173910F10008A7044F60597D表2数据说明数据含义及其说明00SMSC长度,00代表使用SIM卡中存入的号码11文件的头字节,默认为1100信息类型,默认为0000号码长度(号码为15828591132)91号码类型68中国国际区号
28、3187173910F1号码编辑,经过位移处理00协议标识08UNICODE编码模式A7短消息有效期04短消息数据长度4F60597D汉字“你”“好”编码1A结束符PDU数据格式分析当来一条短消息时,通过串口调试助手可以看见显示CMTI“ME”,17。接收此条短消息使用接收指令ATCMCR17可以阅读短信内容为0891683108701305F0040D9168318637404F1000870113032015223044F60597D表3数据说明数据含义及说明0B地址信息的长度91SMSC地址格式四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计10683108701305F0
29、SMSC地址,补F凑成偶数04基本参数0D恢复地址数字个数,共13个十进制数91回复地址格式68318637404F1回复地址,补F凑成偶数00协议标识08用户信息UNICODE编码方式70113032015223时间04用户信息长度,长度为4字节4F60597D用户信息,“你好”PDU数据格式分析短消息收发系统由GSM通信模块、用户手机、PC机、单片机系统等组成。如图1。GSM通信模块由TC35模块及其外围电路组成,图2为TC35模块及其外围电路。44AT指令系统主要的任务是监测被控对象的温度然后通过TC35I发送到监测中心(手机)。系统软件设计的重点在于单片机的编程。向TC35I写入不同的
30、AT指令完成多种功能。单片机对TC35I所有的控制都是通过串口发送AT指令进行的,TC35I的每一个动作都对应了一个AT指令,而且每一个指令之后都要有一个回车符以告诉TC35I该条命令已经发完。一些常用的AT指令下表。表4常用AT指令表ASCI码指令功能手机回答AT回车握手OKATE简化显示OKATCMGRX回车读取第X条短信短消息内容ATCMGF1回车用TEXT格式ATCMGF1回车ATCMGDX回车删除第X条短信ATCMGDX回车ATCMGS6回车发送短消息的字节数ATCMGS6回车ATCNMI1,1,2设置收到短消息提示OKCMTI“SM”,44表示手机内短消息数量ATCSCA短信服务中
31、心地址。ATCSQ信号质量。CSQ17,99ATCGMI给出模块厂商的标识ATCCID获得SIM卡的标识。这个命令使模块读取SIM卡上的EFCCID文件。四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计11图7应用软件界面图使用前,我们要对板子进行测试,测试模块是否正常工作。用录下的“TC35TIESTEXE”测试程序来对实验板进行测试。测试步骤如下1、先将SIM卡装入开发板,拧上GSM天线。2、将开发板上跳线设置成PCTC35I通信模式。3、插上配套电源,然后按一下板上的开机按键,时间大于200MS即可。4、找到光盘“TC35I测试程序”目录下的“TC35TIESTEXE”测试
32、程序来进行测试。5、先点击“打开端口”,然后点击“TC35I初始化”,如果连接成功后会出现“DSR信号线有问题”的提示,没关系,不用管它,我们确实没用到这条线。四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计12图8串口运行图6、使用电话拨号板子上SIM卡的号码,如果电话能打通,则表示模块已正常工作,测试完成。关于通信跳线说明在通信过程中进行了三种通信跳线方式的选择PC机与MCU通信;PC机与TC35I模块通信;MCU与TC35I模块通信。1如果要使用PC机来进行模块的测试,收发短信或进行语音呼叫实验,请将跳线设置成PC与TC35I模块通信。2如果要给单片机芯片烧写程序,即完成I
33、SP下载功能,请将跳线设置成PC与MCU通信。3如果要使用MCU来控制TC35I模块,请将跳线设置成MCU与TC35I模块通信四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计13图9硬件实物图6STC芯片烧写软件首先要把编写完成的程序烧到STC89C51RC里,写软件的使用步骤1、打开STC芯片烧写软件的窗口STCISPEXE选择单片机型号STC89C51RC;2、打开文件OPENFILE选择通过编译生成的HEX文件;四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计14图10烧写设置3、选择串行口,最高波特率等参数选择默认值;4、点击下载DOWNLOAD,再给MCU
34、上电,程序的烧写工作完成。7结论通过本次毕业设计我学到了不少的知识,进一步巩固了单片机的基础知识,实际动手能力有所提高,能够将理论与实际相结合。该毕业设计主要由GSM模块TC35I、STC89C51单片机、DSL8B20温度传感器等构成。过程是首先单片机要实现测温功能,通过单片机上的温度传感器DSL8B20采集到周围的温度。其次实现单片机与GSM模块的通信,手机发送短信给GSM模块的SIM卡,GSM模块接收信息后收集单片机上当时的温度,并把该温度发给手机,这样就实现了远程温控。GSM模块是用AT指令控制的。(如果有短信来,GSM模块会通过串口向单片机发送字符串,单片机读取短信,发信息给手机回复
35、温度)在设计过程中,由于以前课程有所涉及,接触各方面时间比较长,但由于缺乏自己动手实际操作,在实际制作硬件和软件编写过程中遇到了不少的麻烦,但在指导老师的帮助下,通过有针对性地查找资料,了解了些相关方面的资料,既增长了自己见识,补四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计15充最新的专业知识,又提高了自己的应用能力,能够自行解决一些基本的问题。在大学四年的时间,大多在学习理论基础知识,实践的机会并不是太多。经过这次毕业设计,我积累了相关的使用调试经验,发现了自己很多不足之处,体会到了所学理论知识的重要性,知识掌握得越多,设计得就更全面、更顺利、更好。总之,这次毕业设计让我能
36、把理论知识和工程实践相结合、基础知识与创新意识相结合,培养了自己的全面素质。这些在我今后的学习和工作当中都会有很大的帮助。附录软件程序设计INCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINERXIN100/定义接收的数组长度为100CHARS20“TEMPERATURE0C“UCHARCODEAT“AT“/握手信号UCHARCODEATE“ATE“/关回显UCHARCODEAT_CNMI“ATCNMI2,1“/设置这组参数来了新信息直接显示到串口,不作存储UCHARCODEAT_CSCA“ATCSCA“86138005
37、10500“/设置服务中心号码UCHARCODEAT_CMGF“ATCMGF1“/设置短信的格式为TEXT格式UCHARCODEAT_CMGR“ATCMGR“/读取短信指令四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计16UCHARCODEAT_CMGS“ATCMGS“/发送短信指令UCHARCODEAT_CMGD“ATCMGD“/发送短信指令UCHARCODESUCCESSFULLY“OPERATESUCCESSFULLY“/发送操作成功信息到目标号码UCHARCODEFAIL“OPERATEFAILED,TRYAGAIN“/发送操作失败信息到目标号码UCHARAT_DELE
38、TE12UCHARAT_READ12/用来存储发送读取短信指令UCHARAT_SENDNUMBER25/用来存储发送短信号码指令UCHARNUMBERBUF3/用来保存短信条数UCHARIDATASYSTEMBUFRXIN/储存出口接收数据UCHARCOMMANDBUF6/用来储存指令UCHARIDATASTATE17/用来存储IO口状态UCHARIDATASTATE117/用来存储IO口状态UCHARRX0UINTTEMP/记录状态UCHARTEMP1/用于记录P0口状态UCHARTEMP2/用于记录P2口状态BITCHECK0/查询标志位BITRECEIVEREADY0/接收短信标志位BI
39、TSENDREADY0/发送短信准备标志位BITSEND0/发送短信标志位BITFLAG0/指令标志位SBITP3_7P37/启动GSM的启动线连IGTSBITREALY0P00/继电SBITREALY1P01/继电器2SBITREALY2P02/继电器3SBITREALY3P03/继电器4SBITREALY4P04/继电器5SBITREALY5P05/继电器6SBITREALY6P06/继电器7SBITREALY7P07/继电器8SBITKEY1P20/开关1SBITKEY2P21/开关2SBITKEY3P22/开关3SBITKEY4P23/开关4四川大学锦城学院本科毕业论文基于短信回传的温
40、度监测节点设备设计17SBITKEY5P24/开关5SBITKEY6P25/开关6SBITKEY7P26/开关7SBITKEY8P27/开关8VOIDDELAY_MSUINTIVOIDSTART_GSMVOIDVOIDUART_INITVOIDVOIDSENDCHARUCHARCHVOIDSENDSTRINGUCHARPVOIDGSM_INITVOIDVOIDRECEIVE_READYVOIDVOIDMESSAGE_READVOIDVOIDREAD_MESSAGEVOIDVOIDSENDMESSAGEVOIDSBITDQP33/温度输入口UINTHUINTTEMPX/温度小数部分用查表法/UC
41、HARCODEDITAB160X00,0X01,0X01,0X02,0X03,0X03,0X04,0X04,0X05,0X06,0X06,0X07,0X08,0X08,0X09,0X09UCHARCODEDIS_7120XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90,0XFF,0XBF/共阳LED段码表“0“1“2“3“4“5“6“7“8“9“不亮“UCHARDATATEMP_DATA20X00,0X00/读出温度暂放UCHARDATADISPLAY50X00,0X00,0X00,0X00,0X00/显示单元数据,共4个数据和一个运算暂用/11
42、US延时函数/VOIDDELAYUINTTFORT0T/DS18B20复位函数/OW_RESETVOIDCHARPRESENCE1WHILEPRESENCEWHILEPRESENCE四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计18DQ1_NOP_NOP_/从高拉倒低DQ0DELAY50/550USDQ1DELAY6/66USPRESENCEDQ/PRESENCE0复位成功,继续下一步DELAY45/延时500USPRESENCEDQDQ1/拉高电平/DS18B20写命令函数/向1WIRE总线上写1个字节VOIDWRITE_BYTEUCHARVALUCHARIFORI8I0ID
43、Q1_NOP_NOP_/从高拉倒低DQ0_NOP_NOP_NOP_NOP_/5USDQVAL/最低位移出DELAY6/66USVALVAL/2/右移1位DQ1DELAY1/DS18B20读1字节函数/从总线上取1个字节UCHARREAD_BYTEVOIDUCHARIUCHARVALUE0FORI8I0IDQ1_NOP_NOP_VALUE1DQ0_NOP_NOP_NOP_NOP_/4USDQ1_NOP_NOP_NOP_NOP_/4USIFDQVALUE|0X80DELAY6/66US四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计19DQ1RETURNVALUE/读出温度函数/UI
44、NTREAD_TEMPOW_RESET/总线复位DELAY200WRITE_BYTE0XCC/发命令WRITE_BYTE0X44/发转换命令OW_RESETDELAY1WRITE_BYTE0XCC/发命令WRITE_BYTE0XBETEMP_DATA0READ_BYTE/读温度值的第字节TEMP_DATA1READ_BYTE/读温度值的高字节TEMPXTEMP_DATA1TEMPX6348/温度值正负判断TEM65536TEMN1/负温度求补码,标志位置1DISPLAY4TEM/取小数部分的值DISPLAY0DITABDISPLAY4/存入小数部分显示值S16DISPLAY00X30DISPL
45、AY4TEM4/取中间八位,即整数部分的值DISPLAY3DISPLAY4/100/取百位数据暂存S12DISPLAY30X30DISPLAY2DISPLAY4/1010/取十位数据暂存四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计20S13DISPLAY20X30DISPLAY1DISPLAY410/取个位数据暂存S14DISPLAY10X30S150X2E/符号位显示判断/IFDISPLAY3DISPLAY30X0A/最高位为0时不显示S12DISPLAY3IFDISPLAY2DISPLAY20X0A/次高位为0时不显示S13DISPLAY2IFNDISPLAY30X2DS
46、12DISPLAY3/负温度时最高位显示“/函数VOIDDELAY_MSUINTI实现功能进行毫秒延时/VOIDDELAY_MSUINTIUNSIGNEDINTJFORI0IFORJ0J0,I16J,ISTATEJSTATE1I/函数VOIDDELETE_MESSAGE实现功能删除读短信指令/VOIDDELETE_MESSAGEVOIDUCHARIDELAY_MS1000DELAY_MS1000DELAY_MS5000FORI0I8IAT_DELETEIAT_CMGDIFORI8I11IAT_DELETEINUMBERBUFI8FORRX0RXRXINRXSYSTEMBUFRX0X00RX0四
47、川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计28SENDSTRINGAT_DELETE/发送ATCMGR,代表短信储存所在位置/函数VOIDSENDMESSAGEVOID实现功能发送回复短信指令/VOIDSENDMESSAGEVOIDUCHARIFORI0I8IAT_SENDNUMBERIAT_CMGSIFORI8I24IAT_SENDNUMBERISYSTEMBUF14I/将对方号码提取用来回复给对方SENDSTRINGAT_SENDNUMBERDELAY_MS400IFFLAG0IFCHECK1SENDSTRINGSTATE/如果查询位置1时,发送状态信息SENDSTRIN
48、GSCHECK0ELSESENDSTRINGFAILDELAY_MS30SENDCHAR0X1A/函数VOIDMAIN实现功能主函数/VOIDMAINSTART_GSM/开启TC35DELAY_MS10000/延时大约10秒,等待模块联网/UART_INIT/串口初始化/GSM_INIT/对TC35I模块进行初始化OW_RESET/开机先转换一次WRITE_BYTE0XCC/SKIPROMWRITE_BYTE0X44/发转换命令WHILE1WORK_TEMPREAD_TEMP/处理温度数据RECEIVE_READYIFRECEIVEREADY1READ_MESSAGE四川大学锦城学院本科毕业论
49、文基于短信回传的温度监测节点设备设计29RECEIVEREADY0SENDREADY1DELAY_MS300MESSAGE_READIFSEND1DELAY_MS2000READCOMMENDREADSTATESENDMESSAGEDELAY_MS1000DELETE_MESSAGEFLAG0FORRX0RXRXINRX/每一次操作完成后对接收数组清零/SYSTEMBUFRX0X00RX0SEND0四川大学锦城学院本科毕业论文基于短信回传的温度监测节点设备设计30参考文献1柴卫华新型数字温度传感器DS18B20组成的温度巡检系统J传感器世界,20012潘笑,高玉玲,康亚娜基于模糊PID的AT89S52单片机智能温度控制系统J兵工自动化,20063赵国强基于嵌入式操作系统结构的污水处理控制系统J国家期刊,2008024白玉,于世明单片机在温控系统中的应用J辽宁教育学院学报