您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于GSM模块与AT89C51的接口设计及应用
基于GSM模块与AT89C51的接口设计及应用程全李向东(周口师范学院物理系,河南466000)[摘要]:本文通过分析GSM模块与单片机的接口设计简单介绍了TC35i模块的常用指令及编码规则,着重介绍了TC35i模块与AT89C51的工作原理、外围接口电路、软件控制技术,同时给出了一些TC35i模块与AT89C51接口的应用程序,提出了AT89C51在接收数据时应该注意的问题,从而设计出具有GSM模块的数据传输终端。[关键词]:SIM卡GSMAT指令TC35iAT89C51中图分类号:TN929.5文献标识码:ABasedonGSMmoduleandAT89C51connectiondesignandapplicationCHENGQUANXiang_dongLi(ZHOUKOUNORMALUNIVERSITYPHYSICS,HENAN,CHINA466000)[Abstract]:ThisarticlethroughanalyzedtheGSMmoduleandthemonolithicintegratedcircuitconnectiondesignsimplyintroducedtheTC35imodulecommonlyusedinstructionandthecodingrule,introducedemphaticallytheTC35imoduleandtheAT89C51principleofwork,theperipheryconnectionelectriccircuit,thesoftwarecontroltechnology,atthesametimehasproducedsomeTC35imoduleandtheAT89C51connectionapplicationprocedure,proposedAT89C51whenreceivedatashouldpayattentionquestion,thusdesignedhastheGSMmodulethedatatransmissionterminal.[Keyword]:SIMCardGSMATInstructionTC35iAT89C511、概述:随着通信技术的发展,基于移动通信网络服务功能,正向工业控制和遥控领域有不断扩大的趋势。为适应这种需要,西门子公司推出了新一代无线通信GSM模块——TC35i,基于该模块的短消息功能,可以快速安全可靠地实现用户信息处理等功能,特别适用于控制中心与终端设备距离很远,或不便采用有线通信介质等场合,例如油井信息采集后的传输、远程抄表系统、城市交通导向等均基于TC35i模块来实现。2、TC35i模块介绍目前,国内已经开始使用的GSM模块有很多,而且这些模块的功能、用法差别不大。本设计采用的是西门子TC35系列的TC35i。这种无线模块功能上与TC35兼容,设计紧凑,大大缩小了用户产品的体积。TC35i与GSM2/2兼容、双频(GSM900/GSM1800)、RS232数据接口,该模块及射频电路和基带与一体,向用户提供标准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠、安全的传输,方便用户的应用开发及设计。2.1模块中与SMS有关的GSMAT指令介绍GSM引擎模块提供的命令符合GSM07.05和GSM07.07规范。GSM07.07中定义的ATCommand接口,提供了一种移动平台与数据终端设备之间的通用接口;GSM07.05对短消息作了详细的规定。在短消息模块收到网络发来的短消息时,能够通过串口发送指示信息,数据终端设备可以向GSM模块发送各种命令。与SMS有关的GSMAT指令如表一所示。GSMAT指令集,是由诺基亚、爱立信、摩托罗拉和HP等厂家共同为GSM系统研制的,其中包含了对SMS(ShortMessageService)的控制。表一与SMS相关的若干GSMAT指令AT指令功能AT+CMGCSendanSMScommend(发出一条短信息命令)AT+CMGDDeleteSMSmessage(删除SIM卡内存的信息)AT+CMGFSelectSMSmessageformat(选择短消息信息格式:0-PDU;1-文本)AT+CMGLListSMSmessagefrompreferredstore(列出SIM卡中的短消息格式PDU/TEXT:0“RECUNREAD”为未读,1“RECREAD”为已读,2“STOUNSENT”为待发,3“STOSENT”为已发,4“ALL”为全部AT+CMGRReadSMSmessage(读短消息)AT+CMGSSendSMSmessage(发短消息)AT+CMGWWriteSMSmessagetomemory(向SIM内存中写入待发的短消息)AT+CNMINewSMSmessagestorage(显示新收到的短消息)AT+CPMSPreferredSMSmessagestorage(选择短消息内存)AT+CSCASMSservicecenteraddress(短消息中心地址)AT+CSCBSelectcellbroadcastmessagemessages(选择蜂窝广播信息)AT+CSMPSetSMStextmodeparameters(设置短消息文本模式参数)2.2PDU编码规则目前,发送短消息常用Text和PDU(ProtocolDataUnit,协议数据单元)模式。使用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与单片机的硬件接口电路TC35i模块主要由GSM基于处理器、GSM射频模块、供电模块、闪存、ZIF连接器、天线接口六部分组成。通过ZIF连接器与单片机实现电路接口,该接口读取或发送TC35i模块中的数据,将是本文论述的重点,也是TC35i应用的核心。TC35i与单片机的硬件接口电路如图所示。1234ABCD4321DCBATitleNumberRevisionSizeA4Date:21-Sep-2005SheetofFile:D:\新建文件夹\MyDesign.ddbDrawnBy:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U1AT89C5112345678910111213141516171819202122232425262728293031323334353637383940J2Y112.000MHZC120PC220PC410uFC320uFC7100uFC50.1uFC60.1uF12A74F0412A74F07D3D2DIODED1LEDL110R14KR51KR63.3KR71KVCC123456J1CON6R81K12A74F0712A74F07R31KR41KR21KVCCVCCI/OCLKVppRSTGNDVCCSIM卡4、单片机与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:CLRP1.0;IGT=0LCALLDL100ms;延时100毫秒SETBP1.0;IGT=1启动TC35i模块MOVPCON,#80HMOVTH1,#0FBH;采用18.432MHz晶振时,设置串口为19200波特率MOVTL1,#0FBHMOVSCON,#50HSETBTR14.1.2设置TC35i模块为PDU工作模式程序CMGF:MOV40H,#41H;AMOV41H,#54H;TMOV42H,#2BH;+MOV43H,#43H;CMOV44H,#4DH;MMOV45H,#47H,GMOV46H,#46H;FMOV47H,#3DH;=MOV48H,#30H;0MOV49H,#0DH;CR发送十个字符MOVR2,#0AHMOVR0,#40HCMGF1:MOVA,@R0MOVSBUF,AJNBTI,$CLRTIINCR0DJNZR2,CMGF1RET4.1.3删除短消息程序CMGD:MOV40H,#41H;AMOV41H,#54H;TMOV42H,#2BH;+MOV43H,#43H;CMOV44H,#4DH;MMOV45H,#47H,GMOV46H,#46H;FMOV47H,#3DH;=MOV48H,#16H;短消息号MOV49H,#17HMOV4AH,#0DH;CRMOVR2,#0BHCMGD1:MOVA,@R0MOVSBUF,AMOV1CH,#200JNBTI,$CLRTIDJNZR2,CMGD1MOVR2,#0DHCMGD2:JNBRI,$CLRRIMOVA,SBUFDJNZR2,CMGD2MOVRO,#40HCMGD3:JNBRI,$CLRRIMOVA,SBUFMOV@R0,AINCROCJNEA,#0AH,CMGD3;判断换行字符MOVA,40HCJNEA,#4FH,CMGD4;错误时转移SETBF0;删除成功RETCMGD4:CLRF0;删除失败RETAT指令的指令符号、常数、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进制数。这
本文标题:基于GSM模块与AT89C51的接口设计及应用
链接地址:https://www.777doc.com/doc-2569897 .html