首页 基于GSM短消息的温度报警系统设计

基于GSM短消息的温度报警系统设计

举报
开通vip

基于GSM短消息的温度报警系统设计基于GSM 短消息的温度报警系统研究 1 引言 当前,在许多工业领域里,调速系统都有着广泛地应用,而电动机是调速系统主要的部分之一。决定电动机寿命的因素很多,最主要的是绝缘老化速度,导致绝缘老化的原因主要是由机械或热作用引起的疲劳损坏,特别是热作用对绝缘老化与电动机寿命关系重大。随着现代电力电子技术和网络技术的迅猛发展, 温度防护在调速系统中的作用越来越重要。本文涉及到一种基于GSM网络技术的调速系统温度报警的新技术。近年来,移动通信发展如火如荼,从模拟的AMPS网到数字蜂窝GSM网,到CDMA移动通信网,现在日本...

基于GSM短消息的温度报警系统设计
基于GSM 短消息的温度报警系统研究 1 引言 当前,在许多工业领域里,调速系统都有着广泛地应用,而电动机是调速系统主要的部分之一。决定电动机寿命的因素很多,最主要的是绝缘老化速度,导致绝缘老化的原因主要是由机械或热作用引起的疲劳损坏,特别是热作用对绝缘老化与电动机寿命关系重大。随着现代电力电子技术和网络技术的迅猛发展, 温度防护在调速系统中的作用越来越重要。本文涉及到一种基于GSM网络技术的调速系统温度报警的新技术。近年来,移动通信发展如火如荼,从模拟的AMPS网到数字蜂窝GSM网,到CDMA移动通信网,现在日本一些国家又提出了第四代移动通信网(即4G)的概念,并开始开发和研制。目前,随着手机性能增强、价格下降、通信费用降低,移动通信用户比较普及,如依托移动通信网的SMS(短消息业务)建设智能监控防盗报警系统将有很大的发展潜力和实用价值。 SMS(短消息业务)是GSM网的一项增值业务,他通过控制信道传输数据,支持点到点消息业务及消息广播业务等多种方式。通过SMS传输数据具有以下优点: (1)信道建立时间短,数据传输速率快; (2)不占用话音信道,通话时不影响数据传输; (3)由于不占用话音通道,通信费用低廉; (4)通过短消息广播业务,可提供点对多点的数据传送; (5)系统扩容方便; 另一方面,SMS还受信息长度的限制,点点信息长度为140B,消息广播业务信息长度为82B,这就决定了传输的数据不能太长。依托移动通信网的SMS(短消息业务)建设智能温度报警系统由于发送到用户手机或监控中心的是警情信息,内容较少,因此在充分利用SMS传输数据优点的基础上SMS传输信息长度也完全能满足要求。 使用GSM网建设温度报警系统,以其特有的防火、防潮、防化学物质腐蚀、防剪、防破坏,无需布线、工程简单、费用低廉、易于管理、易维护和移动性好成为理想的温度报警系统。实现对调速系统内部状况的实时远程监测监控, 从而可以实现对调速系统温度的实时检测和远程智能控制等功能。 1.1 数据采集系统的基本概念 在生活和工业过程中,通过一定的测量设备把温度、湿度、压力、速度等模拟量转变为数字信号,再收集到处理设备上显示、处理、记录和传输,这个过程即称“数据采集”,实现这个过程的系统就是“数据采集系统”。 一般来讲,一个典型的数据采集系统如图1所示: 图1 典型的数据采集系统 1.2 基于GSM和通用计算机的数据采集系统 近年来,随着移动通信技术的发展,根据目前GSM网络技术成熟,覆盖范围广的特点,合理有效的利用GSM网络资源,可以避免组建专用数据传输网络的成本费用高,通讯距离短,通讯效果差等诸多难题。GSM网络在计算机应用领域中迅速发展的一种系统结构形式,它是由通用计算机(PC机)与GSM网络的短消息相连而成,GSM网络及其外围电路构成的部分是专为数据采集等功能的要求而配置的,主机则承担数据采集系统的人机对话、大容量的计算、记录、打印、图形显示等任务。混合型计算机数据采集系统有以下特点: (1)系统配置灵活,易构成各种大中型测控系统。 (2)主机可远离现场而构成各种局域网络系统。 (3)系统采集端的软硬件设计与配置规模都是以满足数据采集系统功能要求为原则,因此系统的软硬件应用/配置比接近于1,具有最佳的性价比,系统的软件一般都有应用程序。 (4)系统采集端的可靠性好、使用方便。应用程序在ROM中运行不会因外界的干扰而破坏,而且上电后系统立即进入用户状态。 1.3 GSM网络的 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 模型 GSM网络的协议模型GSM标准采用不同的信道来传送用户信息和信令信息, 因此也就有如下两类信息数据: 用户信息:包括语音和数据。 信令信息:用于呼叫建立、释放系统管理信息。 另外,GSM标准将短消息业务也用信令信道来传送。GSM规范中给出了无线通信的接口标准即空中接口Um,通常用分层传输的信令实体协议模型说明,如图2所示,GSM标准Um接口信令在网络实现时,各层根据其完成的功能不同,由网络的不同部分来完成。这主要是为了减少子系统间的数据传送量以及移动交换中心的处理压力。而在移动台的一侧全部功能则由移动台独立完成。其中,各通信实体含义为:CC:呼叫控制;SMC:短信息业务控制;MM:移动特性管理;TCAP:转移能力应用部;RM:无线资源管理;SCCP:信令连接控制部; BSSMAP:基站系统管理应用部;MTP:信息传输部;ISDN- UP:ISDN 用户部;MAP:移动通信应用部[1]。 图2 GSM网络信令协议模型 1.4 本设计的研究内容 正如前文所述,由于计算机技术和通信技术的飞速发展,数据采集系统已经逐步由集中控制系统向集散型系统发展。集散型系统与集中式系统的根本区别在于集散型系统采用了网络技术将多个处理系统连接在一起,使他们有序、协调地工作。在工业现场中,数据采集点可能与控制中心距离较远,同时分散的分布于一个较大的地域范围内,这时采用有限网络技术就显得力不从心了。使用SMS进行数据传输不需要架设专用的网络线路,组网成本低,可以方便地增加数据采集点,适用于范围大而分散且处于偏远地区的数据采集传输(均需GSM网络覆盖)。本文正是研究了基于GSM网络下的SMS服务进行数据传送的数据采集系统的软硬件设计。 2 数据采集系统硬件设计 2.1 硬件总体设计框图 本文设计了一种通过GSM短消息的收发实现对系统设备进行遥控,基于单片机控制,利用支持短消息业务的GSM引擎模块发送温度报警信息,还利用现有的900M或1800M的GSM网络,而监控终端也不再仅局限于PC机,也可以是移动通讯平台或其他移动终端。对系统环境状况监测和数据传输的GSM短消息遥控监测系统。该系统克服了普通电话遥控的人机界面不友好,且控制功能少等缺点,实现了数据采集(温度等)、实时监测、短信报警的功能,为调速系统的安全提供了保证。 系统的控制过程如下:用温度传感器采集外界温度值,通过A/D转换将此模拟信号转换为数字信号传入单片机中,对单片机进行编程。本系统采用了西门子公司提供的TC35短信模块进行短信的编辑和发送,它的串口通讯遵循RS232标准,所以要与单片机连接还要通过串口的电平转换电路,这也是系统设计的一部分;短信模块发送短信是由AT指令控制的,其发送的短信格式有两种:文本格式和PDU格式,前者指能发送字符合字母,而后者不但可以发送字符、字母,关键是可以发送汉字。要想让用户方便得读取短信内容,本文选择采用PDU格式,这样AT指令的短消息编程也成为了系统设计一部分。前面说提到的AT指令,即Attention AT命令集是从Terminal Equipment或DTE(Data Terminal Equipment) 向TA(Terminal Adapter)或DCE(Data Circuit Terminating Equipment)发送的通过TE发送AT命令来控制MS的功能与GSM网络业务进行交互[4]。本系统采集端以单片机为主控制器,由温度传感器DS1820,键盘,两个LED显示器,两个指示灯,一个报警器,电平转换模块MAX232,通信模块TC35等组成,系统总体原理图如图3所示: 图3 数据采集终端原理图 2.2 硬件各部分设计 系统硬件总的设计图如图4所示: 2.2.1 温度传感器DS1820 数字温度传感器的输出不是以电流或电压形式,而是将其转换为1或0形式的数字量。因此,数字输出温度传感器适合于连接到一个MCU。许多温度传感器还具有的另一功能是能在超过温度限定值时产生一个中断,可以将这些温度限定值设置到上限温度寄存器和下限温度寄存器。 本文采用美国DALLAS半导体公司推出的DS1820数字式温度传感器, 它可直接将被测温度转化成串行数字信号供微机处理,并且根据具体要求,通过简单的编程实现9位的温度读数,并且多个DS1820可以并接到多个地址线上与单 图4 系统总的设计图 片机实现通信。由于每一个DS1820出厂时都刻有唯一的一个序列号并存入ROM中,因此CPU可用简单的通信协议就可以识别,从而多个传感器的系统中节省了大量的引线和逻辑电路[8]。连接如图5所示: 图5 DS1820与单片机的连接 其中,1、2、6、7、8皆为NC:空引脚,不连接外部信号;3为VDD:接电源引脚,电源供电3.0- 5.5V;5为GND:接地;4 为DQ:数据的输入和输出引脚。 2.2.2 单片机8051管脚 引脚说明(如图6所示): (1)电源引脚Vcc(40脚):典型值+5V。Vss(20脚):接低电平。 (2)外部晶振X1、X2分别与晶体两端相连接。当采用外部时钟信号时,X2接振荡信号,X1接地。     (3)输入输出口引脚: P0口:I/O双向口。作输入口时,应先将软件置“1”。 P1口:I/O双向口。作输入口时,应先将软件置“1”。 P2口:I/O双向口。作输入口时,应先将软件置“1”。 P3口:I/O双向口。作输入口时,应先将软件置“1”。 (4)控制引脚: RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。 RST/Vpd(9脚):复位信号输入端(高电平有效)。第二功能:加+5V备用电源,可以实现掉电保护RAM信息不丢失。 ALE/-PROG(30脚):地址锁存信号输出端。第二功能:编程脉冲输入。 PSEN(29脚):外部程序存储器读选通信号。 EA/Vpp(31脚):外部程序存储器使能端。第二功能:编程电压输入端(+21V)。 图6 单片机管脚图 2.2.3 短消息模块原理 点对点短消息业务(SMS)是在GSM Phasel标准中引入的,具有向移动用户收/发字符或数字组成的文本信息的能力,采用了存储转发模式,短消息被发送出去后先存储在短消息业务中心,再由短消息业务中心根据寻找的目标移动终端的路由信息发送给目标移动终端。因此GSM短消息的传递是有保证的。 SMS数据包是通过信令信道进行数据传输的。不管业务信道上是否有正在进行的语音或数据呼叫,一个活跃移动台都能够发送或接收一个短消息传输协议数据单元。SMS基本网络结构的主要部分如图7所示: 图7 SMS基本网络结构 本文系统通信模块采用TC35,TC35是SIEMENS公司推出的GSM专用调制解调器,它可在GSM网中完成语音、数据、短消息以及传真的传送,TC35具有标准的工业接口和完整的SIM卡阅读器,因此使用非常简单,它提供的命令接口符合GSM0705和GSM0707规范,并提供RS232数据口,模块和单片机接口通过40针数据电缆相连接,由于TC35模块的数据接口是CMOS电平,因此单片机对TC35 模块控制和通信信号不用进行电平转换,通过R232 将TC35模块和PC机连接起来即可。TC35模块输入输出的TTL正电平逻辑不是+ 5V,而是+ 2. 9V,因此,必须对该输入电平进行逻辑转换,系统通过在集电极开路缓冲器7407的输出加上拉电阻完成电路逻辑的转换。 系统加电后,为使TC35进入工作状态,必须给IGT(绝缘栅晶体管)加一延时大于100ms的低脉冲电平,下降持续时间不可超过1ms。启动后, IGT应保持高电平(3. 3 V) 。驱动IGT时TC35供电电压不能低于3. 3V,否则TC35不能激活。ZIF连接座的CCIN引脚用来检测SIM卡是否插好,如果连接正确,则CC IN引脚输出高电平,否则为低电平,可以在系统中,将引脚与参考地间连接红色指示灯,提示用户SIM卡是否插好。 TC35模块有40个引脚,通过一个ZIF(Zero Insertion Force,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。 TC35的第1~5引脚是正电源输入脚通常推荐值4.2V,第6~10引脚是电源接地。11、12为充电引脚,可以外接锂电池,13为对外输出电压(共外电路使用),14为ACCU-TEMP接负温度系数的热敏电阻,用于锂电池充电保护控制。15脚是启动脚IGT,系统加电后为使TC35进入工作状态,必须给IGT加一个大于100ms的低脉冲,电平下降持续时间不可超过1ms。16~23为数据输入/输出,分别为DSR0、RING0、RXD0、TXD0、CTS0、RTS0、DTR0 和DCD0。tc35模块的数据输入/输出接口实际上是一个串行异步收发器,符合ITU-T RS232接口标准。它有固定的参数:8位数据位和1位停止位,无校验位,波特率在300bps~115kbps之间可选,默认9600。硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS电平,支持标准的AT命令集。其中18脚RxD0、19脚TXD0为TTL的串口通讯脚,需要和单片机或者PC通讯。TC35使用外接式SIM卡,24~29为SIM卡引脚,SIM卡同TC35是这样连接的:SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35的同名端直接相连,ZIF连接座的CCIN引脚用来检测SIM卡是否插好,如果连接正确,则CCIN引脚输出高电平,否则为低电平。TC35的第32脚SYNC引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示TC35的工作状态,可用AT命令AT+SYNC进行切换,本模块使用的是后一种。当LED熄灭时,表明TC35处于关闭或睡眠状态;当LED为600 ms亮/600ms熄时,表明SIM卡没有插入或TC35正在进行网络登录;当LED为75 ms亮/3s熄时,表明TC35已登录进网络,处于待机状态。30、31、32脚为控制脚,其中30为RTC backup,31为Power down,32 为SYNC。35~38为语音接口,35、36接扬声器放音。37、38可以直接接驻极体话筒来采集声音(37是话筒正端,39是话筒负端)。如图8所示: 图8 TC35模块图 2.2.4 键盘、显示模块和声光报警电路 在系统设计中,为了节省并行I/O口线,简化系统设计,我们采用了用两个并口来模拟串口,通过移位寄存器74LS164接2个LED来完成显示功能。系统还需要一些按键来完成温湿度上下限设置,报警解除功能,当温湿度超过设定的值时,系统应该要报警指示,在本系统设计中,用了一个扬声器做声报警,一个LED来指示温度报警。 3 系统软件设计 3.1 软件设计思想 单片机测控系统软件主要完成对调速系统温度参数的实时采样、数据处理以及与上位机通讯等功能, 同时能够根据算法自动得到调速系统的温度值,并将结果与给定的温度报警值进行比较, 若超过报警值, 则启动报警电路报警。为便于编程和程序的易读性,采集终端软件采用了模块化设计,主要包括以下模块:单片机初始化,数据采集及处理,通信,按键及处理,显示等模块,上位机用Visual Basic 6.0编写界面和用Visual Basic 6.0自带的串口通信控件完成串口通信.总的流程图如图9,其中数据处理部分流程见图10,完整的软件设计如附录1。 Y N 图9 总的流程图 采集来的数据 Y N 图10 数据处理部分流程 3.2 软件各部分编写 3.2.1 传感器DS1820 (1)DS1820的主要特性 1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电。 2)独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯。 3)DS1820支持多点组网功能,多个DS1820可以并联在唯一的三线上,实现组网多点测温。 4)DS1820在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。 5)温度范围-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。 6) 可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。 7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。 8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。 9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 (2)DS1820的工作原理 1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是DS1820的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS1820自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS1820都各不相同,这样就可以实现一根总线上挂接多个DS1820的目的。  2)DS1820中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。如表1所示: 表1 DS1820温度值格式表 LS Byte Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 23 22 21 20 2-1 2-2 2-3 2-4 MS Byte Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 S S S S S 26 25 24 这是12位转化后得到的12位数据,存储在DS1820的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.06- 25℃的数字输出为FF6FH,-55℃的数字输出为FC90H。如表2所示: 表2 DS1820温度数据表 TEMPERATURE DIGITAL OUTPUT(Binary) DIGITAL OUTPUT(Hex) +125℃ 0000 0111 1101 0000 07D0h +85℃ 0000 0101 0101 0000 0550h +25.0625℃ 0000 0001 1001 0001 0191h +10.125℃ 0000 0000 1010 0010 00A2h +0.5℃ 0000 0000 0000 1000 0008h 0℃ 0000 0000 0000 0000 0000h -0.5℃ 1111 1111 1111 1000 FFF8h -10.125℃ 1111 1111 0101 1110 FF5Eh -25.0625℃ 1111 1110 0110 1111 FE6Fh -55℃ 1111 1100 1001 0000 FC90h  3)DS1820温度传感器的存储器 DS1820温度传感器的内存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。  4)配置寄存器 该字节各位的意义如表3所示: 表3 配置寄存器结构 TM R1 R0 1 1 1 1 1 低五位一直都是“1”,TM是测试模式位,用于设置DS1820在工作模式还是在测试模式。在DS1820出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表4所示:(DS1820出厂时被设置为12位) 表4 温度分辨率设置表 R1 R0 分辨率 温度最大转换时间 0 0 9位 93.75ms 0 1 10位 187.5ms 1 0 11位 375ms 1 1 12位 750ms 5)高速暂存存储器 高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。表2是对应的一部分温度值。第九个字节是冗余检验字节。 表5 DS1820暂存寄存器分布 寄存器内容 字节地址 温度值低位 (LS Byte) 0 温度值高位 (MS Byte) 1 高温限值(TH) 2 低温限值(TL) 3 配置寄存器 4 保留 5 保留 6 保留 7 CRC校验值 8 根据DS18B20的通讯协议,主机(单片机)控制DS1820完成温度转换必须经过三个步骤:每一次读写之前都要对DS1820进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS1820进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS1820收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 表6 ROM指令表 指 令 约定代码 功 能 读ROM 33H 读DS1820温度传感器ROM中的编码(即64位地址) 符合ROM 55H 发出此命令之后,接着发出64 位ROM编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。 搜索ROM 0F0H 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。 跳过ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。 告警搜索命令 0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应。 表7 RAM指令表 指 令 约定代码 功 能 温度变换 44H 启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。 读暂存器 0BEH 读内部RAM中9字节的内容 写暂存器 4EH 发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器 48H 将RAM中第3 、4字节的内容复制到EEPROM中。 重调 EEPROM 0B8H 将EEPROM中内容恢复到RAM中的第3、4字节。 读供电方式 0B4H 读DS1820的供电模式。寄生供电时DS1820发送“0”,外接电源供电 DS1820发送“1”。 6)DS1820使用中注意事项 DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: 较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。 在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 图11 DS1820数据采集流程图 在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。 (3)DS1820采集流程图 根据以上的介绍,可以看出DS1820工作流程如图11所示:(程序如附录1) 3.2.2 通信模块TC35的发送与接收程序 首先启动TC35模块程序 STAR:CLR P1.0 ;IGT=0 LCALL DL100ms;延时100 毫秒 SETB P1.0 ;IGT=1 启动TC35模块 MOV PCON ,#80H MOV TH1,#0FBH ;采用18.432MHz 晶振时,设置串口 为19200 波特率 MOV TL1,#0FBH MOV SCON,#50H SETB TR1 单片机对TC35模块的控制采用AT指令,单片机通过AT指令对TC35模块进行初始化和短消息的接收和发送,对短消息的控制共有三种模式:Block模式,Text模式和PDU模式。PDU模式是发送或接收手机SMS信息最常用的一种方法,短信息正文经过十六进制编码后被传送,基本上全国所有的电信局都提供支持PDU Mode的短消息业务,有些地址则不支持Block Mode和Text Mode,这就限制了这两种接入协议的应用,而且PDU Mode已有取代Block Mode的趋势。为了保证系统具有广泛的适用性,本设计采用PDU模式收发SMS。[11] 异步串行通信的字节格式:在单片机的异步串行通信方式中,在串行口由硬件自动加入起始位和停止位,构成一个完整的字符。发送器通过发送起始位而开始一个字符的传送,起始位使数据线处于低电平状态,之后传送8位数据位,在数据位中,低位在前,高位在后,最后发送停止位,用以标志一个字符的结束,它对应高电平状态,直到下一个字符的起始位到来,如图12所示: 0 D0 D1 D2 D3 D4 D5 D6 D7 1 起始位 数据位 停止位 图12 异步串行通信字节格式 短消息的帧格式:当用8bit编码时,一条短消息最多可发送140个字符[1]。为了充分利用短消息的长度,降低费用,同时考虑到延时的情况,本 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 中,每条短消息的单帧长度均设为106个字符,如图13所示: 1 2 3 4 5 ………... 104 105 106 起始字符 顺序号 数据位 校验位 结束位 图13 短消息帧结构 (1)​ 常用AT指令如下: AT+CSMS 选择短信息服务  AT+CPMS 选择短信息内存  AT+CMGF 选择短信息格式  AT+CSCA 短信息中心地址  AT+CNMI 显示新收到的短信息  AT+CMGR 读短信息  AT+CMGS 发送短信息  AT+CMGL 列出SIM卡中短信息  AT+CMSS 从SIM内存中发短信息   AT+CMGW 向SIM写入待发短信息  AT+CMGD 删除SIM内存中的短信息  AT+CSCB选择蜂窝广播信息 (2)AT指令的运用 下面分别用从PC机上和从单片机上收发短信的两个例子来说明如何运用AT指令。 1)PC机上通过TC35发短信 在电脑上打开一个串口调试软件,比如超级终端等任意一个都行。在命令行输入 AT+CMGF=0,设置为PDU模式;AT+CMGS=XX,XX为PDU的长度。 TC35提示后输入PDU内容后CTR+Z就发送成功,但要注意PDU模式收发SMS的格式: 发送格式:SMSC  PDU类型 MR  DA  PID  DCS  VP  UDL  UD 接收格式:SMSC  PDU类型 OA  PID  DCS  SCTS  UDL  UD 其中,SMSC为短消息业务中心地址,DA/OA为源/目的地址,PID为协议识别,DCS为数据编码,UDL为用户数据长度,UD为用户数据,VP为有效时间,MR指明是发出信息,SCTS指明短消息到达业务中心的时间。 例如要发送短信数据给手机号为13849379075的用户,PDU内容就可以用以下数据格式:00 11 00 0B 91 3148399770F5 00 00 00 YY XXXXX 以上命令解释如下:00 ;短消息中心地址,00表示用存储在SIM卡上的地址。 11 ;表示是发送的第一个8位。 00 ;发送方地址信息。00表示使用本机号码。 0B ;接收方的号码长度 3148399770F5 ;为接收号码,每两位交换,实际号码为13849379075。 00 ;协议标示 00 ;数据编码方案,中文为AA,UNICODE编码。本设计只用发送数字,因此使用数字编码,即00。 00 ;有效期 YY ;为发送的数据长度 XXXXX ;为发送的数据内容 2)单片机通过TC35发送短信 单片机传送数据使用十六进制,传送时将其转换为ASCALL码。例如发送短信数据0123456789给手机号为13849379075的用户,就可以用以下数据格式: AT+CMGS=20 0D 0A 08 91 683108503305F0 11 00 0D 91 683148399770F5 00 00 00 0A 30 31 32 33 34 35 36 37 38 39 以上命令解释如下: 20为空格键的ASCALL码,OD OA为回车换行符。08是短消息中心地址内的字节数,91为规定的协议,683108503305F0为中国移动短信息中心号码即8613800533500。11 00 与前文介绍的一样,683148399770F5为被叫SIM号码即8613849379075,0D为几数据个数。0A 为发送的数据个数,30 31 32 33 34 35 36 37 38 39即发送的数据0123456789的ASCALL码[10]。根据以上的命令格式单片机发送子程序如下: FSCX:CLR EA MOV TMOD.#21H MOV TH1,#0FDH MOV Tl1,#0FDH ;计数器1方式2,波特率为9600 SETB TR1 A1 : MOV DPTR,#TABLE MOV R7,#0CH A2 : MOV A,#0 MOVC A,@A+DAPTER LCALL SOUT INC DPTR DJNZ R7,A2 ;发送 AT+CMGS=20 0D 0A MOV R5,#20 A3 : MOV R6,#248 DANZ R6,$ DJNZ R5,A3 ;延时等待TC35执行完指令 MOV R7,#30H A4 : MOV A,#0 MOVC A,@A+DAPTER LCALL SOUT INC DPTR DJNZ R7,A4 ;发送规定的格式和协议 MOV A7,#10 A5 : MOV A,#0 MOVC A,@A+DAPTER LCALL SOUT INC DPTR DJNZ R7,A5 ;发送数据既0123456789 SETB EA RET SOUT:MOV SCON,40H MOV SBUF,A JNB TI,$ CLR TI RET TABLE:DB 61H,74H,28H,63H,6dH,67H,73H,3dH ;“ AY+CMGS=”的ASCALL码 DB 32H,30H,0DH,0AH,30H,38H,39H,31H ;20 DA 0 8 9 1 DB 36H,38H,33H,31H,30H,38H,35H,30H,33H ;683108503 …… …… DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H 3.2.3 显示模块的程序设计 为了简化系统设计,我们采用了用两个并口来模拟串口,通过移位寄存器74LS164接1个LED来完成显示功能,因此相应的要显示采集的数据时,单片机必须为串口给出正确的时序,下面用汇编语言给出了模拟串口的子程序[16]。 monichuankou: MOV T1, #33 MOV A, #XX ; XX为要显示数的编码 CLR C W:MOV DATA, C SETB SCK MOP CLR SCK RLC A DJNZ R1, W RET 3.3 完整的程序 完整的程序清单见附录2。 4 结论 系统的设计是通过短消息的收发实现对调速系统设备的温度进行遥控,利用GSM网络实时地给手机用户发送短信,起到遥控检测的效果。该系统不仅能够监测到调速系统中由温度造成的危险并发出报警信号,更重要的是能够实时地传递报警信息,甚至是远程传递,有着广泛的应用前景。 经过几个月的努力,在指导老师的悉心指导下,我对数据采集系统的组成,工作原理都有了扎实的理解,通过系统的学习论文所涉及的知识,熟练的掌握了单片机并且完成了数据采集系统的软件设计,并在系统上调试成功。完成的软件部分主要有:键盘和显示程序,DS1820传感器的读写程序,通信模块的发送程序,数据处理程序等。 论文详细介绍了数据采集的发展过程,提出了系统设计方案,特别对系统的软件实现进行了深入的探讨,并给出了完整的系统程序。但是,从论文可以看到,系统只能显示两位的数据,在实际环境中很难满足要求,这需要在今后的学习中作进一步研究。 致谢 经过3个多月的努力,论文终于顺利的完成。在写论文的过程中,指导老师给予了我悉心指导,在此我要向他们表示衷心的感谢,同时,老师们严谨的治学态度无形地鞭笞着我要严格地要求自己,要不断地取得进步,正是在他们的指导下,我对论文所涉及的单片机方面进行了仔细的研究,他们丰富的实际经验使我学到了很多课本上学不到的知识,也使我顺利地完成了论文。 我要感谢机电学院的各位领导,是他们给予我们良好的学习和实验环境,也感谢机电学院的所有老师,是他们教会了我知识和做人做事的道理。另外,我要感谢我同窗四年的室友和同学,他们是我的坚强后盾,无论从物质上还是精神上,都给予了我无私的帮助,借此机会,我要向我的他们表示最诚挚的致意。 参考文献 [1] 赵荣黎.数字蜂窝移动通信系统[M].北京:电子工业出版社,1997.5 [2] 丁瑾,吴文昊.数字无线本地环路系统[M].北京:电子工业出版社,1997.3 [3] 郭峰.无线局域网[M].北京:电子工业出版社,1997.6 [4] 樊昌信.通信原理[M].北京:国防工业出版社,1998.5 [5] 贾玉涛.实用移动无线电通信[M].北京:国防工业出版社,1995.3 [6] 大连北方测控工程有限公司.数字式温湿度传感器中文使用指南[J].2003(2):14-18 [7] 盛范成.基于单片机的A/D转换[J].自动化仪表,2006,6(5):34-38 [8] 孟臣,李敏.数字式温湿度传感器原理与应用[J].世界电子元器件,2003(8):4-7 [9] 马潮.嵌入式GSM短信息接口的软硬件设计[J].单片机及嵌入式系统应用,2003(2):11-14 [10] 李鸿.用单片机控制手机收发短信息[J].电子技术应用,2003(8):24-27 [11] SieMEns.TC35/TC37HardwaREINTerfaceDescription,Version 03 [12] 毕危危. 基于GPRS和DGPS的车辆管理系统[J].北京交通大学学报,2006(2):12-16 [13] 徐向辉.视频图像采集系统的设计与实现[J].系统工程与电子技术,2001,23(10):13-15 [14] 徐爱钧. IAR EWARM嵌入式系统编程与实践[D].北京:北京航空航天大学,2006 [15] 李旭东,宗光华,毕树生等.生物工程微操作机器人视觉系统的研究[J].北京航空航天大学学报,2002(3):11-14 附录1 TEMPER_L EQU 36H TEMPER_H EQU 35H TEMPER_NUM EQU 60H FLAG1 BIT 00H DQ BIT P3.3 AAA:MOV SP,#70H LCALL GET_TEMPER LCALL TEMPER_COV LJMP AAA NOP--------------读出转换后的温度值GET_TEMPER: SETB DQ ; 定时入口 BCD:LCALL INIT_1820 JB FLAG1,S22 LJMP BCD ; 若DS18B20不存在返回 S22:LCALL DELAY1 MOV A,#0CCH ; 跳过ROM匹配------0CC LCALL WRITE_1820 MOV A,#44H ; 发出温度转换命令 LCALL WRITE_1820 NOP LCALL DELAY LCALL DELAY CBA:LCALL INIT_1820 JB FLAG1,ABC LJMP CBA ABC:LCALL DELAY1 MOV A,#0CCH ; 跳过ROM匹配LCALL WRITE_1820 MOV A,#0BEH ; 发出读温度命令 LCALL WRITE_1820 LCALL READ_18200 ;READ_1820 RET;-------- ----读DS1820的程序,从DS1820中读出一个字节的数据READ_1820: MOV R2,#8 RE1: CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3,#7 DJNZ R3,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE1 RET;- --------写DS18B20的程序WRITE_1820: MOV R2,#8 CLR C WR1: CLR DQ MOV R3,#6 DJNZ R3,$ RRC A MOV DQ,C MOV R3,#23 DJNZ R3,$ SETB DQ NOP DJNZ R2,WR1 SETB DQ RET;------ ------读DS18B20的程序,从DS18B20中读出两个字节的温度数据 READ_18200: MOV R4,#2 ; 将温度高位和低位从DS18B20中读出 MOV R1,#36H ; 低位存入36H(TEMPER_L),高位存入35H(TEMPER_H) RE00: MOV R2,#8 RE01: CLR C SETB DQ NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3,#7 DJNZ R3,$ MOV C,DQ MOV R3,#23 DJNZ R3,$ RRC A DJNZ R2,RE01 MOV @R1,A DEC R1 DJNZ R4,RE00 RET------将从DS18B20中读出的温度数据进行转换 TEMPER_COV: MOV A,#0F0H ANL A,TEMPER_L ; 舍去温度低位中小数点后的四位温度数值 SWAP A MOV TEMPER_NUM,A MOV A,TEMPER_L JNB ACC.3,TEMPER_COV1 ; 四舍五入去温度值 INC TEMPER_NUM TEMPER_COV1: MOV A,TEMPER_H ANL A,#07H SWAP A ORL A,TEMPER_NUM MOV TEMPER_NUM,A ; 保存变换后的温度数据 LCALL BIN_BCD RET-------------将16进制的温度数据转换成压缩BCD码 BIN_BCD: MOV DPTR,#TEMP_TAB MOV A,TEMPER_NUM MOVC A,@A+DPTR MOV TEMPER_NUM,A RET TEMP_TAB: DB 00H,01H,02H,03H,04H,05H,06H,07H DB 08H,09H,10H,11H,12H,13H,14H,15H DB 16H,17H,18H,19H,20H,21H,22H,23H DB 24H,25H,26H,27H,28H,29H,30H,31H DB 32H,33H,34H,35H,36H,37H,38H,39H DB 40H,41H,42H,43H,44H,45H,46H,47H DB 48H,49H,50H,51H,52H,53H,54H,55H DB 56H,57H,58H,59H,60H,61H,62H,63H DB 64H,65H,66H,67H,68H,69H,70H,71H DB 72H,73H,74H,75H,76H,77H,78H,79H DB 80H,81H,82H,83H,84H,85H,86H,87H DB 88H,89H,90H,91H,92H,93H,94H,95H DB 96H,97H,98H,99H ;------DS1820初始化程序INIT_1820: SETB DQ NOP CLR DQ MOV R0,#80H TSR1: DJNZ R0,TSR1 ; 延时 SETB DQ MOV R0,#25H ;96US-25H TSR2: DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 ; 延时 TSR3: SETB FLAG1 ; 置标志位,表示DS1820存在 LJMP TSR5 TSR4: CLR FLAG1 ; 清标志位,表示DS1820不存在 LJMP TSR7 TSR5: MOV R0,#06BH ;200US TSR6: DJNZ R0,TSR6 ; 延时 TSR7: SETB DQ RET;---------------重新写DS1820暂存存储器设定值 RE_CONFIG: JB FLAG1,RE_CONFIG1 ; 若DS1820存在,转RE_CONFIG1 RET RE_CONFIG1: MOV A,#0CCH ; 发SKIP ROM命令 LCALL WRITE_1820 MOV A,#4EH ; 发写暂存存储器命令 LCALL WRITE_1820 MOV A,#00H ; TH(报警上限)中写入00H LCALL WRITE_1820 MOV A,#00H ; TL(报警下限)中写入00H LCALL WRITE_1820 MOV A,#7FH ; 选择12位温度分辨率 LCALL WRITE_1820 RET;------------延时子程序 DELAY:MOV R7,#00H MIN:DJNZ R7,YS500 RET YS500:LCALL YS500US LJMP MIN YS500US:MOV R6,#00H DJNZ R6,$ RET DELAY1:MOV R7,#20H DJNZ R7,$ RET 附录2 程序清单 ORG 0000H SJMP START ORG 0030H START:MOV 40H,#40 MOV 41h,#0 MOV 42h,#60 MOV 43h,#0 NT:LCALL SJCJ;数据采集 LCALL sJCl;数据处理 MOV r4,#100;延时 NT2:LCALL DELAY JB p1.0,XIA LCALL DELAY JNB p1.0,$ ACALL AJC1 XIA: JB p2.4,OVER LCALL DELAY JB p1.2,OVER ACALL DELAY JNB p1.2,$ SETB p2.4 MOV A,70H CJNE A,#0,YT6 MOV 65H,#0 YT6:MOV A,72H CJNE A,#0,OVER MOV 66H,#0 OVER:DJNZ r4,NT2 LJMP NT AJC1:MOV 36h,41H:按键处理 LCALL BCD1 LCALL VIEW LCALL DELAY MOV 36H,41H MOV R2,#0FEH ACALL SCANKEYS MOV 41H,36H MOV 36H,40H LCALL BCD1 LCALL VIEW LCALL DELAY ACALL SCANKEYS MOV 40H,36H MOV 36H,43H LCALL BCD2 LCALL VIEW LCALL DELAY MOV 36H,43H MOV R2,#0 ACALL SCANKEYS MOV 43H,36H MOV 36H,42H LCALL BCD2 LCALL VIEW LCALL DELAY ACALL SCANKEYS MOV 42H,36H MOV 36H,30H ACALL BCD1 MOV 36H,31H ACALL BCD2 ACALL VIEW RET SCANKEYS:JB p1.1,W1 ;扫描按键 LCALL DELAY JNB p1.1,$ LCALL DELAY INC 36H MOV A,36H CJNE A,#100,GG MOV 36H,#99 GG: CJNE r2,#0FEH,NEXT LCALL BCD1 SJMP NEXT1 NEXT:LCALL BCD2 NEXT1:LCALL VIEW LCALL DELAY W1:JB p1.2,W2 LCALL DELAY JNB p1.2,$ LCALL DELAY MOV A,36H CJNE A,#0,YY SJMP PP YY:DEC 36H PP:CJNE R2,#0FEH,NEXT3 LCALL BCD1 SJMP NEXT4 NEXT3:LCALL BCD2 NEXT4:LCALL VIEW LCALL DELAY W2: JB p1.0,SCANKEYS LCALL DELAY JNB p1.0,$ RET SJCJ:LCALL DELAY LCALL QDCF CXFS: LCALL QDXL MOV A,#03H LCALL MEASURE JNB p0.0,RIGHT LJMP CXFS RIGHT: SETB p0.1 NOP CLR p0.1 JB p0.0,RIGHT1 JMP CXFS RIGHT1: JB p0.0,$ LCALL READ MOV 44h,38h MOV 45h,39h MOV r7,#2 LC: LCALL DELAY DJNZ r7,LC LCALL QDCF CXFS1:LCALL QDXL MOV A,#05H LCALL MEASURE JNB p0.0,RIGHT2 LJMP CXFS1 RIGHT2:SETB p0.1 NOP CLR p0.1 JB p0.0,RIGHT3 LJMP CXFS1 RIGHT3:JB p0.0,$ LCALL READ ACALL caLCulate MOV 36H,30H ACALL BCD1 MOV 36H,31H ACALL BCD2 ACALL VIEW RET DELAY: MOV R6,#20 W3: MOV R5,#248 DJNZ R5,$ DJNZ R6,W3 RET QDCF:MOV R7,#09H SETB p0.0 SA:CLR p0.1 NOP SETB p0.1 DJNZ R7,SA RET QDXL:SETB p0.0 CLR p0.1 NOP SETB p0.1 NOP CLR p0.0 NOP CLR p0.1 NOP NOP NOP SETB p0.1 NOP SETB p0.0 NOP CLR p0.1 RET MEASURE:MOV R7,#08h ME: RLC A JC MA CLR p0.0 SETB p0.1 NOP NOP NOP CLR p0.1 SJMP MM MA: SETB p0.0 SETB p0.1 NOP NOP NOP CLR p0.1 MM: DJNZ R7,ME RET READ:MOV R7,#2 MOV R6,#8 CLR C SETB p0.0 RE: SETB p0.1 MOV C,p0.0 MOV A,38H CLR p0.1 RLC A MOV 38H,A MOV A,39H RLC A MOV 39H,a DJNZ R6,RE CLR p0.0 MOV R6,#8 DJNZ R7,RE RET CALCULATE:MOV R4,45H MOV R5,44H MOV R7,#100 ACALL D457 MOV A,R3 CLR C SUBB A,#40 MOV 30H,A MOV R2,39H MOV R3,38H MOV R6,#0 MOV R7,#4 ACALL MULD MOV R7,#125 ACALL D457 MOV
本文档为【基于GSM短消息的温度报警系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_258472
暂无简介~
格式:doc
大小:438KB
软件:Word
页数:29
分类:互联网
上传时间:2011-05-29
浏览量:38