毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

PC机串口控制GSM模块收发短信系统设计(流程图+源程序) 第7页

更新时间:2010-5-7:  来源:毕业论文
PC机串口控制GSM模块收发短信系统设计(流程图+源程序) 第7页
3)Unicode码解码函数
相比于手机短信的发送而言,手机短信的接收主要的工作正好与之相反。手机短信的发送需要将待发送的短信内容转换为Unicode码,而短信的接收则需要将接收到的Unicode码转换成中文字符。下面的函数将实现解码功能。同手机短信发送的编码函数一样,这里也应用了一个VB内置的函数ChrB()函数来将Unicode码转换为中文:
Public Function Unicode2AscII(ByVal s As String)
On Error Resume Next
Dim i As Integer
Dim r As String
For i = 1 To Len(s) Step 4
r = r + ChrB("&H" & Mid(s, i + 2, 2)) & ChrB("&H" & Mid(s, i, 2))
Next
Unicode2AscII = r
End Function
2.4.3 PDU模式短信息的发送过程
要实现短信息的转发,编写出有效的发送程序,要先来了解短信息的发送原理及其过程。
首先,设置短信息的发送模式,本设计采用的是PDU模式:
输入:AT+CMGF=0  回车
系统会返回: OK
然后发送短信息:
假如,要向号码“ 13851872468”发送内容为“你好!”这么一条短信息,那么,先要把目标号码” 13851872468”转换为“ 68 31 58 81 27 64 F8”,短信息内容转化为Unicode码” 4F 60 59 7D 00 21”,然后再进行发送操作如下:
输入:AT+CMGS=021 回车
当系统返回:> 时,
输入:0011000D91683158812764F8000801064F60597D0021<Ctrl+Z>
返回: +CMGS:<发送的条数>
      OK
其中“AT+CMGS=021”中的021是由TPDU中用户数据前的PDU规约头的长度15字节+用户数据长度6字节得到。
3 系统软件设计流图
系统软件主要分系统初始化、短信息发送、短信息读取和删除等功能模块。分别列出其程序设计流图,如图3、图4、图5和图6所示(具体的功能函数见附件),而读取SIM卡中存储的电话号码则通过一个第三方组件TaoModual.ocx来实现。
       图3 窗体初始化程序    图4 短信发送程序
            图5 读短信息程序                         图6 删除短信息程序
4 系统调试与总结
1)在实际调试过程中,模块运行正常,性能稳定,实时性好。运行效果分别如图7、图8,图9所示:
2)在开始调试过程中,也曾遇到了一个问题,如图10所示,信息发送状态报告总是出现错误的提示,但信息确实已经成功发送出去。经过一番的假设和调试后,最后认为问题出在GSM模块的返回值上,很多资料都说在信息成功发送后会最后返回‘OK’字符,但经过多次的试调证明,信息成功发送出去后并没有‘OK‘字符串返回的,故将判断条件取反即解决了问题。
 图7端口设计状态图 图8信息读取状态图图9 信息删除状态图
图10 信息发送状态报告
3)短信中心的号码可接使用SIM卡中的号码,而不需要用户输入。有一条“AT+CSCA”指令,可用于设置或查询服务中心号码。若SIM卡中已存在此号码,有两种解决办法:
一是用“AT+CSCA?”指令查询出来,然后自动将此号码写到PDU的SCA中;
二是PDU的SCA字段只写一个“00”:即“08 91 68 31 ……”->“00”。
4)可用“AT+CSCA=xxxxxxxx”指令设置服务中心号码。
5)在编写程序过程中需要注意到,为了防止手机因过于繁忙而出错,要采取一定的方法让手机有充分的时间处理发送和接收及删除等操作。而VB里自带的Sleep()函数正是为此而设计的,设置不同参数值可改变其等待的时间,这样就可以避免因为手机过于繁忙而出现程序处理错误和系统死机等情况。
6)由于设计系统模块需要提供+5V、+12V和-12V三路电源,在设计电源时,要注意把这三路电源的地线做成公共地线,即把它们的地线连通。
7)在程序设计过程中,用到了MSCOMM32.OCX等内置组件,如果运行该应用程序的机器上没有这些组件,程序将无法正常运行,为了解决这一问题,可以通过把相关的程序和组件进行打包,从而形成程序安装包 。
8)总结:本论文主要论述了个人计算机通过串口通信控制GSM模块进行短信息接收和发送的工作原理以及相应的程序设计过程,着重分析了GSM AT指令及其用法和PDU编码解码的原理规则及相应的实现函数,还详细描述了PDU模式下短信息的发送过程和窗体初始化、短信息发送、短信息读取和删除等功能模块的程序流图。
在整个设计工作过程中,从多方面学习了GSM模块收发短信息等基本功能的工作原理以及如何利用VB实现串口通信编程,掌握了PDU编码解码的原理和实现过程,并加深了计算机串口开发应用的认识。
参考文献:
[1]龚建伟, 熊光明. Visual C++/Turbo C 串口通信编程实践[M]. 北京:电子工业出版社,2004年。
[2]求是科技. Visual C++ Visual Basic 串并口开发技术工程应用实例导航[M]. 北京:人民邮电出版社,2006。
[3]刘炳文. Visual Basic 程序设计教程(第二版)[M]. 北京:清华大学出版社,2003。
[4]北京达盛科技有限公司. Techshine(使用说明书 电子电气综合实训系统)[M]. 26~27。

上一页  [1] [2] [3] [4] [5] [6] [7] 

PC机串口控制GSM模块收发短信系统设计(流程图+源程序) 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。