欢迎来到天天文库
浏览记录
ID:30768441
大小:104.00 KB
页数:9页
时间:2019-01-03
《gsm短信模块的实现程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、单片机串口不够用或者没有串口,怎么样模拟呢?串口通信时数据格式由一个起始位,八个数据位,一个或两个结束位组成。在数据发送是结束位是不能省。但在数据接收时,程序中就没有必要等待结束位T,因为在等待结束位的过程中,把下一个数据的起始中断也等待过去了。程序发送口采用任一10口,接收口采用外部中断0口,实现了9600bit/s的串口通信,信号产生与接收采用定时器定时溢出标志来进行控制。另外在程序中需要注意下面问题:1、中断的中断标志要保证状态止确2、定时器定时要精确下面是我们单片机是所写的串口通信程序,主要用来实习
2、发送和接收短信,因此下面的AT指令让我们一起学习一下:AT指令功能AT+CMGCSendanSMScommend(发出一条短信息命令)AT+CMGDDeleteSMSmessage(删除S1M卡内存的信息)AT+CMGFSelectSMSmessageformat(选择短消息信息格式:O-PDU;1-文本)AT+CMGLListSMSmessagefrompreferredstore(列岀SIM卡中的短消息格式PDU/TEXT:0RECUNREAD”为未读,1“RECREAD”为已读,2“STOUNSENT
3、”为待发,3“STOSENT”为已发,4“ALL”为全部AT+CMGRReadSMSmessage(读短消息)AT+CMGSSendSMSmessage(发短消息)AT+CMGWWriteSMSmessagetomemory(向SIM内存中写入待发的短消息)AT+CNM1NewSMSmessagestorage(显示新收到的短消息)AT+CPMSPreferredSMSmessagestorage(选择短消息内存)AT+CSCASMSservicecenteraddress(短消息中心地址)AT+CSCBS
4、electcellbroadcastmessagemessages(选择蜂窝广播信息)AT+CSMPSetSMStextmodeparameters(设置短消息文本模式参数)模块的供电电压如果低于3.3V会自动关机。同时模块在在发射时,电流峰值可高达2A。同时在此电流峰值时,电源电压(送入模块的电压)下降值不能超过0.4V。所以该模块对电源的要求较高,电源的内阻+FFC联接线的电阻必需小于200mQo单片机通过两根1/0口控制TC35的开关机、复位等,通过串口与TC35进行数据通信,通信速率为9600Kbp
5、s,采用8位异步通讯方式,1位起始位,8位数据位,1位停止位。TC35模块输入输出的TTL正电平逻辑不是+5V,而是+2.9V,因此必要时加端口保护。#ifndefsentmessage#definesentmessage#defineuintunsignedint#defineucharunsignedcharvoiddelay_l000us(ucharn)〃延迟0.01s{unsignedchara,b,c;for(c=0;c0;b—)for(a=17;a>0;a
6、-);}}voiddelay_100us(ucharc)〃误差-0.17361111111lus{unsignedchara,b,i;fdr(i=0;iO;b—)for(a=43;a>0;a—);}}voiddelay_5s(void)〃误差-0.000000002274us{unsignedchara,b,c;for(c=203;c>0;c-)for(b=156;b>0;b—)for(a=144;a>0;a-);}voidSendchar(unsignedcharc){
7、SBUF=c;while(!TI);TI=0;}voidSentstring(unsignedchar*p)while(*p!=' ')Sendchar(*p++);}/*voidSent_message()Sentstring(MAT+CMGS=V1252015215029882'“”);Sendchar(OXOD);Sendchar(OXOA);delay_1000us(20);Sentstring(*'afasfasd'*);delay_100us(60);Sendchar(Oxla);}*/voi
8、dPre_readmessage(){SentstringC'AT");Sendchar(OXOD);Sendchar(OXOA);delay_l000us(20);Sentstring(,'AT+CMGF=r,);Sendchar(OXOD);Sendchar(OXOA);delay_1000us(20);SentstringC'AT+CNMI=2,1");Sendchar(OXOD);Sendchar(OXO
此文档下载收益归作者所有