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

上传人:1888****888 文档编号:37781945 上传时间:2021-11-04 格式:DOC 页数:30 大小:438.50KB
收藏 版权申诉 举报 下载
基于GSM短消息的温度报警系统设计_第1页
第1页 / 共30页
基于GSM短消息的温度报警系统设计_第2页
第2页 / 共30页
基于GSM短消息的温度报警系统设计_第3页
第3页 / 共30页
资源描述:

《基于GSM短消息的温度报警系统设计》由会员分享,可在线阅读,更多相关《基于GSM短消息的温度报警系统设计(30页珍藏版)》请在装配图网上搜索。

1、1 引言引言当前,在许多工业领域里,调速系统都有着广泛地应用,而电动机是调速系统主要的部分之一。决定电动机寿命的因素很多,最主要的是绝缘老化速度,导致绝缘老化的原因主要是由机械或热作用引起的疲劳损坏,特别是热作用对绝缘老化与电动机寿命关系重大。随着现代电力电子技术和网络技术的迅猛发展, 温度防护在调速系统中的作用越来越重要。本文涉及到一种基于GSM网络技术的调速系统温度报警的新技术。近年来,移动通信发展如火如荼,从模拟的AMPS网到数字蜂窝GSM网,到CDMA移动通信网,现在日本一些国家又提出了第四代移动通信网(即4G)的概念,并开始开发和研制。目前,随着手机性能增强、价格下降、通信费用降低,

2、移动通信用户比较普及,如依托移动通信网的SMS(短消息业务)建设智能监控防盗报警系统将有很大的发展潜力和实用价值。SMS(短消息业务)是GSM网的一项增值业务,他通过控制信道传输数据,支持点到点消息业务及消息广播业务等多种方式。通过SMS传输数据具有以下优点:(1)信道建立时间短,数据传输速率快;(2)不占用话音信道,通话时不影响数据传输;(3)由于不占用话音通道,通信费用低廉;(4)通过短消息广播业务,可提供点对多点的数据传送;(5)系统扩容方便;另一方面,SMS还受信息长度的限制,点点信息长度为140B,消息广播业务信息长度为82B,这就决定了传输的数据不能太长。依托移动通信网的SMS(短

3、消息业务)建设智能温度报警系统由于发送到用户手机或监控中心的是警情信息,内容较少,因此在充分利用SMS传输数据优点的基础上SMS传输信息长度也完全能满足要求。使用GSM网建设温度报警系统,以其特有的防火、防潮、防化学物质腐蚀、防剪、防破坏,无需布线、工程简单、费用低廉、易于管理、易维护和移动性好成为理想的温度报警系统。实现对调速系统内部状况的实时远程监测监控, 从而可以实现对调速系统温度的实时检测和远程智能控制等功能。1.1 数据采集系数据采集系统统的基本概念的基本概念在生活和工业过程中,通过一定的测量设备把温度、湿度、压力、速度等模拟量转变为数字信号,再收集到处理设备上显示、处理、记录和传输

4、,这个过程即称“数据采集”,实现这个过程的系统就是“数据采集系统”。 一般来讲,一个典型的数据采集系统如图1所示:2 图1 典型的数据采集系统1.2 基于基于 GSM 和通用和通用计计算机的数据采集系算机的数据采集系统统近年来,随着移动通信技术的发展,根据目前GSM网络技术成熟,覆盖范围广的特点,合理有效的利用GSM网络资源,可以避免组建专用数据传输网络的成本费用高,通讯距离短,通讯效果差等诸多难题。GSM网络在计算机应用领域中迅速发展的一种系统结构形式,它是由通用计算机(PC机)与GSM网络的短消息相连而成,GSM网络及其外围电路构成的部分是专为数据采集等功能的要求而配置的,主机则承担数据采

5、集系统的人机对话、大容量的计算、记录、打印、图形显示等任务。混合型计算机数据采集系统有以下特点:(1)系统配置灵活,易构成各种大中型测控系统。(2)主机可远离现场而构成各种局域网络系统。(3)系统采集端的软硬件设计与配置规模都是以满足数据采集系统功能要求为原则,因此系统的软硬件应用/配置比接近于1,具有最佳的性价比,系统的软件一般都有应用程序。(4)系统采集端的可靠性好、使用方便。应用程序在ROM中运行不会因外界的干扰而破坏,而且上电后系统立即进入用户状态。1.3 GSM 网网络络的的协议协议模型模型GSM网络的协议模型GSM标准采用不同的信道来传送用户信息和信令信息, 因此也就有如下两类信息

6、数据:用户信息:包括语音和数据。信令信息:用于呼叫建立、释放系统管理信息。另外,GSM标准将短消息业务也用信令信道来传送。GSM规范中给出了无线通信的接口标准即空中接口Um,通常用分层传输的信令实体协议模型说明,如图2所示,GSM标准Um接口信令在网络实现时,各层根据其完成的功能不同,由网络的不同部分来完成。这主要是为了减少子系统间的数据传送量以及移动交换中心的处理压力。而在移动台的一侧全部功能则由移动台独立完成。其中,现场传感器模数转换器CPU键盘显示设备执行设备各通信实体含义为:CC:呼叫控制;SMC:短信息业务控制;MM:移动特性管理;TCAP:转移能力应用部;RM:无线资源管理;SCC

7、P:信令连接控制部; BSSMAP:基站系统管理应用部;MTP:信息传输部;ISDN- UP:ISDN 用户部;MAP:移动通信应用部1。图2 GSM网络信令协议模型1.4 本本设计设计的研究内容的研究内容正如前文所述,由于计算机技术和通信技术的飞速发展,数据采集系统已经逐步由集中控制系统向集散型系统发展。集散型系统与集中式系统的根本区别在于集散型系统采用了网络技术将多个处理系统连接在一起,使他们有序、协调地工作。在工业现场中,数据采集点可能与控制中心距离较远,同时分散的分布于一个较大的地域范围内,这时采用有限网络技术就显得力不从心了。使用SMS进行数据传输不需要架设专用的网络线路,组网成本低

8、,可以方便地增加数据采集点,适用于范围大而分散且处于偏远地区的数据采集传输(均需GSM网络覆盖)。本文正是研究了基于GSM网络下的SMS服务进行数据传送的数据采集系统的软硬件设计。2 数据采集系数据采集系统统硬件硬件设计设计2.1 硬件硬件总总体体设计设计框框图图本文设计了一种通过GSM短消息的收发实现对系统设备进行遥控,基于单片机控制,利用支持短消息业务的GSM引擎模块发送温度报警信息,还利用现有的900M或1800M的GSM网络,而监控终端也不再仅局限于PC机,也可以是移动通讯平台或其他移动终端。对系统环境状况监测和数据传输的GSM短消息遥控监测系统。该系统克服了普通电话遥控的人机界面不友

9、好,且控制功能少等缺点,移动台移动交换中心基站CC SMC SSMMRML2L1BSSMAPRM SCCPL2 MTPL1CCSMCMM MAP ISDN -UPBSSMAP TCAPSCCP SCCP MTP MTP4实现了数据采集(温度等)、实时监测、短信报警的功能,为调速系统的安全提供了保证。系统的控制过程如下:用温度传感器采集外界温度值,通过A/D转换将此模拟信号转换为数字信号传入单片机中,对单片机进行编程。本系统采用了西门子公司提供的TC35短信模块进行短信的编辑和发送,它的串口通讯遵循RS232标准,所以要与单片机连接还要通过串口的电平转换电路,这也是系统设计的一部分;短信模块发送

10、短信是由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。本系统采

11、集端以单片机为主控制器,由温度传感器DS1820,键盘,两个LED显示器,两个指示灯,一个报警器,电平转换模块MAX232,通信模块TC35等组成,系统总体原理图如图3所示:图 3 数据采集终端原理图2.2 硬件各部分硬件各部分设计设计系统硬件总的设计图如图 4 所示:2.2.1 温度温度传传感器感器 DS1820数字温度传感器的输出不是以电流或电压形式,而是将其转换为1或0形式的数字量。因此,数字输出温度传感器适合于连接到一个MCU。许多温度传感器还具有的另一功能是能在超过温度限定值时产生一个中断,可以将这些温度限定值设置到上限温度寄存器和下限温度寄存器。本文采用美国 DALLAS 半导体公

12、司推出的 DS1820 数字式温度传感器, 它可直接将被测温度转化成串行数字信号供微机处理,并且根据具体要求,通过简温度传感器DS1820 8051声、光报警块电平转换模块MAX232键盘、显示模块通信模块TC35单的编程实现 9 位的温度读数,并且多个 DS1820 可以并接到多个地址线上与单12345678910111213141516171819202122232425262728293031323334353637383940TC35EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167

13、P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE /P30TXD11RXD10VCC40GND208051R14kD1C15VC330pC230pY17407740774071KR21KR3R51K1KR4D2DIODEC430uP123456SIM3.3KR6C60.1uC50.1uL1C7100uFR71k7404R81KD3LE DVCCVDD10kR9C8100nf345DS1820+5V图 4 系统总的设计图片机实现通信。由于每一个 DS1820

14、出厂时都刻有唯一的一个序列号并存入ROM 中,因此 CPU 可用简单的通信协议就可以识别,从而多个传感器的系统中节省了大量的引线和逻辑电路8。连接如图 5 所示:6图 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 分别与晶体两端相连接。当采用外部时钟信号时,

15、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 脚):地址锁存信号输出端。第二功能:编程脉冲输入。P

16、SEN(29 脚):外部程序存储器读选通信号。EA/Vpp(31 脚):外部程序存储器使能端。第二功能:编程电压输入端(+21V)。 图 6 单片机管脚图2.2.3 短消息模短消息模块块原理原理点对点短消息业务(SMS)是在GSM Phasel标准中引入的,具有向移动用户收/发字符或数字组成的文本信息的能力,采用了存储转发模式,短消息被发送出去后先存储在短消息业务中心,再由短消息业务中心根据寻找的目标移动终端的路由信息发送给目标移动终端。因此GSM短消息的传递是有保证的。SMS数据包是通过信令信道进行数据传输的。不管业务信道上是否有正在进行的语音或数据呼叫,一个活跃移动台都能够发送或接收一个短

17、消息传输协议数据单元。SMS基本网络结构的主要部分如图7所示:图7 SMS基本网络结构本文系统通信模块采用TC35,TC35是SIEMENS公司推出的GSM专用调制解调器,它可在GSM网中完成语音、数据、短消息以及传真的传送,TC35具有标准的工业接口和完整的SIM卡阅读器,因此使用非常简单,它提供的命令接口符合GSM0705和GSM0707规范,并提供RS232数据口,模块和单片机接口通过40针数据电缆相连接,由于TC35模块的数据接口是CMOS电平,因此单片机对TC35 模块控制和通信信号不用进行电平转换,通过R232 将TC35模块和PC机连接起来即可。TC35模块输入输出的TTL正电平

18、逻辑不是+ 5V,而是+ 2. 9V,因此,必须对该输入电平进行逻辑转换,系统通过在集电极开路缓冲器7407的输出加上拉电阻完成电路逻辑的转换。系统加电后,为使TC35进入工作状态,必须给IGT(绝缘栅晶体管)加一延时大于100ms的低脉冲电平,下降持续时间不可超过1ms。启动后, IGT应保持高电平(3. 3 V) 。驱动IGT时TC35供电电压不能低于3. 3V,否则TC35不能激活。ZIF连接座的CCIN引脚用来检测SIM卡是否插好,如果连接正确,则CC IN引脚输出高电平,否SMSC SMSCGMSCSMSIWMSCMSCVLRHLRMS8则为低电平,可以在系统中,将引脚与参考地间连接

19、红色指示灯,提示用户SIM卡是否插好。TC35 模块有 40 个引脚,通过一个 ZIF(Zero Insertion Force,零阻力插座)连接器引出。这 40 个引脚可以划分为 5 类,即电源、数据输入/输出、SIM 卡、音频接口和控制。TC35 的第 15 引脚是正电源输入脚通常推荐值 4.2V,第 610 引脚是电源接地。11、12 为充电引脚,可以外接锂电池,13 为对外输出电压(共外电路使用),14 为 ACCU-TEMP 接负温度系数的热敏电阻,用于锂电池充电保护控制。15 脚是启动脚 IGT,系统加电后为使 TC35 进入工作状态,必须给 IGT 加一个大于100ms 的低脉冲

20、,电平下降持续时间不可超过 1ms。1623 为数据输入/输出,分别为 DSR0、RING0、RXD0、TXD0、CTS0、RTS0、DTR0 和 DCD0。TC35 模块的数据输入/输出接口实际上是一个串行异步收发器,符合 ITU-T RS232 接口标准。它有固定的参数:8 位数据位和 1 位停止位,无校验位,波特率在300bps115kbps 之间可选,默认 9600。硬件握手信号用 RTS0/CTS0,软件流量控制用 XON/XOFF,CMOS 电平,支持标准的 AT 命令集。其中 18 脚 RxD0、19 脚TXD0 为 TTL 的串口通讯脚,需要和单片机或者 PC 通讯。TC35

21、使用外接式SIM 卡,2429 为 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 为

22、 600 ms 亮/600ms 熄时,表明 SIM 卡没有插入或 TC35 正在进行网络登录;当 LED 为 75 ms 亮/3s 熄时,表明 TC35 已登录进网络,处于待机状态。30、31、32 脚为控制脚,其中 30 为 RTC backup,31为 Power down,32 为 SYNC。3538 为语音接口,35、36 接扬声器放音。37、38可以直接接驻极体话筒来采集声音(37 是话筒正端,39 是话筒负端)。如图 8 所示:12345678910111213141516171819202122232425262728293031323334353637383940TC354.2

23、VVT1R1R2R3INCCINCCRSTCCIOCCCL KCCVCCCCGNGR41KVT2R54.2VM CU RXDM CU TXDSIM _CARDCCRSTCCIOCCCL KCCVCCCCGNGCCRSTCCCL KCCVCCCCIOCCGNG图8 TC35模块图2.2.4 键盘键盘、 、显显示模示模块块和声光和声光报报警警电电路路在系统设计中,为了节省并行I/O口线,简化系统设计,我们采用了用两个并口来模拟串口,通过移位寄存器74LS164接2个LED来完成显示功能。系统还需要一些按键来完成温湿度上下限设置,报警解除功能,当温湿度超过设定的值时,系统应该要报警指示,在本系统设计

24、中,用了一个扬声器做声报警,一个LED来指示温度报警。3 系系统软统软件件设计设计3.1 软软件件设计设计思想思想单片机测控系统软件主要完成对调速系统温度参数的实时采样、数据处理以及与上位机通讯等功能, 同时能够根据算法自动得到调速系统的温度值,并将结果与给定的温度报警值进行比较, 若超过报警值, 则启动报警电路报警。为便于编程和程序的易读性,采集终端软件采用了模块化设计,主要包括以下模块:单片机初始化,数据采集及处理,通信,按键及处理,显示等模块,上位机用Visual Basic 6.0编写界面和用Visual Basic 6.0自带的串口通信控件完成串口通信.总的流程图如图9,其中数据处理

25、部分流程见图10,完整的软件设计如附录1。 Y N延时初 始 化按键?数据采集数据处理发送按键处理10图9 总的流程图 采集来的数据 Y N图10 数据处理部分流程3.2 软软件各部分件各部分编编写写3.2.1 传传感器感器 DS1820(1)DS1820的主要特性1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。2)独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯。3)DS1820支持多点组网功能,多个DS1820可以并联在唯一的三线上,实现数 据 校 正超限?显示返回报 警报警处理组网多点测温。4)DS1

26、820在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。5)温度范围55125,在-10+85时精度为0.5。6) 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。(2)DS1820的工作原理1)光刻

27、 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

28、 DS1820 温度值格式表Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0LS Byte232221202-12-22-32-4Bit 15Bit 14Bit 13Bit 12Bit 11Bit 10Bit 9Bit 8MS ByteSSSSS262524这是 12 位转化后得到的 12 位数据,存储在 DS1820 的两个 8 比特的 RAM中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将12测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625

29、即可得到实际温度。 例如+125的数字输出为 07D0H,+25.0625的数字输出为 0191H,-25.06- 25的数字输出为 FF6FH,-55的数字输出为 FC90H。如表 2 所示:表 2 DS1820 温度数据表TEMPERATUREDIGITAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+1250000 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1010 001000A2h+0.50000 0000 000

30、0 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000FFF8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90h 3)DS1820 温度传感器的存储器 DS1820 温度传感器的内存储器包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EEPRAM,后者存放高温度和低温度触发器 TH、TL 和结构寄存器。 4)配置寄存器 该字节各位的意义如表 3 所示:表 3 配置寄存器结构TMR1R011111

31、低五位一直都是“1”,TM 是测试模式位,用于设置 DS1820 在工作模式还是在测试模式。在 DS1820 出厂时该位被设置为 0,用户不要去改动。R1 和 R0 用来设置分辨率,如下表 4 所示:(DS1820 出厂时被设置为 12 位)表 4 温度分辨率设置表R1R0分辨率温度最大转换时间009 位93.75ms0110 位187.5ms1011 位375ms1112 位750ms5)高速暂存存储器 高速暂存存储器由 9 个字节组成,其分配如表 5 所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0 和第1 个字节。单片机可通过单线接口读到该数据,

32、读取时低位在前,高位在后,数据格式如表 1 所示。对应的温度计算:当符号位 S=0 时,直接将二进制位转换为十进制;当 S=1 时,先将补码变为原码,再计算十进制值。表 2 是对应的一部分温度值。第九个字节是冗余检验字节。表 5 DS1820 暂存寄存器分布寄存器内容字节地址温度值低位 (LS Byte)0温度值高位 (MS Byte)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC 校验值8根据 DS18B20 的通讯协议,主机(单片机)控制 DS1820 完成温度转换必须经过三个步骤:每一次读写之前都要对 DS1820 进行复位操作,复位成功后发送一条 ROM 指

33、令,最后发送 RAM 指令,这样才能对 DS1820 进行预定的操作。复位要求主 CPU 将数据线下拉 500 微秒,然后释放,当 DS1820 收到信号后等待1660 微秒左右,后发出 60240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。 表 6 ROM 指令表指 令约定代码功 能读 ROM33H读 DS1820 温度传感器 ROM 中的编码(即 64 位地址) 符合 ROM 55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。 搜索 ROM 0F0H用于确定挂接在同一总线上

34、 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。 跳过 ROM 0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。 告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出响应。 表 7 RAM 指令表指 令约定代码功 能14温度变换44H启动 DS1820 进行温度转换,12 位转换时最长为750ms(9 位为 93.75ms)。结果存入内部 9 字节RAM 中。读暂存器 0BEH 读内部 RAM 中 9 字节的内容 写暂存器 4EH 发出向内部 RAM 的 3、4 字节写上、下限温度数据命令,紧跟该命令之后,是

35、传送两字节的数据。复制暂存器 48H 将 RAM 中第 3 、4 字节的内容复制到 EEPROM中。重调 EEPROM 0B8H 将 EEPROM 中内容恢复到 RAM 中的第 3、4 字节。读供电方式 0B4H 读 DS1820 的供电模式。寄生供电时 DS1820 发送“0”,外接电源供电 DS1820 发送“1”。 6)DS1820 使用中注意事项 DS1820 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复杂的软件进行补偿,由于 DS1820 与微处理器间采用串行数据传送,因此,在对 DS1820 进行读写

36、编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用 PL/M、C 等高级语言进行系统程序设计时,对 DS1820 操作部分最好采用汇编语言实现。 在 DS1820 的有关资料中均未提及单总线上所挂 DS1820 数量问题,容易使人误认为可以挂任意多个 DS1820,在实际应用中并非如此。当单总线上所挂DS1820 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 连接 DS1820 的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过 50m 时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达

37、150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用 DS1820 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 图11 DS1820数据采集流程图在 DS1820 测温程序设计中,向 DS1820 发出温度转换命令后,程序总要等待 DS1820 的返回信号,一旦某个 DS1820 接触不好或断线,当程序读该 DS1820时,将没有返回信号,程序进入死循环。这一点在进行 DS1820 硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽 4 芯双绞线,其中一对线接地线与信号线

38、,另一组接 VCC 和地线,屏蔽层在源端单点接地。(3)DS1820采集流程图根据以上的介绍,可以看出DS1820工作流程如图11所示:(程序如附录1)163.2.2 通信模通信模块块 TC35 的的发发送与接收程序送与接收程序首先启动TC35模块程序STAR:CLR P1.0 ;IGT=0LCALL DL100ms;延时100 毫秒SETB P1.0 ;IGT=1 启动TC35模块MOV PCON ,#80HMOV TH1,#0FBH ;采用18.432MHz 晶振时,设置串口为19200 波特率MOV TL1,#0FBHMOV SCON,#50HSETB TR1单片机对TC35模块的控制采

39、用AT指令,单片机通过AT指令对TC35模块进行初始化和短消息的接收和发送,对短消息的控制共有三种模式:Block模式,Text模式和PDU模式。PDU模式是发送或接收手机SMS信息最常用的一种方法,短信息正文经过十六进制编码后被传送,基本上全国所有的电信局都提供支持PDU Mode的短消息业务,有些地址则不支持Block Mode和Text Mode,这就限制了这两种接入协议的应用,而且PDU Mode已有取代Block Mode的趋势。为了保证系统具有广泛的适用性,本设计采用PDU模式收发SMS。11异步串行通信的字节格式:在单片机的异步串行通信方式中,在串行口由硬件自动加入起始位和停止位

40、,构成一个完整的字符。发送器通过发送起始位而开始一个字符的传送,起始位使数据线处于低电平状态,之后传送8位数据位,在数据位中,低位在前,高位在后,最后发送停止位,用以标志一个字符的结束,它对应高电平状态,直到下一个字符的起始位到来,如图12所示:0D0D1D2D3D4D5D6D71起始位数据位停止位图12 异步串行通信字节格式短消息的帧格式:当用8bit编码时,一条短消息最多可发送140个字符1。为了充分利用短消息的长度,降低费用,同时考虑到延时的情况,本方案中,每条短消息的单帧长度均设为106个字符,如图13所示:12345.104105106起始字符顺序号数据位校验位结束位图13 短消息帧

41、结构(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 发短信在

42、电脑上打开一个串口调试软件,比如超级终端等任意一个都行。在命令行输入 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 指明

43、是发出信息,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 编码。本设计

44、只用发送数字,因此使用数字编码,即 00。 00 ;有效期 YY ;为发送的数据长度 XXXXX ;为发送的数据内容2)单片机通过 TC35 发送短信单片机传送数据使用十六进制,传送时将其转换为 ASCALL 码。例如发送18短信数据 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 O

45、A 为回车换行符。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 方式

46、2,波特率为 9600SETB TR1A1 : MOV DPTR,#TABLE MOV R7,#0CHA2 : MOV A,#0 MOVC A,A+DAPTER LCALL SOUT INC DPTR DJNZ R7,A2 ;发送 AT+CMGS=20 0D 0A MOV R5,#20A3 : MOV R6,#248 DANZ R6,$ DJNZ R5,A3 ;延时等待 TC35 执行完指令 MOV R7,#30HA4 : MOV A,#0 MOVC A,A+DAPTER LCALL SOUT INC DPTR DJNZ R7,A4 ;发送规定的格式和协议 MOV A7,#10A5 : MOV

47、 A,#0 MOVC A,A+DAPTER LCALL SOUT INC DPTR DJNZ R7,A5 ;发送数据既 0123456789 SETB EA RETSOUT:MOV SCON,40H MOV SBUF,A JNB TI,$ CLR TI RETTABLE: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 1DB 36H,38H,33H,31H,30H,38H,35H,30H,33H ;683108503DB 30H,31H

48、,32H,33H,34H,35H,36H,37H,38H,39H3.2.3 显显示模示模块块的程序的程序设计设计为了简化系统设计,我们采用了用两个并口来模拟串口,通过移位寄存器74LS164 接 1 个 LED 来完成显示功能,因此相应的要显示采集的数据时,单片机必须为串口给出正确的时序,下面用汇编语言给出了模拟串口的子程序16。monichuankou: MOV T1, #33 MOV A, #XX ; XX 为要显示数的编码CLR CW:MOV DATA, CSETB SCKMOPCLR SCKRLC ADJNZ R1, WRET203.3 完整的程序完整的程序完整的程序清单见附录 2。4

49、 结结论论系统的设计是通过短消息的收发实现对调速系统设备的温度进行遥控,利用GSM网络实时地给手机用户发送短信,起到遥控检测的效果。该系统不仅能够监测到调速系统中由温度造成的危险并发出报警信号,更重要的是能够实时地传递报警信息,甚至是远程传递,有着广泛的应用前景。经过几个月的努力,在指导老师的悉心指导下,我对数据采集系统的组成,工作原理都有了扎实的理解,通过系统的学习论文所涉及的知识,熟练的掌握了单片机并且完成了数据采集系统的软件设计,并在系统上调试成功。完成的软件部分主要有:键盘和显示程序,DS1820传感器的读写程序,通信模块的发送程序,数据处理程序等。论文详细介绍了数据采集的发展过程,提

50、出了系统设计方案,特别对系统的软件实现进行了深入的探讨,并给出了完整的系统程序。但是,从论文可以看到,系统只能显示两位的数据,在实际环境中很难满足要求,这需要在今后的学习中作进一步研究。致致谢谢经过3个多月的努力,论文终于顺利的完成。在写论文的过程中,指导老师给予了我悉心指导,在此我要向他们表示衷心的感谢,同时,老师们严谨的治学态度无形地鞭笞着我要严格地要求自己,要不断地取得进步,正是在他们的指导下,我对论文所涉及的单片机方面进行了仔细的研究,他们丰富的实际经验使我学到了很多课本上学不到的知识,也使我顺利地完成了论文。我要感谢机电学院的各位领导,是他们给予我们良好的学习和实验环境,也感谢机电学

51、院的所有老师,是他们教会了我知识和做人做事的道理。另外,我要感谢我同窗四年的室友和同学,他们是我的坚强后盾,无论从物质上还是精神上,都给予了我无私的帮助,借此机会,我要向我的他们表示最诚挚的致意。参参考考文文献献1 赵荣黎.数字蜂窝移动通信系统M.北京:电子工业出版社,1997.52 丁瑾,吴文昊.数字无线本地环路系统M.北京:电子工业出版社,1997.33 郭峰.无线局域网M.北京:电子工业出版社,1997.64 樊昌信.通信原理M.北京:国防工业出版社,1998.55 贾玉涛.实用移动无线电通信M.北京:国防工业出版社,1995.36 大连北方测控工程有限公司.数字式温湿度传感器中文使用指

52、南J.2003(2):14-187 盛范成.基于单片机的 A/D 转换J.自动化仪表,2006,6(5):34-388 孟臣,李敏.数字式温湿度传感器原理与应用J.世界电子元器件,2003(8):4-79 马潮.嵌入式 GSM 短信息接口的软硬件设计J.单片机及嵌入式系统应用,2003(2):11-1410 李鸿.用单片机控制手机收发短信息J.电子技术应用,2003(8):24-2711 SieMEns.TC35TC37HardwaREINTerfaceDescription,Version 0312 毕危危. 基于 GPRS 和 DGPS 的车辆管理系统J.北京交通大学学报,2006(2):

53、12-1613 徐向辉.视频图像采集系统的设计与实现J.系统工程与电子技术,2001,23(10):13-1514 徐爱钧. IAR EWARM 嵌入式系统编程与实践D.北京:北京航空航天大学,200615 李旭东,宗光华,毕树生等.生物工程微操作机器人视觉系统的研究J.北京航空航天大学学报,2002(3):11-14附附录录 1TEMPER_L EQU 36HTEMPER_H EQU 35H22TEMPER_NUM EQU 60HFLAG1 BIT 00HDQ BIT P3.3AAA:MOV SP,#70HLCALL GET_TEMPERLCALL TEMPER_COVLJMP AAANOP

54、-读出转换后的温度值GET_TEMPER:SETB DQ ; 定时入口BCD:LCALL INIT_1820JB FLAG1,S22LJMP BCD ; 若 DS18B20 不存在返回S22:LCALL DELAY1MOV A,#0CCH ; 跳过 ROM 匹配-0CCLCALL WRITE_1820MOV A,#44H ; 发出温度转换命令LCALL WRITE_1820NOPLCALL DELAYLCALL DELAYCBA:LCALL INIT_1820JB FLAG1,ABCLJMP CBAABC:LCALL DELAY1MOV A,#0CCH ; 跳过 ROM 匹配LCALL WRI

55、TE_1820MOV A,#0BEH ; 发出读温度命令LCALL WRITE_1820LCALL READ_18200 ;READ_1820RET;- -读 DS1820 的程序,从DS1820 中读出一个字节的数据READ_1820:MOV R2,#8RE1:CLR CSETB DQNOPNOPCLR DQNOPNOPNOPSETB DQMOV R3,#7DJNZ R3,$MOV C,DQMOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE1RET;- -写 DS18B20 的程序WRITE_1820:MOV R2,#8CLR CWR1:CLR DQMOV R3,#6DJN

56、Z R3,$RRC AMOV DQ,CMOV R3,#23DJNZ R3,$SETB DQNOPDJNZ R2,WR1SETB DQRET;- -读 DS18B20 的程序,从DS18B20 中读出两个字节的温度数据READ_18200:MOV R4,#2 ; 将温度高位和低位从DS18B20 中读出MOV R1,#36H ; 低位存入36H(TEMPER_L),高位存入35H(TEMPER_H)RE00:MOV R2,#8RE01:CLR CSETB DQNOPNOPCLR DQNOPNOPNOPSETB DQMOV R3,#7DJNZ R3,$MOV C,DQMOV R3,#23DJNZ

57、R3,$RRC ADJNZ R2,RE01MOV R1,ADEC R1DJNZ R4,RE00RET-将从 DS18B20 中读出的温度数据进行转换TEMPER_COV:MOV A,#0F0HANL A,TEMPER_L ; 舍去温度低位中小数点后的四位温度数值SWAP AMOV TEMPER_NUM,AMOV A,TEMPER_LJNB ACC.3,TEMPER_COV1 ; 四舍五入去温度值INC TEMPER_NUMTEMPER_COV1:MOV A,TEMPER_HANL A,#07HSWAP AORL A,TEMPER_NUMMOV TEMPER_NUM,A ; 保存变换后的温度数据

58、LCALL BIN_BCDRET-将 16 进制的温度数据转换成压缩 BCD 码BIN_BCD:MOV DPTR,#TEMP_TABMOV A,TEMPER_NUMMOVC A,A+DPTRMOV TEMPER_NUM,ARETTEMP_TAB:DB 00H,01H,02H,03H,04H,05H,06H,07HDB 08H,09H,10H,11H,12H,13H,14H,15HDB 16H,17H,18H,19H,20H,21H,22H,23HDB 24H,25H,26H,27H,28H,29H,30H,31H24DB 32H,33H,34H,35H,36H,37H,38H,39HDB 40

59、H,41H,42H,43H,44H,45H,46H,47HDB 48H,49H,50H,51H,52H,53H,54H,55HDB 56H,57H,58H,59H,60H,61H,62H,63HDB 64H,65H,66H,67H,68H,69H,70H,71HDB 72H,73H,74H,75H,76H,77H,78H,79HDB 80H,81H,82H,83H,84H,85H,86H,87HDB 88H,89H,90H,91H,92H,93H,94H,95HDB 96H,97H,98H,99H;-DS1820 初始化程序 INIT_1820:SETB DQNOPCLR DQMOV R0,#

60、80HTSR1:DJNZ R0,TSR1 ; 延时SETB DQMOV R0,#25H ;96US-25HTSR2:DJNZ R0,TSR2JNB DQ,TSR3LJMP TSR4 ; 延时TSR3:SETB FLAG1 ; 置标志位,表示 DS1820 存在LJMP TSR5TSR4:CLR FLAG1 ; 清标志位,表示 DS1820 不存在LJMP TSR7TSR5:MOV R0,#06BH ;200USTSR6:DJNZ R0,TSR6 ; 延时TSR7:SETB DQRET;-重新写 DS1820 暂存存储器设定值RE_CONFIG:JB FLAG1,RE_CONFIG1 ; 若 D

61、S1820 存在,转 RE_CONFIG1RETRE_CONFIG1:MOV A,#0CCH ; 发 SKIP ROM 命令LCALL WRITE_1820MOV A,#4EH ; 发写暂存存储器命令LCALL WRITE_1820MOV A,#00H ; TH(报警上限)中写入00HLCALL WRITE_1820MOV A,#00H ; TL(报警下限)中写入 00HLCALL WRITE_1820MOV A,#7FH ; 选择 12 位温度分辨率LCALL WRITE_1820RET;-延时子程序DELAY:MOV R7,#00HMIN:DJNZ R7,YS500RETYS500:LCA

62、LL YS500USLJMP MINYS500US:MOV R6,#00HDJNZ R6,$RETDELAY1:MOV R7,#20HDJNZ R7,$RET附附录录 2 程序清程序清单单ORG 0000H SJMP START ORG 0030HSTART: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

63、,OVER LCALL DELAY JB p1.2,OVER ACALL DELAY JNB p1.2,$ SETB p2.4 MOV A,70H CJNE A,#0,YT6 MOV 65H,#0YT6:MOV A,72H CJNE A,#0,OVER MOV 66H,#0 OVER:DJNZ r4,NT2LJMP NTAJC1: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 VI

64、EWLCALL DELAYACALL SCANKEYSMOV 40H,36HMOV 36H,43H LCALL BCD2 LCALL VIEW LCALL DELAYMOV 36H,43H MOV R2,#0 ACALL SCANKEYSMOV 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 RETSCANKEYS:JB p1.1,W1 ;扫描按键 LCALL DELA

65、Y 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 DELAYMOV A,36HCJNE A,#0,YYSJMP PP YY:DEC 36H PP:CJNE R2,#0FEH,NEXT3LCALL BCD1SJMP NEXT4 NEXT3:LCAL

66、L BCD2 NEXT4:LCALL VIEWLCALL 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.1NOPCLR p0.1JB p0.0,RIGHT1JMP CXFS RIGHT1: JB p0.0,$LCALL READMOV 44h,38hMOV 45h,39hMOV r7,#2LC: LCALL DELAYDJNZ r7,LCLCALL QDCF CXFS1:LCALL QDXLMOV A,#05HLCALL MEASUREJNB p0.0,RIGHT2 LJMP CXFS1 RIGHT2:SETB p0.1 NOPCLR p0.1 JB p0.0,RIGHT3 LJMP CXFS1 RIGHT3:JB p0.0,$ LCALL READ ACALL caLCulateMOV 36H,30HACAL

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!