基于GSM模块与AT89C51的接口设计及应用

发布者:ShimmeringStar最新更新时间:2011-05-14 关键字:GSM模块  AT89C51  接口设计 手机看文章 扫描二维码
随时随地手机看文章

1、概述:

    随着通信技术的发展,基于移动通信网络服务功能,正向工业控制和遥控领域有不断扩大的趋势。为适应这种需要,西门子公司推出了新一代无线通信GSM模块——TC35i,基于该模块的短消息功能,可以快速安全可靠地实现用户信息处理等功能,特别适用于控制中心与终端设备距离很远,或不便采用有线通信介质等场合,例如油井信息采集后的传输、远程抄表系统、城市交通导向等均基于TC35i模块来实现。

2、TC35i模块介绍

    目前,国内已经开始使用的GSM模块有很多,而且这些模块的功能、用法差别不大。本设计采用的是西门子TC35系列的TC35i 。这种无线模块功能上与TC35兼容,设计紧凑,大大缩小了用户产品的体积。TC35i与GSM2/2兼容、双频(GSM900/GSM1800)、RS232数据接口,该模块及射频电路和基带与一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠、安全的传输,方便用户的应用开发及设计。

2.1 模块中与SMS有关的GSM  AT指令介绍

    GSM引擎模块提供的命令符合GSM07.05和GSM07.07规范。GSM07.07中定义的AT Command接口,提供了一种移动平台与数据终端设备之间的通用接口;GSM07.05对短消息作了详细的规定。在短消息模块收到网络发来的短消息时,能够通过串口发送指示信息,数据终端设备可以向GSM模块发送各种命令。与SMS有关的GSM AT指令如表一所示。GSM AT指令集,是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了对SMS(Short Message Service)的控制。

表一  与SMS相关的若干GSM AT指令

2.2 PDU编码规则

    目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息, UCS2编码用于发送Unicode字符。一般的PDU编码由ABCDEFGHIJKLM十三项组成。

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字符。

3、TC35i与单片机的硬件接口电路[page]

    TC35i模块主要由GSM基于处理器、GSM射频模块、供电模块、闪存、ZIF连接器、天线接口六部分组成。通过ZIF连接器与单片机实现电路接口,该接口读取或发送TC35i模块中的数据,将是本文论述的重点,也是TC35i应用的核心。TC35i与单片机的硬件接口电路如图所示。

3、单片机与TC35i的软件接口及控制原理

    单片机与TC35i的软件接口其实就是单片机通过AT指令控制手机的控制技术,首先设置TC35i模块的工作模式:AT+CMGF=n,n=0为PDU模式;n=1为文本模式;通常设置为PDU模式,在这种模式下,能传送或接受透明数据(用户自定义数据)。AT+CMGR=n为读TC35i模块短消息数据,n为短消息号。AT+CMGL=n为列出TC35i模块内的短消息,n=0是未读的短消息,n=1位已读的短消息,n=2位未发送的短消息,n=3为已发送的短消息n=4为所有短消息。AT+CMGD=n为删除TC35i模块的短消息,n为短消息编号。

4.1程序设计

    软件编程通过向TC35i写入不同的AT指令能完成多种功能,如网络登陆、读取SIM卡上电话号码、发送SMS消息、接收SMS消息等。下面给出部分功能程序:

4.1.1启动TC35i模块程序

STAR: CLR     P1.0 ;IGT=0

        LCALL  DL100ms;延时100毫秒

        SETB    P1.0 ;IGT=1启动TC35i模块

        MOV    PCON , #80H

        MOV    TH1,#0FBH ;采用18.432MHz晶振时,设置串口为19200波特率

        MOV    TL1,  #0FBH

        MOV    SCON,#50H

        SETB    TR1

4.1.2设置TC35i模块为PDU工作模式程序

CMGF:MOV  40H,#41H;A

        MOV  41H,#54H;T

        MOV 42H, #2BH;+

        MOV 43H,#43H;C

MOV 44H,#4DH;M

MOV 45H,#47H,G

MOV 46H,#46H;F

MOV 47H,#3DH;=

MOV 48H,#30H;0

MOV 49H,#0DH;CR发送十个字符

MOV R2,#0AH

MOV R0,#40H

CMGF1:MOV A,@R0

MOV SBUF,A

JNB TI,$

CLR TI

INC R0

DJNZ R2,CMGF1

RET

4.1.3 删除短消息程序[page]

CMGD:MOV  40H,#41H;A

MOV  41H,#54H;T

MOV 42H, #2BH;+

MOV 43H,#43H;C

MOV 44H,#4DH;M

MOV 45H,#47H,G

MOV 46H,#46H;F

MOV 47H,#3DH;=

MOV 48H,#16H;短消息号

MOV 49H,#17H

MOV 4AH,#0DH;CR

MOV R2,#0BH

CMGD1:

MOV A,@R0

MOV SBUF,A

MOV 1CH,#200

JNB TI,$

CLR TI

DJNZ R2,CMGD1

MOV R2,#0DH

CMGD2:

JNB RI,$

CLR RI

MOV A,SBUF

DJNZ R2,CMGD2

MOV RO,#40H

CMGD3:

JNB RI,$

CLR RI

MOV A,SBUF

MOV @R0,A

INC RO

CJNE A,#0AH,CMGD3;判断换行字符

MOV A,40H

CJNE A,#4FH,CMGD4;错误时转移

SETB F0;删除成功

RET

CMGD4:

CLR F0;删除失败

RET

    AT指令的指令符号、常数、PDU数据等都是以ASCII编码形式传送;传送透明数据必须把TC35i模块的工作模式设置为PDU模式;单片机向TC35i模块发送每一条指令后,必须以回车符作为该条指令的结束,例如单片机向手机发送“AT+CMGF=0”这条指令,其ASCII编码序列为“41H、54H、2BH、42H、4DH、47H、46H、3DH、30H、0DH”,最后一个字节0DH就是回车符,表示该条指令结束,如果没有这个回车符,手机将不识别这条指令。当TC35i模块接收到一条完整的AT指令后,TC35i模块并不立即执行该条指令,而是先把刚才接收到的AT指令的ASCII编码序列全部反发送出来(含0DH);其次发送一个回车符和一个换行符的ASCII编码,即0DH和0AH;然后执行该指令。

    单片机读取TC35i模块的PDU数据时,原始数据应该是16进制数,但读回的数据仍然是ASCII表示的16进制数。这样一个字节的16进制数就变成了2个字节的ASMII码。但是PDU数据包中的数据字节长度部分仍然是实际字符长度。而不是变成ASCII码的字节长度,这在编程时应特别注意,否则,接收的数据就不完整。单片机接收到PDU数据包数据后,必须将其恢复成16进制数据,其算法如下:设a为接收的ASCII码,b为转换后的16进制数。那么如果a<39H,则b=a-30H;如果a>39H,则b=a-30h-07H。最后把前后两个数合并为一个字节。

    TC35i模块向单片机应答PDU数据包的字节数时不包括前9个字节数据,但向单片机传送PDU数据包时,包括这9个字节的数据。例如,如果TC35i模块应答的PDU数据长度为50,而实际向单片机传送的16进制数据为59字节,ASCII码为2×59字节,所以单片机必须按2×59个字节接收PDU数据。

5、结论:

    使用手机模块利于系统集成,成本较低。在偏远地区等架设通信线路困难或不经济的地方,工程服务设施可以自由灵活的设置,不再受地形条件的限制。总之,GSM模块价格低廉、应用广泛,应用前景诱人,通过与手机模块接口可以很方便的设计出用户所需要的数据接收终端。

关键字:GSM模块  AT89C51  接口设计 引用地址:基于GSM模块与AT89C51的接口设计及应用

上一篇:基于P89C51RA的智能广播系统控制
下一篇:基于STC89C516 单片机的数字光功率计设计

推荐阅读最新更新时间:2024-03-16 12:35

关于AT89C51 与 AT89S51/52 的区别
这里,初学者要澄清单片机实际使用方面的一个产品概念,MCS-51单片机是美国INTE公司于1980年推出的产品,典型产品有 8031(内部没有程序存储器,实际使用方面已经被市场淘汰)、8051(芯片采用HMOS,功耗是630mW,是89C51的5倍,实际使用方面已经被市场淘汰)和8751等通用产品,一直到现在, MCS-51内核系列兼容的单片机仍是应用的主流产品(比如目前流行的89S51、89C51等),各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。 AT89S51相对于AT89C51增加的新功能包括: -- 新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低! -- IS
[单片机]
基于单片机的数控直流稳压电源设计
  随着新型电力电子器件和适于更高开关频率的电路拓扑的不断出现,传统应用技术,由于功率器件性能的限制使开关电源性能的影响减至最小,新型的电源电路拓扑和新型的控制技术,可使功率开关工作在零电压或零电流状态,为了提高开关电源工作效率,设计出性能优良的开关电源,十分必要。   1、几种数控直流稳压电源设计方案比较   1.1几种设计方案电路原理   方案 1 : 采用模拟的分立元件,利用纯硬件来实现功能,通过电源变压器、整流滤波电路以及稳压电路,实现稳压电源稳定输出±5 V、 ±12 V、±15 V并能可调输出 0~ 30 V电压,见图 1所示。但由于模拟分立元件的分散性较大,各电阻电容之间的影响较大,因此所设计的指标不高、不符合设
[单片机]
基于单片机的数控直流稳压电源设计
一种定点数字信号处理器与单片机的接口设计
TMS320VC5402(VC5402)增强外设由软件等待状态发生器、锁相环时钟发生器、6通道直接存储器访问(DMA)控制器、增强型8位并行主机接口(HPI)等组成。两个可编程的多通道缓冲串口(McBSP)能够全双工、快速地与其他同步串口进行数据交换,硬件连接简单,串口的工作模式和传送数据的格式可通过编程实现。DSP和单片机之间的通信一般利用双口RAM,通过串口或DSP的HPI 接口 实现。   利用双口RAM实现   CY7C026是CYPRESS公司生产的16k×16B高速双口静态RAM,存取速度小于25ns。他具有真正的双端口,可以同时进行数据存取,两个端口具有独立的控制信号线、地址线和数据线,另外通过主?从选择可
[嵌入式]
一种定点数字信号处理器与单片机的<font color='red'>接口设计</font>方
基于FPGA的双口RAM与PCI9O52接口设计
  O 引言   IDT70V28L(双口RAM)的存取时间大于20ns,PCI9052工作于25MHz,其存取时间要大于双口RAM的存取时间。PCI9052是发起交易的主动者,相当于一个慢速器件访问快速器件,通过可编程器件,可以把PCI9052读写控制信号直接传递给IDT70V28L,完成时序的匹配。   为将PCI9052的局部逻辑转换为双口RAM的读写控制信号和地址信号,本设计采用了可编程器件来实现它们之间的接口逻辑电路。在可编程器件设计中,状态机的设计方法是应用最广泛的设计方法之一。有限状态机是一种简单、结构清晰、设计灵活的方法,它易于建立、理解和维护,特别应用在具有大量状态转移和复杂时序控制的系统中,更显其优势。
[嵌入式]
PCI总线接口设计及专用接口芯片的应用
  1 引言   随着计算机技术的飞速发展和普及,数据采集系统迅速得到了广泛的应用。数据采集系统性能的好坏主要取决于它的精度和速度。在保证精度的条件下,应用尽可能高的采样速度,以满足对信号的实时采集和实时处理;而要实现高速数据采集,不仅需要高性能的adc等设备,而且需要高速的数据传输。目前isa总线己经逐 渐退出了历史舞台,开发基于pci总线的数据采集卡己经是势在必行。   2 pci总线接口概述   pci总线的信号线包括32根地址数据复用线、仲裁、接口控制线、总线命令字节允许复用线和系统复位等。在进行基本的数据传输操作时,数据线先出现地址, 同时总线命令出现在c/be〔3:0〕上,设备根据这些命令判断所要进行的操作,在接
[嵌入式]
单片机设计 电子琴音乐盒(AT89C51
一、电路设计 此电路由AT89C51最小系统、按键模块、数码管显示和蜂鸣器组成。 实现功能:七个按键代表Do La Mi So Re La Si 最后一个按键代表切换音乐。 二、运行结果 三、部分代码 #include reg52.h #define uchar unsigned char #define uint unsigned int //#include main.h sbit BeepIO = P0^7; //定义音频输出管脚 sbit KEY1 = P1^0; //按键1 do sbit KEY2 = P1^1; //按键2 re sbit KEY3 = P1^2; //按键3 mi sbit KEY
[单片机]
单片机设计 电子琴音乐盒(<font color='red'>AT89C51</font>)
霍尔传感器应用于采集与显示信号系统中的设计方案
   引 言   这几年来,随着不断发展的传感器技术,单片机技术的广泛应用,越来越多的采用单片机与PC机构成的小型传感器测控系统。关键在于它们很好地结合了单片机的价格低,功能强,抗干扰能力好,温限宽和面向控制等优点及Pc机操作系统中Windows的高级用户界面、多任务、自动内存管理等特点。在这种测控系统中,单片机主要进行实时数据采集及预处理,然后通过串行口将数据送给PC机,PC机再对这些数据进一步处理,例如求均值、方差、画动态曲线与计算给定、打印输出的各种参数等任务。   这里采用霍尔传感器作为前端进行数据采集,然后在单片机控制下进行A/D转换,并将信号通过串口送给PC机进行绘图处理。   1 系统介绍   系统可以分为3个部
[单片机]
霍尔传感器应用于采集与显示信号系统中的设计方案
基于AT89C51的时间/位移换向控制器设计
引言   在实际生产过程中,常常要用到具有自动换向功能的控制部件,如机械加工中的往返运行(位移),直流电源的正反向输出,电动机的正反转运行等现象,都是当正向(或反向)运行到一定时间或一定位置时,自动换为反向(或正向)运行,周而复始的过程。实现这一过程的自动化,就是设计一套控制电路,再配以位移传感器或时间继电器。目前市场现有的时间继电器虽然可以用多个组合来满足一些使用场合的要求,但仍存在着重复计时误差大,稳定可靠运行性不高,使用不方便灵活等问题。为此,笔者研发了以单片机为核心组成的时间/位移换向控制器SWHX-1,该系统具有成本低等特点,可完全且克服以上不足。 电路组成及工作原理   SWHX-1的内部电路如图1所示。该系统分
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved