GSM的单片机短消息收发系统设计.doc_第1页
GSM的单片机短消息收发系统设计.doc_第2页
GSM的单片机短消息收发系统设计.doc_第3页
GSM的单片机短消息收发系统设计.doc_第4页
GSM的单片机短消息收发系统设计.doc_第5页
免费预览已结束,剩余37页可下载查看

下载本文档

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

文档简介

河南科技大学毕业设计(论文)基于GSM的单片机短消息收发系统设计摘 要本文是提出了一种基于GSM短消息的远程监控系统,在给出系统的总体设计的基础上,设计了系统的硬件软件,并对其应用领域作了一些探讨和研究。利用GSM网络作为无线智能监控系统的信息传输平台是一种很有效的方法,其原理相对简单,安全保密性高,网络覆盖面广,因此与传统的监控系统相比有着其相对独特的优势。本文利用单片机与西门子的TC35i组成一个短信收发系统,对如何实现远程监控进行了论述。数据的传输方式最主要是短消息方式,短消息的发送和接收是通过 AT 指令来实现的,本文讲述了常见的 AT 指令及其使用方法。在系统的硬件设计中,对主要硬件 TC35i 和单片机STC12C5A60S2及其外围电路进行了比较详细的讲述。系统硬件包括 GSM 通信单元 TC35i,经过信息处理单元STC12C5A60S2 单片机、数据采集系统等。系统的软件设计主要包括单片机初始化、模块初始化、短信提取、短信指令识别,执行指令等。论文以 GSM 短消息的远程控制系统为基础,设计出了一套基于 GSM 短消息的远程监控系统,并给出了此系统应用领域的一些探讨和研究。关 键 词:GSM 单片机 远程监控 工业控制THE DESIGN OF SHORT MESSAGE SENDING & RECEIVING SYSTEM BASED ON GSM & MCUABSTRACTThis article is presented short message remote monitoring system based on GSM, given the overall design of the system. hardware and software of the system, and explore and study its applications. Using the GSM network as the information transmission platform of the wireless intelligent monitoring system is a very effective way. The principle is relatively simple; high security and confidentiality, network coverage, thus the GSM network has its relatively unique advantages compared with the conventional control system. In this paper, using MCU and Siemens TC35i to constitute a messaging system, how to implement remote monitoring are discussed. The most important way of data transmission is short message sending, short message sending and receiving is achieved through AT commands. the common AT commands and their usage are described.The hardware design of the system mainly includes hardware chip STC12C5A60S2 , TC35i and its peripheral circuits ,which are described in more detail. System hardware includes GSM communication unit TC35i, information processing unit STC12C5A60S2 MCU and data acquisition systems. System software design includes single chip initialization, module initialization, SMS extraction, SMS commands recognition and execution directives. In this article, a remote monitoring system based on GSM SMS remote control was designed on base of the system of GSM short message remote control, and the explore and study of the system application areas are given. KEY WORDS:GSM, MCU, LONG-DISTANCE INSPECT, INDUSTRY CONTROL 目 录绪论1第1章 系统方案设计31.1系统总体方案设计31.2 系统硬件的选择3第2章 系统硬件设计52.1单片机STC12C5A60S252.1.1 单片机STC12C5A60S2功能简介52.1.2 单片机STC12C5A60S2引脚图62.2西门子TC35i通信模块72.2.1 TC35I模块介绍72.2.2 TC35I模块 AT指令92.3.1 单片机最小系统电路设计162.3.2 单片机串口电路设计16第3章 系统软件设计183.1系统软件总体设计183.2系统软件详细设计193.2.1 初始化系统设计193.2.2 串口接收程序设计193.2.3手机号码以及短信内容提取程序设计203.2.4 用户命令解析程序设计213.2.5 短信发送程序设计22第4章 系统调试234.1系统调试方法的选择234.2LabVIEW调试程序234.3系统调试内容24结 论25参考文献26致谢27附录28- III - - 39 -绪论目前的远程控制主要是以下几种方式:短距离长线控制;通过市话网;通过 Internet 网络;通过自组网络(CDPD 网)14;通过数传电台方式。短距离长线控制与通过自组网络(CDPD网)首先要自行建设通信网络,建网初期投资比较巨大,运营期间自主维护耗费人力物力也较大,信号质量得到了保证,效果好,相对运营费用高;通过市话网和 Internet 方式以现有的网络为主要依托,无需自行组建通信网络,但是由于市话网和 Internet 难以达到工业现场覆盖面,接入网络受到限制,局限性相对大,网络运行效果取决于网络运营商,线路安全不能得到保证,其通信效果较好,信号量相对大,运营费用相对低廉;数传电台出现比较早,应用很广泛,是一种比较不错的无线数传方式,但是建网初期投资相对巨大,数传电台的传输范围有限,而且更加容易受到空间无线信号的干扰,信号不能得到保障,但数传电台信号传输实时性好,运行费用低廉。远程控制系统应用非常广泛,遍及了国民经济的很多领域,而目前这些控制系统无论从成本、可靠性、稳定性、使用方便性、还是维护的难易程度等很多方面都不能最大限度的让人满意。因此本文把 GSM网络引入到远程控制系统中,提出了基于 GSM 短消息的远程控制报警系统。GSM 网络是现在基于时分多址技术的移动通信体制中最成熟完善的、覆盖面最广的、功能最强的、用户最多的移动通信网络,GSM 短消息业务不再需要建立拨号连接,只需要把待发的消息加上目的地址发送到短消息中心,再把短消息中心转发成最终目标。运用 GSM 短消息实现远程控制可靠性高、信号传播距离比较远、覆盖面积广,而且可以节省建网初期的巨额投资,运营期间不需维护网络,运行费用低。由于工作年限、环境要求等因素,目前,GSM模块依然在广泛的工业应用领域使用,在各行各业都能看到GSM模块应用的产品。例如,在车载监控领域,使用GSM模块将车辆行驶的GPS数据传输回车辆管理中心;在电力、水务系统,通过GSM模块实现了远程智能抄表,可以实时监控用户的用电和用水量;在测绘行业,为很多偏僻的测绘点安装了GSM模块实现了实时的监控,不必再人工收集数据;在家庭,可以安装无线报警系统,一旦发生火情或盗窃行为,可以立即通知户主和报警;在国外,很多老人小孩带了个人跟踪器,防止老人和小孩走失或意外发生,里面也是集成了GSM模块。可以说,随着GSM的网络建设的完善,GSM模块的应用范围也越来越广。本文就GSM的工业应用前景,在GSM模块的基础上,对采用单片机搭建的GSM的远程监控系统中采集节点部分进行详细设计和论述,旨在对GSM的工业应用进行初步探索,这无疑对于GSM在教学中和工程上的应用有着特别重要的意义。现在工农业的生产中,远程监控有着广泛的应用。进行远程监控有以下几种方式:使用无线电收发设备;利用有线电话网络,使用电话线路,以双音多频(CDTMF)信号为载体传送简单命令和数据;利用计算机,借助Internet传送数据及命令;借助PLMN(公用陆地移动网)的SMS(短信)服务平台或GPRS(通用分组无线业务)15的数据业务功能传送数据或命令。 然而无论哪一种传输技术,对于用户来讲,最基本的要求即是要方便、快捷、安全、可靠。有线传输方式,可以通过架设专线、利用公共数据网等途经来实现,但是在很多场合下,有线方式受到了架线环境、传输距离等条件限制。无线方式实现方式也很多,比如可以通过自建无线发射接收系统,如短波、超短波电台、架设微波线路等,但是这种方式容易受到地形地貌的影响以及频率资源的限制,架设成本高、系统的架设和维护工作繁重,在业务量小、用户数量大、位置分散等应用场合中也受到很大限制。目前主流的基于GSM远程监控系统之一,盈科互动出产的CWT5011 GSM RTU 短信报警控制器,内嵌实时操作系统,集远程I/O控制和数据传输以及报警功能为一体,具有8路开关量信号输入,8路开关信号输出(可驱动继电器)4路AD采样接口和1个用来远程数据通讯的RS-232接口,输入信号异常报警内容可由用户自定义。可监视测量以及控制安装在远程现场的传感器和设备。具有Speak及MIC接口实现喊话及监听功能,内置温度传感器(可选),内置后备电源(可选),内置报警蜂鸣器(可选),支持电话振铃控制输出功能 ,支持通过短信进行远程控制,支持每日定时短信报告设备状态,支持10个报警号码,支持电话振铃报警 ,支持报警输出联动功能,支持定时输出及定时布撤防功能,持串口配置,配有专用的配置软件,双重看门狗技术,保证设备免维护稳定运行,可支持通过短信息对所有的参数进行远程配置。第1章 系统方案设计1.1系统总体方案设计图2-1体统总体设计方案图系统由温度光照传感器、信号调理电路、开关、指示灯、STC12C5A60S2单片机、西门子TC35i通信模块以及用户手机组成。单片机对光照和温度等的模拟量和开关量进行采集,经过处理,根据用户手机通过GSM公网发送的短消息中包含的命令,把用户需要的信息以短消息的模式发送给用户,从而实现远程监控。本系统适合在远距离场所或者危险场所的状态监控。1.2 系统硬件的选择传感器及信号调理部分,由于温度变化及光照的强度变化缓慢,本系统设计时采用电位器进行调试;开关量输入采用开关输入;开关量输出采用发光二极管显示;控制器选用STC12C5A60S2,该单片机具有8路10位AD,双串口,该单片机有1024字节的扩展RAM,因此可满足收发短信以及解析字符串所需要的内存空间,同时,该单片机采用了不分频执行机器周期,同晶振频率下,运行速度是普通51单片机的12倍;GSM模块选用西门子的TC35i模块,该模块可以自动适应串口波特率,可不用进行初始化设置,就可进行在常用波特率下的串口通信3。第2章 系统硬件设计2.1单片机STC12C5A60S22.1.1 单片机STC12C5A60S2功能简介1.增强型8051CPU,单时钟/机器周期,指令代码完全兼容传统8051 2.工作电压:STC12C5A60S2系列工作电压:5.5V - 3.5V(5V单片机) 3.工作频率范围:035MHz,相当于普通8051的0420MHz 4.用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K 5.片上集成1280字节RAM 6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强上拉,仅为输入/高阻,开漏上拉,仅为输入/高阻,开漏上拉,仅为输入/高阻,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA 7.ISP (在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1 )直接下载用户程序。 8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM) 9.看门狗10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地) 11.外部掉电检测电路:在P4.6口有一个低压门槛比较器 5V单片机为1.33V,误差为5%,3.3V单片机为1.31V,误差为3% 12.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为5%到10%以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟常温下内部R/C振荡器频率为:5.0V单片机为: 11MHz 17MHz单片机为: 8MHz12MHz。精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准 。13.共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器 14.3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟 15.外部中断I/O 口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块。16.PWM (2路)/ PCA (可编程计数器阵列,2路)也可用来当2路D/A使用,也可用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持) 17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S18.通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件 19.STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2 (可通过寄存器设置到P4.2),TxD2/P1.3 (可通过寄存器设置到P4.3) 20.工作温度范围:-40 +85(工业级) /0 75(商业级) 21.封装: PDIP-402.1.2 单片机STC12C5A60S2引脚图图3-1STC12C5A60S2引脚2.2西门子TC35i通信模块 表3-1 TC35i模块特性2.2.1 TC35I模块介绍特 性说 明信息传送内容语音和数据电源单电源 3.3V 4.8V频段双频GSM900MHz 和DCS1800 MHz(Phase 2+)发射功率2W (GSM900MHz Class 4)1W (DCS1800MHz Class 1)SIM 卡连接方式外接天线由天线连接器连接外部天线温度范围工作温度:-20C to +55C储存温度:-30C to +85C工作电流损耗通话模式: 300mA (典型值)空闲模式: 3.0mA (最大值)省电模式: 50A (最大值)短信息MT, MO, CB 和PDU模式外型尺寸54.5 x 36 x 3.6mm通讯接口RS232SIM卡操作电压3V/1.8V电话薄功能存储于SIM卡中模块复位AT指令或掉电复位串口通讯波特率300bps至115kbps自动波特率范围4.8kbps至115kbps TC35i模块的特性如表1所示。TC35i模块有40个引脚,通过一个ZIF(Zero Insertion Force,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。 TC35i的第15引脚是正电源输入脚通常推荐值4.2V,第610引脚是电源地。11、12为充电引脚,可以外接锂电池,13为对外输出电压(共外电路使用),14为ACCU-TEMP接负温度系数的热敏电阻,用于锂电池充电保护控制。15脚是启动脚IGT,系统加电后为使TC35i进入工作状态,必须给IGT加一个大于100ms的低脉冲,电平下降持续时间不可超过1ms。1623为数据输入/输出,分别为DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0 和DCD0。tc35i模块的数据输入/输出接口实际上是一个串行异步收发器,符合ITU-T RS232接口标准。它有固定的参数:8位数据位和1位停止位,无校验位,波特率在300bps115kbps之间可选,默认9600。硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF,CMOS电平,支持标准的AT命令集。其中18脚RXD、19脚TXD为TTL的串口通讯脚,需要和单片机或者PC通讯。TC35i使用外接式SIM卡, 2429为SIM卡引脚,SIM卡同TC35i是这样连接的:SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35i的同名端直接相连,ZIF连接座的CCIN引脚用来检测SIM类别形式含义测试命令AT+C*=?执行该命令将返回该命令所支持的参数及参数范围读命令AT+C*?执行该命令将返回该命令当前的参数值写命令AT+C*=执行该命令将设置该命令的参数值表3-2 AT命令语法表卡是否插好,如果连接正确,则CCIN引脚输出高电平,否则为低电平。TC35i的第32脚SYNC引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示TC35i的工作状态,可用AT命令AT+SYNC进行切换,本模块使用的是后一种。当LED熄灭时,表明TC35i处于关闭或睡眠状态;当LED为600 ms亮/600ms熄时,表明SIM卡没有插入或TC35i正在进行网络登录;当LED为75 ms亮/3s熄时,表明TC35i已登录进网络,处于待机状态。30、31、32脚为控制脚,其中30为RTC backup,31为Power down,32 为SYNC。3538为语音接口,35、36接扬声器放音。37、38可以直接接驻极体话筒来采集声音(37是话筒正端,39是话筒负端)单片机通过两根I/O口控制TC35的开关机、复位等,通过串口与TC35进行数据通信。本项目通信速率为4800bps,采用8位异步通讯方式,1位起始位,8位数据位,1位停止位。TC35模块输入输出的TTL正电平逻辑不是+5V,而是+2.9V,因此必要时加端口保护。其TC35i引脚分配与接口电路的电气特性如标所示。2电源模块的供电电压如果低于3.3V会自动关机。同时模块在发射时,电流峰值可高达2A。同时在此电流峰值时,电源电压(送入模块的电压)下降值不能超过0.4V。所以该模块对电源的要求较高,理想工作电压是4.2V。2.2.2 TC35I模块 AT指令1AT命令语法介绍所有的AT命令都以“AT”,根据命令形式可以将AT命令分下表所示。2单片机与TC35I通行协议注意事项(1)通信过程中,单片机与TC35I必须完成握手后,才进行数据交换,否则通信失败。(2)单片机每发送一条指令,需加上回车符作为指令的结束符,否则TC35I不识别。(3)TC35I接受一条完整的AT指令后,TC35I并不立即执行这条指令,而是首先把刚才接到的AT指令全部反发送出来(含0DH),其次发送一个回车符和换行符,然后执行该条指令。3编码方式目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。一般的PDU编码由A B C D E F G H I J K L M十三项组成。 A:短信息中心地址长度,2位十六进制数(1字节)。B:短信息中心号码类型,2位十六进制数。C:短信息中心号码,B+C的长度将由A中的数据决定。D:文件头字节,2位十六进制数。E:信息类型,2位十六进制数。F:被叫号码长度,2位十六进制数。G:被叫号码类型,2位十六进制数,取值同B。H:被叫号码,长度由F中的数据决定。I:协议标识,2位十六进制数。J:数据编码方案,2位十六进制数。K:有效期,2位十六进制数。L:用户数据长度,2位十六进制数。M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。PDU编码协议简单说明例1 发送:SMSC号码是+8613800736500,对方号码消息内容是“你好!”。从手机发出的PDU串可以是08 91 68 31 08 70 63 05 F0 11 00 0B 91 31 79 24 45 61 F7 00 08 00 06 4F 60 59 7D 00 21对照规范,具体分析:分段含义说明08SMSC地址信息的长度共8个八位字节(包括91)91SMSC地址格式(TON/NPI)用国际格式号码(在前面加+)68 31 08 70 63 05 F0SMSC地址8613800736500,补F凑成偶数个,11基本参数(TP-MTI/VFP)发送,TP-VP用相对格式00消息基准值(TP-MR)00B目标地址数字个数共13个十进制数(不包括91和F)91目标地址格式(TON/NPI)用国际格式号码(在前面加+)31 79 24 45 61 F7目标地址(TP-DA补F凑成偶数个,补偶方法:在奇数个数组后面加个F,然后把所得偶数相邻位置的两个数交换位置。00协议标识(TP-PID)是普通GSM类型,点到点方式08用户信息编码方式(TP-DCS) UCS2编码(00则为7-bit编码)00有效期(TP-VP)5分钟06用户信息长度(TP-UDL)实际长度6个字节(必须与实际的数据长度一致,否则发送失败,并以十六进制表示)4F 60 59 7D 00 21用户信息(TP-UD)“你好!” 4.常见指令介绍(1)AT+CMGF(选择短信息格式)消息格式 命令:AT+CMGF= 可能响应: OK ERROR 读命令:AT+CMGF? 可能响应: +CMGF: OK ERROR 测试命令:AT+CMGF=? 可能响应: +CMGF: (list of supported s) OK ERROR 该命令告诉TA输入输出的消息格式。参数显示消息发送、列表、读和写命令以及接收到消息时的主动汇报使用的格式。模式可以是PDU(全部的TP数据单位)和文本模式(消息的标题和主体分别给出的参数)。 描述 0 PDU模式 1 文本模式 (提示:开机默认模式为0)(2)AT+CSCA(短消息中心地址)服务中心地址 命令适用于PDU和文本模式。 命令:AT+CSCA=, 可能响应: OK ERROR 读命令:AT+CSCA? 可能响应: +CSCA: , OK ERROR 测试命令:AT+CSCA=? 可能响应: OK ERROR 更新SMSC地址。在文本模式中,该设置被使用通过发送(+CMGS)和写(+CMGW)命令。PDU模式该设置被使用同样命令,但仅当SMSC地址长度编码到参数等于0。注意一个“+”在数字前在优先于参数,因此一个数字开始于“+”将总是处理做国际的数字。 描述 字符串类型,字符格式的GSM04.11(3G TS 24.011)RP SC 地址地址值;BCD数字(或者GSM默认字母表字符)被修改为当前选择的TE字符设置。 描述 整数类型,整数格式的GSM04.11(3G TS 24.011)RP SC 地址类型8位字节值。 129 ISDN/电话编号方式设计,国家的/世界的未知。 145 ISDN/电话编号方式设计,世界的号码。 161 ISDN/电话编号方式设计,国家的号码。 128255 其他值查阅GSM 04.08章节10.5.4.7 (3)AT+CNMI(显示信收到的短信息) 在介绍此指令之前,先简要说明一下短消息类(class)的概念:根据指定存储的位置,短消息分为class03四个类,也可以不指定类别(no class),由移动设备按默认设置进行处理,存储到内存或者SIM卡中。在TPDU的TPDCS字节中,当bit7bit4为00x1、1111时,bit1bit0指示消息所属类。 00class 0,可直接显示。 01class 1,默认储存在ME内存中。 02class 2,储存在SIM卡中。 03class 3,可直接传输到终端设备TE。 默认的短消息存在SIM卡中,无类别的短消息通常也存在SIM卡中。 GSM Modem一般都支持一条“ATCNMI”指令,用于设定当有某类短消息到达时,如何处理它只储存在制定的内存(易失的/非易失的)中;先储存后通知TE;直接转发到TE,等等。 “ATCNMI”指令语法为: ATCNMImode,mt,bm,ds,bfr mode控制通知TE的方式。 0先将通知缓存起来,再按照mt的值进行发送。 1在数据线空闲的情况下,通知TE,否则,不通知TE。 2数据线空闲时,直接通知TE;否则先将通知缓存起来,待数据线空闲时再行发送。 3直接通知TE。在数据线被占用的情况下,通知TE的消息将混合在数据中一起传输。 mt设置短消息存储和通知TE的内容。 0接受的短消息存储到默认的内存位置(包括class 3),不通知TE。 1接收的短消息储存到默认的内存位置,并且向TE发出通知(包括class 3)。通知的形式为: CMTI:”SM”,index 2对于class 2短消息,储存到SIM卡,并且向TE发出通知;对于其他class,直接将短消息转发到TE: CMT:alpha,lengthCRLFpdu(PDU模式) 或者CMT:oa,alpha,scts,tooa,fo,pid,dcs,sca,tosca,lengthCRLFdata(text模式) 3对于class 3短消息,直接转发到TE,同mt2;对于其他class,同mt1。 bm、ds、bfr的含义,请参考相关标准文档。一般不需要去关心它们,设置为0即可。 一般地,GSM模块在处理短消息时,采用一问一答的信息交互方式,这比较符合AT指令集的精神。但在实际应用中,发现这种方法存在一定的缺点:模块接收到短消息并存储起来,用户再用查询方式,发送指令“ATCMGL”或“ATCMGR”,使短消息传送到TE,这中间会有一定的延时。另外,由于SIM卡容量有限,要保证短消息及时准备地接收,还要经常删除SIM卡中的短消息,这样多次的读写操作,势必会影响SIM卡的寿命。因此,为了提高系统的响应速度和处理效率,通常设置为短消息不经过SIM卡,直接发送至TE。 设置方法如下:ATCNMI2(或1),2,0,0,0 但是这样还有一个问题,class 2的短信,还是会存入SIM卡中,并发送CMTI:”SM”,index。那么,接收程序需要处理短信通知和内容两种情况,增加了复杂性。如果发送方也由程序控制,可以只发no class和class 1的短信。这里选用no class的配置。PDU模式下,令TPDCS的bit7bit4为00x0,即可设置发送的短信为no class。通常用手机发送的短信,也是无类别的。 (4)AT+CMGS(发送短消息)该指令的完整语法如下: 如果此时TC35T处于PDU模式(即“AT+CMGF=0”时) AT+CMGS=本短消息发送字符总长度 如果短消息发送成功,则返回“OK”,并显示信息号: +CMGS: , 如果短消息发送失败,则返回如下信息号: +CMS ERROR: 如果此时TC35T处于Text Mode(即“AT+CMGF=1”时) AT+CMGS=目的手机号码 如果短消息发送成功,则返回“OK”,并显示信息号: +CMGS: , 如果短消息发送失败,则返回如下信息号: +CMS ERROR: (5)AT+ CSMP(设置短消息文本模式参数,此指令只用于文本模式)命令:AT+CSMP=, 可能响应:+CME ERROR: OK ERROR 读命令:AT+CSMP? 可能响应: +CSMP: , +CME ERROR: 测试命令:AT+CSMP=? 可能响应: +CSMP: (List of supported s), (list of supported s), (list of supported s), (list of supported s) +CME ERROR: OK ERROR 文本格式消息模式被选择时,当SM发送到网络或放置到存储器时用于选择额外的参数值。从当SM被SMSC接收后,它可能设置正确性开始周期( 范围在0 255)。0255 依靠该命令或返回编码: GSM 03.40 SMS-DELIVER, SMS-SUBMIT(默认值17),SMS-STATUS-REPORT, or SMS-COMMAND(默认值2)的第一个八位字节为整数格式。 0-143 (TP-VP+1) x 5 minutes(也就是5分钟间隔,最多到12小时) 144-167 12小时+ (TP_VP-143) x 30 minutes) 168-196 (TP-VP-166) x 1 day 197-255 (TP-VP-192) x 1 week 0-255 协议标识,整数格式。默认为0,参照07.05 章节 9.2.3.9。 0-255 数据译码方案。看GSM 03.38. UCS2和压缩文本不支持。2.3单片机与TC35i通信系统的设计 2.3.1 单片机最小系统电路设计图3-2单片机最小系统说明:晶振频率采用11.0592M,用于计算常用波特率2.3.2 单片机串口电路设计图3-2串口通信电平转换电路说明:串口电平与单片机电平不兼容,采用MAX232专用芯片进行串口电平转换。3,4第3章 系统软件设计3.1系统软件总体设计 图4-1系统总体流程图单片机的串口接收TC35i的信息,是通过中断检测的,一但产生了串口中断,单片机就进入串口中断服务程序,接收所有TC35i发来的一组信息,一组信息是在一次进入中断程序接收完成的,单片机接收到TC35i的结束标志才从串口中断程序返回。单片机的模拟量采集也是采用中断方式,当AD转换器转换完成,中断程序将结果存入定义好的变量中,再将AD中断位清零,然后返回中断。其中,串口接收程序若被其他程序打断,有可能发生未知错误,因此,这里设置串口中断优先级为高,AD转换器优先级为低。系统总体流程图如图4.1所示。3.2系统软件详细设计3.2.1 初始化系统设计SCON=0x50;/串口方式1,允许接收PCON=0x00;/波特率加倍AUXR=0xd1;/定时器0、1高速计时(不分频);允许独立波特率运行;/串口二不加倍;独立波特率不分频;采用独立波特率发生器,释放定时器1BRT=0xfd;/独立波特率发生器重装计数值;波特率115200(晶振频率11.0592M)P1ASF=0x01;/启用P1.0作为ADC转换器输入端PS=1;/串口中断优先级为高PADC=0;/ADC转换器中断优先级为低EADC=1;/允许ADC转换器中断ES=1; 允许串口中断EA=1; 开总中断3.2.2 串口接收程序设计经过对西门子TC35i的通信内容呢进行分析,得出了一个结论,该模块通信结束时总会发送一个“OK”以及换行和回车,短消息提醒时,虽然没有“OK”字符,但是前六个字符分别是换行、回车和“+CMTI”,结束时也是换行和回车;因此,程序采用检测这两种情况来判断接收是否完成。流程如图4.2:图4-2串口接收流程图详细程序见附录。3.2.3手机号码以及短信内容提取程序设计收到短信时,手机号码前会跟着“+86”,因此,检索字符串“+86”出现的位置,其后11位数字就是用户手机号码。短信前面三个字符分别是“”、回车和换行,第一次出现的位置就是短信内容开始的位置;另外,接收区最后六个字符分别是两个换行,两个回车和一个“OK”,因此,提取短信内容时应将后面六个无用的字符舍弃。提取程序流程简单,流程图略。3.2.4 用户命令解析程序设计本设计为用户设置了两种命令,设置命令和获取命令。用户短消息内容前三个字母作为命令字符串,”set”是设置命令字符串,”get”是获取命令字符串。若为”set”字符串,则在短消息内容里检测预定的设置命令格式的字符串,图4-3命令解析流程图例如,若出现”L1=1”字符串,说明用户想要打开标号为1的灯,若出现”L2=0”字符串,说明用户想要关闭标号为2的灯,等等。同理,若命令字符串为”get”,则在短消息内容里检测是否出现预定的字符串,例如,若出现”L1”、”S1”,说明用户想要得到标号为1的灯和标号为1的开关的状态,等等。流程如图4.3所示。3.2.5 短信发送程序设计西门子TC35i发短消息的命令为:AT+CMGS=手机号码“短信内容”其中,向西门子TC35i发送AT+CMGS=手机号码之后,只有等它做出回应才能继续发送“短信内容”和字符“”;回应的字符串为“空格、空格”。流程如图4.4所示:图4-4短信发送流程图第4章 系统调试4.1系统调试方法的选择由于单片机和TC35i通信采用了串口通信,在设计和调试时,只有知道它们之间传输了什么,才能知道运行时出现的问题,以及运行的结果和问题。因此,采用微机将串口信号拦截,然后原封不动的传输过去,同时在屏幕上显示收到的字符串;本功能的实现,采用虚拟仪器LabVIEW可以很容易实现。此时,微机充当了导线的作用,但是它可以将流经的数据显示出来,方便调试。调试需要微机有两个串口,所以采用两个USB转串口线,分别与单片机和TC35i相连接。4.2LabVIEW调试程序1.程序后面板图4-5LabVIEW程序后面板2.程序前面板图4-5LabVIEW程序前面板4.3系统调试内容用户发送特定短信至GSM模块的SIM卡,查看单片机与GSM之间的通信内容是否正确;若通信内容正确,查看发光二极管的状态变化,以及用户收到的短信内容是否符合要求。详细内容如下:“SET”字符串是设置命令标志, “L1=0”、“L1=1”、“L2=0”、“L2=1”、“L3=0”、“L3=1”、“L4=0”、“L4=1”这些字符串,分别是设置四个二极管的亮与灭。例如用户发送“SET L1=0 L2=1 L3=0 L4=1”至GSM模块的SIM卡,灯1、3熄灭,灯2、4点亮。“GET” 字符串是获取命令标志,“S1”、“S2”、“S3”、“S4”、“L1”、“L2” 、“L3”、“L4”、“TEMPER” 分别是四路开关、发光二极管以及温度传感器的标志,若“GET”字符串后跟有以上标志的字符,表示用户想获取的内容。例如用户发送“GET S1 L1 TEMPER”,则用户会收到“S1=0 L1=1 TEMPER=59.00 OK”。结 论本次毕业设计在西门子TC35i通信模块和STC12C5A60S2单片机的基础上设计了一个能在远程监控领域得到应用的短信收发系统。本设计包括系统硬件设计和软件设计。其中,硬件设计包括:单片机最小系统的设计,串口通信硬件电路设计;软件设计包括:主程序设计,串口收发程序设计,提取短信内容程序设计,提取手机号码程序设计,提取短信指令程序设计,发送短信程序设计等。软件设计中,大量用到数组和指针,做了大量的字符串处理,STC12C5A60S2单片机具有集成的外部RAM1024字节,因此能够胜任大量的字符串处理;加上该单片机有集成的AD转换器,转换速度可达250K以上,无需外部AD,系统硬件简单,廉价。 该系统能够实现用户对远程控制现场的开关量以及模拟量的获取和对开关量的控制,无距离限制,只要有GSM公网信号,就可以实现远程监控。当然,这次毕业设计虽然满足了设计要求,但是用来做工业监控还是远远不够。例如,监控的安全性上,发送的命令加密,以及用户身份的识别,密码的设置等问题都需要考虑。加上GSM模块硬件上没有引出复位引脚,不能支持单片机控制其复位,因此,模块出错后必须手动复位。这些问题在今后的设计与研究中是必须要考虑的。参考文献1 童诗白,华成英模拟电子技术基础第四版M高等教育出版社,2001.1 2 蔡美琴,等MSC51系列单片机系统及其运用(第二版)M 北京:高等教育出版社,2004.63 宋受俊基于单片机的电机运动控制系统设计J机电产品开发与创新 4 胡汉才单片机原理及接口技术M北京:清华大学出版社,1999 5 潘永雄新编单片机原理与应用M西安:西安电子科技大学出版社,2003 6 楼然苗,李光飞51系列单片机设计实例M北京航空航天大学出版社,20037 李学礼基于的单片机实例教程北京:电子工业出版社,2008 8 李 华单片机通用接口技术M北京:北京航空航天大学出版社,1999 9 徐爱钧单片机原理实用教程基于Proteus虚拟仿真M北京:电子 工业出版社,200910 胡汉才,单片机原理及其接口技术M清华大学出版社,199611 赵亮,侯国锐单片机C语言编程与实例M人民邮电出版社,200312 张毅刚单片机原理及应用M北京:高等教育出版社,200313 何立民单片机与嵌入式系统应用北京航空航天出版社,200314 吕捷GPRS技术北京:北京邮电大学出版社,2001.815 蒋勇基于GPRS无限网络的远程抄表、监控解决方案htm2003致谢本论文在黄晓东老师的悉心指导下完成的。导师渊博的专业知识、严谨的治学态度,精益求精的工作作风、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学习目标、掌握了基本的研究方法,还使本人明白了许多为人处事的道理。本次论文从选题到完成,每一步都是在导师的悉心指导下完成的。在写论文的过程中,遇到了很多的问题,在老师的耐心指导下,问题都得

温馨提示

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

评论

0/150

提交评论