34单片机控制短信收发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

重庆文理学院毕业论文设计题目:基于单片机的控制实现短信收发专业:电子信息科学与技术班级:07级电信班姓名:王先山学号:200620084045浙江师范大学数理信息工程学院课程设计——单片机控制实现短信收发-1-目录摘要…………………………………………………………………1第1节引言……………………………………………………………1第2节工作原理及其软件设计…………………………………………22.1串口控制SMS的工作原理…………………………………22.2软件实现………………………………………………………32.3短信数据的处理—ExecData函数……………………………6第3节系统硬件介绍…………………………………………………63.1系统核心部分---闪电存储型器件AT89C51………………63.2GSM模块MZ28………………………………………………103.3单片机MSC1210……………………………………………10第4节SMS的体系结构………………………………………………13第5节SMS应用新领域…………………………………………………155.1SMS在银行中间业务领域中的通知功能……………………155.2SMS在保险公司客户服务体系中的定时提醒功能…………155.3SMS在证券交易中的成交回复与价格预警功………………15第6节结语……………………………………………………………16参考文献………………………………………………………………17附录一程序……………………………………………………………18附录二…………………………………………………………………21浙江师范大学数理信息工程学院课程设计——单片机控制实现短信收发1单片机控制实现短信收发信息科学与工程学院计算机专升本班黄丹丹【摘要】借助系统模型,阐明GSM模块收发短信的基本概念以及串口控制SMS的基本原理。详细介绍用单片机AT89C51控制GSM模块工作的硬件和软件实现过程,介绍了单片机AT89C51和MSC1210内部结构和性能,并对AT89C51和MSC1210的性能、用途进行了比较,特别提出了MSC1210在高精度温度采集中所体现出别的芯片所不及的优势。对怎样用单片机控制GSM模块收发短信进行探讨,也对程序设计的主体思想作了细致的分析。大致介绍了SMS的体系结构以及在当今社会中SMS应用的新领域.本系统技术较先进,科技含量高运行速度快,精度高。【关键词】单片机短信收发GSMSMS第1节引言中国联通数字移动电话(GSM)网是向社会公众提供通信服务的公用通信网,与中国电信网同为国家通信网的有机组成部分。两网互联互通,自动接续,共享国家通信资源。目前,中国联通数字移动电话业务由GSM网130、131业务和CDMA网133业务组成。GSM是目前基于时分多址技术的移动通信体制中,比较成熟完善,且应用最广泛的一种系统。目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。基于GSM的短信信息服务,是一种在移动网络上传送简短信息的无线应用,是一种信息在移动网络上存储和转寄的过程。由于公众GSM网络在全球范围内实现了联网和漫游,上述系统不需再组建专用通信网络,所以具有实时传输数据功能的短信应用将得到迅速普及。本软件的设计基于GSM网络的温度数据采集与无线传输系统正是借助该网络平台,利用短信息业务实现数据的自动双向传递。系统模型图如图1-1所示。本系统由数据采集部分、数据接收和发送部分、终端处理部分三个模块组成。数据采集模块将采集到的温度数据存入存储器中。数据收发模块采用双单片机共用EERPOM的方式,单片机2控制数据从存储器转存入EEPROM中;单片机1负责将数据从EEPROM中读出,并经GSM模块2借助GSM网络将数据发送出去。单片机1不仅控制数据的发送,也控制数据的接收。在这里,EEPROM是温度数据临时存储和上传的中转站。终端处理模块负责将接收到的数据交给计算机处理,并将处理后的结果存放到数据库中,以供查询。当终端处理模块需要向GSM模块2发送控制命令时,GSM模块2接收过程正好与上述过程相反,从而实现数据的自动双向传递。浙江师范大学数理信息工程学院课程设计——单片机控制实现短信收发2图1-1系统模型系统中,三个模块相互独立,彼此又相互依赖,共同完成数据的传输。数据收发模块在系统中起着承上启下的作用,是系统的核心模块。该模块以双单片机为核心,以RS232通信接口,在物理层上实现与GSM模块的连接。由于篇幅的限制,本文主要介绍单片机控制这一模块工作的软件实现过程,旨在对怎样用单片机控制GSM模块收发短信息进行探讨。第2节工作原理及其软件设计2.1串口控制SMS的工作原理单片机与GSM模块一般采用串行异步通信接口,通信速度可设定,通常为19200bps。采用这种RSM232电缆方式进行连接时,数据传输的可靠性较好。RS232接口方式连接,通过串行接口集成电路和电平转换电路与GSM模块连接,电路比较简单,所涉及的芯片包括单片机89C51和电平转换芯片MAX232,是非常常见的接口电路。需要说明的是,该接口通过I2C总线扩展了一个EEPROM存储器芯片AT24C64,它的主要作用是存储数据,而且断电信息也不会丢失,这些特性正是存储数据所必须的。GSM的短信息业务SMS利用信令信道传输,这是GSM通信网所特有的。它不用拨号建立连接,把要发的信息加上目的数据发送到短信息服务中心,经短信服务中心完成存储后再发送给最终的信宿。所以当目的GSM终端没开机时信息不会丢失。每个短信的信息量限制为160字节。现在市场上大多数手机均支持GSM07.05规定的AT指令集。该指令集是ETSI(欧洲通信技术委员会)发布的,其中包含了对SMS的控制。利用GSM手机的串行接口,单片机向手机收发一系列的AT命令,就能达到控制GSM模块收发SMS的目的。必须注意的是,用单片机实现时,编程必须注意它发送指令与接收到的响应都是字符的ASCII码。用单片机控制GSM模块收发短信息所涉浙江师范大学数理信息工程学院课程设计——单片机控制实现短信收发3及以的AT指令如表2-1所列。表2-1AT指令AT指令功能描述AT+OFF关机并重新启动AT+CSDH=0在TEXT模式下在返回值中不显示详细的头信息ATE0关闭回显AT+CMGF=1选择短信格式为TEXT模式AT+CMGS发送短信息AT+CMGR读取短信息AT+CMGD=0删除全部短信息2.2软件实现2.2.1上位机模块和下位机模块半双工通信协议的实现2.2.1.1应答和重发上位机模块和下位模块的通信双方遵照半双工通信方式进行,即数据传送是双向的。但是,任何时刻只能由其中的一方发送数据,另一方接收数据,因为EEPROM的读出和写入不能同时进行。为了避免一方在发送信息帧时(这里的信息帧指的是下位机模块发送的数据帧和上位机模块发送的命令帧,下同),另一方也会发送数据,必须把信道变成半双工方式。尽管这样效率可能不如全双工方式,但通过此举牺牲效率可以换取模块工作性能的稳定。双方采取的顺序是:发→收到应答后→再发。按照整个系统的设计思路,上位机模块(即图1-1中的GSM模块1,下同)发送的帧包括命令帧、确认帧和非确认帧;下位机模块(即图1-1中的GSM模块2,下同)发送的帧包括数据帧、确认帧和非确认帧。其中确认帧和非确认帧是发送数据后等待对方发送的应答帧,以此作为继续发送下一帧和重新发送上一帧的依据。命令帧和数据帧是信息帧,当一方先发送完信息帧,如果收方接收到对方的信息帧,而又没有信息帧需要发送,那么情况就比较简单,收方将根据信息帧的正确与否决定发送确认帧还是非确认帧,以使对方决定是继续发送还是重新发送;如果此刻收方也有信息帧需要发送,那么收方将不立即发送应答帧,而是立即发送本方的信息帧给对方,并等待对方对此帧的应的应答帧,在收到对方的应答帧后,收方将依据应答帧的内容(即确认帧或者是非确认帧,下同)决定是继续发送下一信息帧,还是重新发送原来的信息帧。如果由于链路本身不可靠等因素造成应答帧的丢失,收方将在一定时间内因为没有收到应答帧而延时重发原来的信息帧。在收到对方的应答帧后,收方将继续发送下一信息帧,并等待对方的应答帧,如此反复,直到收方全部发送完信息帧。在本方收到对方最后一个应答帧后,表明本方全部的信息帧发送完毕。然后收方将发送对方仍然等待的应答帧,通知对方收到的信息帧正确与否。2.2.1.2延时重发在双方通信过程中,有两个时间t1和t2,分别表示重新发送信息帧的最大延时。t1表示一方发送完信息帧到收到对方应答帧的时间,如果等待应答帧的时间超过了t1,则发方会重新发送原来的信息帧;当收方接收到对方发送的信息帧,如果收方此时有需要发送的信息帧,则收方此时不发送应答帧,而是发送信息帧给对方。也就是说,利用对方等待收方应答帧的时间t1内,收浙江师范大学数理信息工程学院课程设计——单片机控制实现短信收发4方插入发送本文的信息帧,同样本方的发送也存在一个延时重发的问题。在规定的时间内,如果没有收到对方应答帧,收方也同样需要重发原来的信息帧,这个规定的时间就是t2。显然由于收方是利用间隙时间发送本方信息帧,所以t2t1。图2-1以下位机模块先发数据帧为例,阐述双方通信的具体实现过程。图2-1需要说明的是,由于版面的限制,图2-1所示的通信过程没有涉及到发送非确认帧的情况,如果收方发送非确认帧,发方的发送过程跟发送数据帧是一样的,只不过这种情况下需要重发同一帧号的数据帧。如果上位机模块先发命令帧,双方通信的实现过程跟图2-1类似,所不同的是数据帧此时变成命令帧,命令帧变成数据帧。在延时的时间上,无论是下位机发送数据帧还是上位机发送命令帧,t2的大小都应该是一样的,都是利用时间间隔t2发送收方信息帧,延时的时间是相同的。然而,对于t1而方,情况就有所不同。因为下位机模块先发送数据帧时,利用t1的间隔时间上位机模块发送的命令帧可靠较少,因此当下位机模块先发送数据帧时所定义的t1应该小于当上位机模块先发送命令帧时,所定义的t1。这是因为当上位机模块先发送命令帧时,利用t1的间隔时间下位机模块发送的数据帧可能比较多。2.2.2帧格式GSM模块通过异步通信接口实现对SMS的控制共有三种接入协议:BlockMode;基于AT指令的TextMode;基于AT指令PDUMode。本系统发送和接收的数据都是基于数字的温度数据和命令字,为了保证系统的适用性,SMS的收发采用TEXT模式。TEXT模式是基于字符的,更具体地说是基于ASCII码的一种结构模式。在该模式下,模块发送和接收的信息帧格式如下:帧头帧序号数据校验子信息帧包括数据帧和命令帧。帧头表示数据帧的标记,是由固定的字符“WQ”构成。帧序号表示数据帧的序号,由两个字节组成。帧序号表示下位机模块发送的递增数据帧序号和上位机模块发送的命令帧序号。为了简化帧结构,命令帧的序号统一为00H。数据字段的长度为154字节,最多发送77个字符(采用TEXT模式,不能发送汉字)。检验子为数据字段所有字节累加和的初码(原码取反加1),由一个字节组成。除了信息帧外,双向传递的还有应答帧,它包括确认帧和非确认帧。确认帧是双方反馈给发方的应答帧,表示收方已经正确接收到了发方发送的信息帧。确认帧格式仅包括两个字段,且两个字段的内容都是固定的,即帧头“WQ”和数据字段“ACK”,确认帧格式如下。浙江师范大学数理信息工程学院课程设计——单片机控制实现短信收发5WQACK非确认帧是收方给发方的应答帧,表示收方收到的是无效的信息帧,其格式与确认帧格式类似,帧格式如下。WQNACK2.2.3EEPROM空间的分配采用8KB的EEPROM,按照每77个字节为一个块进行划分,共106块,如图2-2所示。第00、01块留作系统使用,第02块~第105块是数据块,用作存放数据。图2-2EEPROM空间的分配2.2.4收发端与采集端的握手协议收发端与采集端共用一个存储器,即双CPU对同一个EEPROM进行操作。实现方案是分别使两个微处理器的一个I/O脚相连,两个CP

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功