⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 单片机控制gsm模块tc35的方法-电子开发网.htm

📁 有关于mcu控制tc35的资料
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0055)http://www.dzkf.cn/html/zonghejishu/2007/0514/2079.html -->
<HTML 
xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>单片机控制GSM模块TC35的方法-电子开发网</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=GSM,TC35 name=keywords>
<META content="&nbsp; 介绍一种 采用GSM的短信功能,可以使某些控制达到“零距离" name=description 
&nbsp;&nbsp;&nbsp;? TC35的控制简介 一、&nbsp; 
。由于短信息的费用低廉,可以取代传统的无线遥控。现在详细介绍一种采用单片机(MCS51系列)控制TC35(廉价的GSM模块)发送、接收GSM短信的方法。><LINK 
href="http://www.dzkf.cn/favicon.ico" type=image/x-icon rel=icon><LINK 
href="http://www.dzkf.cn/favicon.ico" type=image/x-icon 
rel="shortcut icon"><LINK href="单片机控制GSM模块TC35的方法-电子开发网_files/style.css" 
type=text/css rel=stylesheet>
<SCRIPT src="单片机控制GSM模块TC35的方法-电子开发网_files/dzkf.js" 
type=text/javascript></SCRIPT>

<META content="MSHTML 6.00.5730.11" name=GENERATOR></HEAD>
<BODY>
<DIV class=container>
<DIV class="clearfix header">
<DIV id=pageHeaderImage><IMG alt=电子开发网 
src="单片机控制GSM模块TC35的方法-电子开发网_files/title.gif"></DIV>
<DIV class=search>
<DIV class=sw_sform>
<FORM id=sb_form name=formsearch action=/plus/search.php>
<DIV class=sw_b3>
<DIV class=sw_b2>
<DIV class=sw_b1><INPUT class=sw_qbox id=sb_form_q title=搜索 name=keyword> <INPUT class=sw_qbtn id=sb_form_go title=搜索 tabIndex=0 type=submit name=go> 
<INPUT type=hidden value=1 name=kwtype> <INPUT type=hidden value=titlekeyword 
name=searchtype> </DIV></DIV></DIV></FORM></DIV>
<DIV class=hot_line><B>热门搜索:</B> <A 
href="http://www.dzkf.cn/plus/search.php?keyword=%B5%A5%C6%AC%BB%FA&amp;searchtype=titlekeyword">单片机</A> 
 <A 
href="http://www.dzkf.cn/plus/search.php?keyword=%B1%A8%BE%AF&amp;searchtype=titlekeyword">报警</A> 
 <A 
href="http://www.dzkf.cn/plus/search.php?keyword=arm&amp;searchtype=titlekeyword">arm</A> 
 <A 
href="http://www.dzkf.cn/plus/search.php?keyword=usb&amp;searchtype=titlekeyword">usb</A> 
 <A 
href="http://www.dzkf.cn/plus/search.php?keyword=S3C2410&amp;searchtype=titlekeyword">S3C2410</A> 
 <A 
href="http://www.dzkf.cn/plus/search.php?keyword=USB+&amp;searchtype=titlekeyword">USB 
</A> <A 
href="http://www.dzkf.cn/plus/search.php?keyword=lm358&amp;searchtype=titlekeyword">lm358</A> 
</DIV></DIV>
<DIV class=toplink>
<UL>
  <LI><A href="javascript:bookmark()">加入收藏</A> </LI>
  <LI><A href="http://www.dzkf.cn/plus/sitemap.html">网站地图</A> </LI>
  <LI><A href="http://www.dzkf.cn/plus/guestbook/index.php">网站留言</A> </LI>
  <LI><A id=StranLink 
  href="http://www.dzkf.cn/html/zonghejishu/2007/0514/2079.html#">繁体中文</A>
  <SCRIPT language=javascript src="单片机控制GSM模块TC35的方法-电子开发网_files/Big5.js" 
  type=text/javascript></SCRIPT>
   </LI></UL></DIV></DIV>
<DIV id=menu>
<UL class=menu>
  <LI class=home><A title=电子开发网 href="http://www.dzkf.cn/"><SPAN>首页</SPAN></A> 
  </LI>
  <LI><A href="http://www.dzkf.cn/html/qianrushixitong/index.html">嵌入式系统</A> 
  </LI>
  <LI><A href="http://www.dzkf.cn/html/EDAjishu/index.html">EDA技术</A> </LI>
  <LI><A href="http://www.dzkf.cn/html/dianziDIY/index.html">电子制作</A> </LI>
  <LI><A href="http://www.dzkf.cn/html/PCBjishu/index.html">PCB技术</A> </LI>
  <LI class=current><A 
  href="http://www.dzkf.cn/html/zonghejishu/index.html">综合技术</A> </LI>
  <LI><A href="http://www.dzkf.cn/html/dianlutu/index.html">电路图</A> </LI>
  <LI><A href="http://www.dzkf.cn/html/yuanmaziliao/index.html">源码资料</A> 
</LI></UL>
<UL class=link>
  <LI><A title=电子开发网资料共享 
href="http://share.dzkf.cn/"><SPAN>会员共享</SPAN></A></LI></UL></DIV>
<DIV id=navi>
<UL>
  <LI class=high>导航: </LI>
  <LI><A 
  href="http://www.dzkf.cn/html/zonghejishu/USBkaifa/index.html">USB开发</A> </LI>
  <LI><A 
  href="http://www.dzkf.cn/html/zonghejishu/AD_DAzhuanhuan/index.html">AD-DA转换</A> 
  </LI>
  <LI><A href="http://www.dzkf.cn/html/zonghejishu/dianyuan/index.html">电源技术</A> 
  </LI></UL></DIV><IFRAME id=A2 src="单片机控制GSM模块TC35的方法-电子开发网_files/index_2.htm" 
frameBorder=0 width="100%" scrolling=no height=52></IFRAME>
<DIV class=stitle><B>您的位置</B>:<A href="http://www.dzkf.cn/">电子开发网</A>&gt;<A 
href="http://www.dzkf.cn/html/zonghejishu/index.html">综合技术</A>&gt;</DIV>
<DIV class="clearfix wrap layout-cols2">
<DIV class=col1>
<DIV id=news>
<H1>单片机控制GSM模块TC35的方法</H1>
<DIV class=times>时间:2007-05-14 &nbsp; 来源: &nbsp; 作者: &nbsp; 点击:<SPAN 
id=lltj>……</SPAN>&nbsp; 字体大小:【<A href="javascript:doZoom(16)">大</A> <A 
href="javascript:doZoom(14)">中</A> <A href="javascript:doZoom(12)">小</A>】 </DIV>
<DIV class=content>
<DIV id=topleft>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-1201501101095833";
/* article 300x250, 创建于 08-8-25 */
google_ad_slot = "8523775123";
google_ad_width = 300;
google_ad_height = 250;
//-->
</SCRIPT>

<SCRIPT src="单片机控制GSM模块TC35的方法-电子开发网_files/show_ads.js" type=text/javascript>
</SCRIPT>
</DIV>
<P>&nbsp; 介绍一种 
采用GSM的短信功能,可以使某些控制达到“零距离"。由于短信息的费用低廉,可以取代传统的无线遥控。现在详细介绍一种采用单片机(MCS51系列)控制TC35(廉价的GSM模块)发送、接收GSM短信的方法。</P>
<P><STRONG>一、&nbsp; TC35的控制简介</STRONG><BR>&nbsp;&nbsp;&nbsp; 
TC35是Siemeils公司推出的新-代无线通信GSM模块。自带RS232通讯接口,可以方便地与PC机、单片机连机通讯。可以快速、安全、可靠地实现系统方案中的数据、语音传输、短消息服务(Short 
Message 
Service)和传真。TC35模块的工作电压为3.3—5.5V,可以工作在900MHz和1800MHz两个频段,所在频段功耗分别为2w(900M)和1w(1800M)。<BR>&nbsp;&nbsp;&nbsp; 
模块有AT命令集接口,支持文本和PDU模式的短消息、第三组的二类传真、以及2.4k,4.8k,9.6k的非透明模式。此外,该模块还具有电话簿功能、多方通话,漫游检测功能,常用工作模式有省电模式、IDLE、TALK等模式。通过独特的40引脚的ZIF连接器,实现电源连接、指令、数据、语音信号、及控制信号的双向传输。通过ZIF连接器及50Ω天线连接器,可分别连接SIM卡支架和天线。<BR>&nbsp;&nbsp;&nbsp; 
TC35模块主要由GSM基带处理器、GSM射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口六部分组成。作为TC35的核心,基带处理器主要处理GSM终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,可支持FR、HR和EFR语音信道编码。其它功能介绍可参见有关资料!</P>
<P><STRONG>二、AT指令的介绍</STRONG><BR>TC35模块的通讯全部采用AT+xxx完成。基本的AT指令见:<A 
href="http://www.dzkf.cn/html/zonghejishu/2007/0514/2078.html">/html/zonghejishu/2007/0514/2078.html</A></P>
<P><STRONG>三、&nbsp; TC35的连机方法</STRONG><BR>&nbsp;&nbsp;&nbsp; 
任何一个TC35模块首次使用时,必须要测试其工作是否正常,由于其自带RS232接口,所以我们可以用PC机的串口调试软件进行调试。<BR>1、启动串口调试软件(见界面)<BR><A 
href="单片机控制GSM模块TC35的方法-电子开发网_files/1_14142658.jpg" target=_blank><IMG 
height=335 alt="" src="单片机控制GSM模块TC35的方法-电子开发网_files/1_14142658.jpg" width=511 
border=0></A>&nbsp;<BR>&nbsp; 
串口调试软件有许多,可以使用任意一款软件,也可以使用WINDOWS自带的“超级终端"。设置波特率19.2k,这是TC35的默认波特率,首次连机可以从2400~57.6k不断测试,直到TC35有应答。<BR><BR>2、发送“AT"’<BR>&nbsp; 
AT 回车<BR><BR>3、改变波特率“AT+IPS=XXXX"<BR>&nbsp; 
TC35的默认波特率是19.2k,实际使用时,可以改成9600或38.4K,方法如下:<BR>&nbsp; AT+IPR=9600 
回车<BR><BR>4、短信模式的设置<BR>&nbsp; 
(GSM模块的短信模式有2种。第1种是:TEXT模式;第2种是:PDU模式。PDU模式可以采用unicode编码发送英文、汉字。但合成PDU码比较复杂,而TEXT模式只能发送英文,但无须编码。实际使用可以采用TEXT模式。<BR>设置如下:<BR>&nbsp;&nbsp;&nbsp; 
AT+CMFG=1 回车<BR><BR>5、短信模式简介<BR>&nbsp;&nbsp;&nbsp; SMS是由Etsi所制定的一个规范(GSM 
03.40和GSM 
03.38)。当使用7-bits编码的时候它可以发送最多160个字符;8-bit编码(最多140个字符)。通常无法直接通过手机显示;通常被用来作为数据消息,例如:smart 
messaging中的图片和铃声和OTA 
WAP设置。16-bit信息(最多70个字符)被用来显示Unicode(UCS2)文本信息,可以被大多数的手机所显示。一个以class 
0开头的16-bit的文本信息将在某些手机上作为Flash SMS显示(闪烁的SMS和警告SMS)。<BR>&nbsp;&nbsp;&nbsp; 
有两种方式来发送和接收SMS信息:使用文本模式或者使用PDU(protocol description 
unit)模式。文本模式(可能某些手机不支持)实际上也是一种PDU编码的一种表现形式。在显示SMS信息,可能使用不同的字符集和不同的编码方式。<BR><BR>6、短信读取方法<BR>&nbsp;&nbsp;&nbsp; 
AT+CMGR=X回车<BR>如果有短信息,TC35回应:<BR>AT+CMGR=1<BR>+CMGR:"REC 
UNREAD","13307496548",,"04/08/17,22:24:32+02<BR>testOK<BR>OK<BR>短信息分析:<BR>“test 
OK"就是短信息内容。<BR>短信息的存储容量与Ic卡有关,序号从1-N。<BR>REC UNREAD":代表短信息未读过。<BR>REC 
READ"&nbsp;&nbsp;&nbsp; :已读过。<BR>13307496548"&nbsp; 
:接收的手机号码。<BR>04/08/17,22:24:32+02":短信息发送的时间。<BR>无短信息,TC35回应:<BR>AT+CMGR=3<BR>+CMGR:0,,0<BR><BR>7、短信的删除方法<BR>&nbsp;&nbsp;&nbsp; 
AT+CMGD=1回车<BR><BR>8、短信的发送方法<BR>&nbsp;&nbsp;&nbsp; 
短信息的发送分成两步:<BR>&nbsp;&nbsp;&nbsp; 1:发送接收的手机号码,等待应答:“&gt;"<BR>&nbsp;&nbsp;&nbsp; 
AT+CMGS="13307496548"回车(目的地址)<BR>&nbsp;&nbsp;&nbsp; 
TC35回应:<BR>&nbsp;&nbsp;&nbsp; AT+CMGS="13307496548"&nbsp; 
&gt;<BR>&nbsp;&nbsp;&nbsp; 2:&nbsp; 输入短信息的内容(只能是英文):Test 回车</P>
<P><STRONG>四、单片机控制TC35的方法<BR></STRONG>&nbsp;&nbsp;&nbsp; 
上面介绍了用PC机控制TC35的方法,我们只需将PC机输出的控制命令转化成单片机输出的指令即可。<BR>1、硬件连接<BR>&nbsp; 
电路见下图只需设计一个TTL转RS232电平电路,连接到MCU的UART口,另一端直接连接到TC35。<BR><A 
href="单片机控制GSM模块TC35的方法-电子开发网_files/1_14142926.jpg" target=_blank><IMG 
height=273 alt="" src="单片机控制GSM模块TC35的方法-电子开发网_files/1_14142926.jpg" width=370 
border=0></A>&nbsp;<BR>2、指令输出的方法<BR>&nbsp;&nbsp;&nbsp; 
单片机串口设置成模式1(9600,N,8,1),依次将AT+xxx以ASCII码形式输出到UART口;接收TC35的数据采用中断方式。这里给出详细的程序清单(Keil 
C51),不介绍编程的方法。程序见下:</P>
<P>//AT指令的定义<BR>char code AT_Tc35[]="AT+";&nbsp;&nbsp;&nbsp; //连机<BR>char code 
Bps_Tc35[]="IPR=38400";&nbsp; //波特率<BR>char code 
Text_Tc35[]="CMGF=1";&nbsp;&nbsp;&nbsp; //文本模式<BR>char code 
Read_Tc35[]="CMGR=";&nbsp; //读信息<BR>char code Erase_Tc35[]="CMGD=";&nbsp; 
//删除信息<BR>char code Send_Tc35[]="CMGS=";&nbsp; //发送信息<BR>char code 
Creg_Tc35[]="CREG?";&nbsp;&nbsp;&nbsp; //注册</P>
<P>//模式设置<BR>void UART_Init(void)<BR>{<BR>SCON=0x50;&nbsp;&nbsp;&nbsp; 
//01010000b=&gt;1模式scon,#11011000b;<BR>ES=l;<BR>}</P>
<P>//发送-个ASCII<BR>void SendASC(unsigned char ASC)<BR>{<BR>bit 
es;<BR>es=ES;<BR>ES=0;//关闭中断<BR>TI=0;<BR>SBUF=ASC;<BR>while(!TI);<BR>TI=0;<BR>ES=es;<BR>)</P>
<P>//发送命令到TC35<BR>void SendToTc35(unsigned char* p,unsigned char 
Long)<BR>{<BR>while(Long--)<BR>{<BR>&nbsp;&nbsp;&nbsp; SendASC(*p++);<BR>&nbsp; 
}<BR>}</P>
<P>//&nbsp; 通讯中断接收程序<BR>void Rs485_Do(void) interrupt 4 using 1<BR>&nbsp; 
{<BR>&nbsp; if(RI==l)<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
RI=0;<BR>&nbsp;&nbsp;&nbsp; RsBuq[RsPoint++]=SBUF;<BR>&nbsp;&nbsp;&nbsp; if 
fRsPoint&gt;=sizeof(RsBuf))<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; 
RsPoint=0;//FlagRs485=0;<BR>&nbsp;&nbsp;&nbsp; }&nbsp; //数据处理<BR>&nbsp; 
}<BR>&nbsp;}<BR><BR>// 发送AT连机命令<BR>char code AT_Code[]="OK";<BR>void 
Send_AT(void)<BR>{<BR>unsigned char *p;<BR>while(1)<BR>{<BR>&nbsp;&nbsp;&nbsp; 
ClrRsBuf(RsBuf,sizeof(RsBuf));<BR>&nbsp;&nbsp;&nbsp; 
SendToTc35(AT_Tc35,2);&nbsp;&nbsp;&nbsp; //"AT"<BR>&nbsp;&nbsp;&nbsp; 
SendASC(OVER);<BR>//************等待应答“ok"<BR>&nbsp;&nbsp;&nbsp; 
ES=1;&nbsp;&nbsp;&nbsp; //必须中断<BR>&nbsp;&nbsp;&nbsp; 
Delay(50);<BR>&nbsp;&nbsp;&nbsp; P=strstr(RsBuf,AT_Code);<BR>&nbsp;&nbsp;&nbsp; 
if(p!=NULL) break;<BR>}<BR>)</P>
<P>//发送bps连机命令<BR>void 
Send_BPS(void)<BR>{<BR>&nbsp;SendToTc35(AT_Tc35,3);&nbsp;&nbsp;&nbsp; 
//"AT+"<BR>&nbsp;SendToTc35(Bps_Tc35,sizeof(Bps_Tc35)-1);//"IPR=19200"<BR>&nbsp;SendASC(OVER);<BR>}</P>
<P>//设置文本<BR>void SetText(void)<BR>{<BR>SendToTc35(AT_Tc35,3);&nbsp;&nbsp;&nbsp; 
//"AT+"<BR>SendToTc35(Text_tc35,sizeof(Text_tc35)-1);//"IPR=19200"<BR>SendASC(OVER);<BR>Delay(100):</P>
<P>//删除短信息<BR>unsigned char EraseMsg(unsigned char index)<BR>{<BR>&nbsp;unsigned 
char *p,i=20;<BR>&nbsp;SendToTc35(AT_Tc35,3);&nbsp;&nbsp;&nbsp; 
//"AT+"<BR>&nbsp;SendToTc35(Erase_Tc35,sizeof(Erase_Tc35)-1);//"IPR=19200"<BR>&nbsp;SendASC(index);<BR>&nbsp;SendASC(OVER);<BR>&nbsp;ES=1;<BR>&nbsp;while(i--)<BR>{<BR>&nbsp;&nbsp;&nbsp; 
Delay(200);<BR>&nbsp;&nbsp;&nbsp; P=strstr(RsBuf,AT_Code);<BR>&nbsp;&nbsp;&nbsp; 
if(P!=NULL)&nbsp;&nbsp;&nbsp; {return 1;}<BR>}<BR>return 0;<BR>}</P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -