- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机控制GSM模块
《单片机控制GSM模块自动收发短信的软件设计》
课程设计实验报告
郑元 2011年1月2号
最近在网上查有关GSM模块的资料时,发现用单片机控制GSM模块是一个很热门的话题。在梅老师的引导下,我和同学决定用单片机和GSM模块做一个自动收发短信软件系统。我们这个系统实现的具体功能是:GSM模块接收外部发送的一个短信信息,信息中前六个字符是密码,紧跟着密码后是一个IP地址,单片机把短信取走,判断密码是否正确。若密码正确,负责把IP地址传送给电脑,若不正确,则不传送IP给电脑并返回短信提示密码错误。
该系统涉汲到好多内容,网上有关单片机控制GSM的例子有很多,但是每讲到时,说了一大堆什么是GSM网络,GPRS,SMS的工作原理,AT指令格式,该GSM模块性能特点等等。一但涉及到硬件,软件设计,具体实现方案,都是一些框图,一些不实用的结构程序,或一言而概之,有关具体的细节,更是没有提到。我们这里就不再过多的讲一些系统涉及的历史知识,当讲到哪一步涉及到具体知识时再细细讲之。
系统的硬件结构实现:
系统的硬件结构是由梅老师提供的,GSM模块选用的是上海讯腾公司的MD231模块,由于单片机要和电脑与MD231进行串口通讯,最少需要两个串口,考虑到一些问题,选用了两块AT89C2051单片机,这样就能满足系统的需求,电源模块采用的是LM2576电源稳压芯片电路有还有MAX232接口转换模块。具体的硬件电路框图如下:
具体的电路图如下:
软件结构设计
我们在写程序之前,先来了解一下必要的知识。
MD231
把MD231当作标准的GSM/GPRS模块使用,客户通过Com口输入的AT命令使用模块,并从Com口得到模块的反馈信息,此类运用的客户需要外部MCU和Com相连。模块的PWR脚拉低2秒开机。建议客户用手动开机或者使用样式电路使模块上电自动开机。如果用户将PWR脚直接连接在GND上,可以让模块上电就开机。但是,此时,模块对AT模拟按键(AT+CKPD)事件将不再响应。
MD231模块开机后,会通过串口反馈一些信息给客户。比如:
+EIND: 128 // 128 表示 AT命令OK
+CREG: 5 //注册到网络的状态registered,roaming.
+CSIM: PBK Ready //Phonebooks初始化 OK
+CSIM: SMS Ready //短消息初始化OK
AT指令
有关MD231模块AT指令集介绍有很多,还是英文不好看。但它支持GSM 07.05标准,可以查看相关的PDF中文资料文档去了解AT指令。这里我们详细介绍一下要用到的几个AT指令和SMS模式。与短信有关的AT指令如下:
AT指令 功能 AT 握手信号 AT+CNMI 新消息到达提示命令 AT+CMGF 选择短消息信息格式:0-PDU;1-文本 AT+CMGL 列出SIM卡中的短消息 AT+CMGR 读取新短消息 AT+CMGD 删除SIM卡内存的短消息 AT+CMGS 发送一条短消息命令
各指令格式介绍如下:
a) 输入“AT”然后回车,屏幕上返回“OK”表明计算机与已连接成功,能够正常工作。这时就可以测试各类AT命令。…3时,将TA缓冲区中的指示信息传给TE(在将指示信息传给TE之前必须有“OK”返回)。
成功,在返回提示信息前,先返回“OK”,然后返回提示信息,格式为+CMTI:mem,index。
c)。用AT+CMGF命令设置消息格式,我们是文本短信,所以设置AT+CMGF=1,
表明我们的消息格式为文本方式。
成功返回“OK”。
d)发送短信:AT+CMGS,格式为“AT+CMGS=da[,toda]CRtext is enteredctrl-Z”。
参数解释:
da,字符型,GSM03.40 TP-Destination-Address(目的手机号码),要转化为TE选择的字符集,我们时UNICODE编码,所以要转化为UCS2型字符集。
toda,整型,GSM04.11 TP-Destination-Address,Type-of-Address(当da的第一个字符为+(IRA43)时为145,其他为129)。
CR,为回车。送完回车后,我们会收到“”。
Text is entered,要发送的文本,因为,我们用的时“UCS2”字符集,所以要把发送的内容转换为UNICODE型。
Ctrl-Z,表示发送。
成功发送,返回“OK”。
e)。阅读短消息命令:
AT+CMGR=index,index为消息记录号。
返回值:
+CMGR:
stat,da,[alpha][,toda,fo,pid,dcs,[vp],sca,tosca,length]
文档评论(0)