周皓 陈荣 张文峰
摘 要:基于GSM短消息业务不需要建立拨号连接,只需把待发的信息加上目的地址发送至短消息中心,再由短消息中心转发到最终目标。文章主要介绍基于GSM模块收发中英文短消息控制系统设计。应用Keil uVision 中的C语言在集成开发平台上设计程序,调试并运行,下载程序到模块中的单片机,通过单片机来控制GSM模块实现打电话、接电话、收发中英文短消息等功能。
关键词:GSM;单片机;C语言
1 概述
近几年,很多检测系统都用GSM模块来进行信息的传输,主要是通过语音、短信息、数据等方式来进行传输的,所以通过单片机来控制GSM模块,其所组成短消息处理系统具备良好的发展前景和广大的使用空间。
当前,GSM在工业应用领域方面非常流行,可以在许多行业中看到与GSM模块相结合的产品。比如,在车辆监控方面,GSM模块能够把车辆GPS数据发送到车辆管理中心;在家庭中,无线报警系统可以在发生火灾或盗窃事件时立即通知住户并且报警。
2 系统的硬件设计
2.1 系统的硬件结构
该系统主要是由单片机STC11F08XE和模块TC35i构成。系统的结构框图由图1所示。该模块按照不同的功能可以分为三个部分,分别为:电源部分、IGT启动电路部分以及串行口电路部分[1]。
2.2 GSM模块TC35I简介
这款模块是德国西门子工业的GSM模块, 该模块包括电源、闪存、ZIF连接器、天线等6个部分。能够通过上位机来控制GSM模块实现拨打电话、接听电话、挂断电话、发送短消息、接收短消息等功能,本模块包含一个单片机,因此也可以通过单片机来完成拨打电话、接听电话、挂断电话、发送短消息、接收短消息等功能;而且还能够通过单片机来解析接收到的短信息,并根据短信息内容进行操作,例如关上和开启继电器等,以此达成远程监控
2.3 单片机STC11F08XE简介
STC11系列单片机是由STC出产的新一代8051单片机,其特点是高速、低功耗、超强抗干扰,代码能够和传统的8051相兼容,不过速度比传统的快8至12倍[2]。
3 系统软件设计
本系统程序部分是使用C语言程序编写的,主要实现:当系统上电时,对GSM模块和单片机系统初始化,如:网络握手指令,查询运营商。另外,对于单片机的串行通信及各I/O口初始化。
3.1 软件设计的流程图
在单片机上电后,进行系统初始化,即对各硬件模块和软件模块进行初始化,然后进入信号检索扫描的循环系统中[3],程序框图如图2所示。
3.2 发送短消息设计
对于SIM卡中的短消息,可以显示其编号、类型(已读、未读)、发送者号码、消息正文和發送时间。如果想发送短消息,必须先检查,如果串口已打开以及模块连接正确,而且目标手机和短信中心号码正确,然后才开始发送AT指令。短信收发的模式可以分为三种,分别为Block、Text、PDU。Block模式定义了一个二进制协议,这种模式现在很少使用了;Text是一种纯文本形式,你可以使用不一样的字符集;PDU模式定义了一个基于字符的协议接口,其要求是字符要限定于十六进制字符。现在PDU模式在所有手机中都得到应用,它的特点是支持多种编码方式,可以使用不同的字符集。因此本章重点介绍PDU模式发送短信[4],其程序流程如图3所示。
4 结束语
本设计利用单片机来控制GSM模块TC35I,发送各种AT指令实现手机的一部分基本功能。还可以扩展对外接按键进行不同功能的定义,从而实现打电话、接电话、挂电话、发送英文短消息以及发送中文短消息等功能。
参考文献
[1]陈凯.基于GSM模块TC35I的收发控制系统设计[J].武汉工程大学学报,2011,9(12):12~13.
[2]李鸿.用单片机控制手机收发短信息[J].电子技术应用,2011,3(1):24~26.
[3]谢维成,杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2003.
[4]郭天祥.新概念C51单片机C语言教程[M].北京:电子工业出版社,2009.