久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
51單片機(jī)控制SIM900A帶檢測GSM模塊返回?cái)?shù)據(jù)的源碼
[打印本頁]
作者:
一個(gè)大水筆
時(shí)間:
2018-5-2 11:10
標(biāo)題:
51單片機(jī)控制SIM900A帶檢測GSM模塊返回?cái)?shù)據(jù)的源碼
求大神解釋
單片機(jī)源程序如下:
/************************************************************
程序說明:
首先要確定模塊已經(jīng)注冊(cè)到網(wǎng)絡(luò)
然后正確的硬件連接 P3.0-----STXD或者5VT P3.1-----SRXD或者5VR GND---GND(只要保證公地即可,沒必要單獨(dú)接一次)
然后確認(rèn)你單片機(jī)上的晶振,根據(jù)晶振修改自己的程序。
推薦先將單片機(jī)與電腦相連,確定單片機(jī)發(fā)送的數(shù)據(jù)是正確的。如果發(fā)送的是亂碼,請(qǐng)檢查晶振與單片機(jī)的串口波特率。
如果通過以上幾條還解決不了問題,請(qǐng)看群共享文件 AN0004 。
*************************************************************/
#include <REG51.H>
#include <string.H>
#define uchar unsigned char
#define uint unsigned int
//以下是板子上LED的配置,把Px_x改成自己對(duì)應(yīng)的腳。LED 只是用來提示,非必須。
//以下是你的51單片機(jī)的晶振大小
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P14=P1^4;
sbit P15=P1^5;
#define FOSC_110592M
//#define FOSC_12M
//以下是開機(jī)后撥打的手機(jī)號(hào),改成自己想要打的號(hào)碼即可。
uchar num[] = "ATD10086;\r\n";
//以下是GSM模塊返回?cái)?shù)據(jù)
uchar rec_data[50];
uchar rec_num;
//注意,無論接收到信號(hào)還是發(fā)送完信號(hào),都會(huì)進(jìn)中斷服務(wù)程序的
/*初始化程序(必須使用,否則無法收發(fā)),次程序?qū)?huì)使用定時(shí)器1*/
void SerialInti()//初始化程序(必須使用,否則無法收發(fā))
{
TMOD=0x20;//定時(shí)器1操作模式2:8位自動(dòng)重載定時(shí)器
#ifdef FOSC_12M //在這里根據(jù)晶振大小設(shè)置不同的數(shù)值初始化串口
TH1=0xf3;//裝入初值,波特率2400
TL1=0xf3;
#else
TH1=0xfd;//裝入初值,波特率9600
TL1=0xfd;
#endif //end of SOC_12M
TR1=1;//打開定時(shí)器
SM0=0;//設(shè)置串行通訊工作模式,(10為一部發(fā)送,波特率可變,由定時(shí)器1的溢出率控制)
SM1=1;//(同上)在此模式下,定時(shí)器溢出一次就發(fā)送一個(gè)位的數(shù)據(jù)
REN=1;//串行接收允許位(要先設(shè)置sm0sm1再開串行允許)
EA=1;//開總中斷
ES=1;//開串行口中斷
}
/*串行通訊中斷,收發(fā)完成將進(jìn)入該中斷*///如:+CMTI:"SM",2
void Serial_interrupt() interrupt 4
{
uchar temp;
temp=SBUF;
rec_data[rec_num++]=temp;
if(rec_num>=50)
rec_num=0;
else
;
RI=0;//接收中斷信號(hào)清零,表示將繼續(xù)接收
}
//串行口連續(xù)發(fā)送char型數(shù)組,遇到終止號(hào)/0將停止
void Uart1Sends(uchar *str)
{
while(*str!='\0')
{
SBUF=*str;
while(!TI);//等待發(fā)送完成信號(hào)(TI=1)出現(xiàn)
TI=0;
str++;
}
}
void Uart1BYTE(uchar temp)
{
SBUF=temp;
while(!TI);//等待發(fā)送完成信號(hào)(TI=1)出現(xiàn)
TI=0;
}
uchar hand(uchar *ptr)
{
if(strstr(rec_data,ptr)!=NULL)
return 1;
else
return 0;
}
void clear_rec_data()
{
uchar i;
for(i=0;i<strlen(rec_data);i++)
{
rec_data[i]='0';
}
rec_num=0;
}
//延時(shí)函數(shù)大概是1s鐘,不過延時(shí)大的話不準(zhǔn)...
void DelaySec(int sec)
{
uint i , j= 0;
for(i=0; i<sec; i++)
{
for(j=0; j<65535; j++)
{
}
}
}
void main()
{
uchar i = 0;
SerialInti();
Uart1Sends("AT\r\n"); //同步波特率,如果將模塊配置固定波特率,此條指令就不需要發(fā)了
while(!hand("OK"))
{
clear_rec_data();
i++;
Uart1Sends("AT\r\n");//
DelaySec(1);//延時(shí)
if(i>=5)
{
break;
//return;
}
else
;
}
Uart1Sends("AT\r\n"); //同步波特率,如果將模塊配置固定波特率,此條指令就不需要發(fā)了
while(!hand("OK"))
{
clear_rec_data();
i++;
Uart1Sends("AT\r\n");//
DelaySec(1);//延時(shí)
if(i>=5)
{
break;
//return;
}
else
;
}
Uart1Sends("ATI\r\n"); //握手
while(!hand("OK"))
{
clear_rec_data();
i++;
Uart1Sends("ATI\r\n");//
DelaySec(1);//延時(shí)
if(i>=5)
{
break;
//return;
}
else
;
}
P10=0;
clear_rec_data();//刪除存儲(chǔ)的GSM模塊返回的數(shù)據(jù),以便于以后繼續(xù)判斷
DelaySec(1);//延時(shí)
Uart1Sends("AT+CSQ\r\n");//信號(hào)質(zhì)量
DelaySec(1);//延時(shí)
i=0;
while(!hand("OK")) //檢測此條指令GSM模塊是否執(zhí)行OK
{
clear_rec_data();
i++;
Uart1Sends("AT+CSQ\r\n");//
DelaySec(1);//延時(shí)
if(i>=5)
{
break;
//return;
}
}
P11=0;
clear_rec_data();
DelaySec(1);//延時(shí)
Uart1Sends("AT+CPIN?\r\n");//查看是否讀到手機(jī)卡
DelaySec(1);//延時(shí)
i=0;
while(!hand("READY")) //檢測SIM模塊是否收到SIM卡READY
{
clear_rec_data();
i++;
Uart1Sends("AT+CPIN?\r\n");//是否注冊(cè)到網(wǎng)絡(luò)
DelaySec(1);//延時(shí)
if(i>=5)
{
break;
//return;
}
else
;
}
P12=0;
Uart1Sends("AT+COPS?\r\n");//是否注冊(cè)到網(wǎng)絡(luò)
DelaySec(1);//延時(shí)
i=0;
while(!hand("CHINA")) //檢測是否收到模塊返回的CHINA
{
clear_rec_data();
i++;
Uart1Sends("AT+COPS?\r\n");//是否注冊(cè)到網(wǎng)絡(luò)
DelaySec(1);//延時(shí)
if(i>=5)
{
break;
//return;
}
else
;
}
P13=0;
clear_rec_data();
DelaySec(1);//延時(shí)
//以下是發(fā)送英文短信短信
Uart1Sends("AT+CSCS=\"GSM\"\r\n"); //
DelaySec(1);//延時(shí)
Uart1Sends("AT+CSCA?\r\n"); //短信中心號(hào)碼
DelaySec(1);//延時(shí)
Uart1Sends("AT+CMGF=1\r\n"); //方式1
DelaySec(1);//延時(shí)
Uart1Sends("AT+CMGS=\"10086\"\r\n"); //此處修改短信接收方電話號(hào)
DelaySec(1);//延時(shí)
Uart1Sends("ye"); //此處修改短信內(nèi)容
DelaySec(1);//延時(shí)
Uart1BYTE(0X1A);
DelaySec(1);//延時(shí)
DelaySec(1);//延時(shí)
DelaySec(1);//延時(shí)
DelaySec(1);//延時(shí)
P14=0;
//發(fā)送英文短信結(jié)束
Uart1Sends("AT+CMGD=1,4\r\n");//刪除SIM卡中的內(nèi)容
DelaySec(1);//延時(shí)
//以下是撥打10086代碼
Uart1Sends(num); //撥打10086
DelaySec(1);//延時(shí)
DelaySec(1);//延時(shí)
DelaySec(1);//延時(shí)
DelaySec(1);//延時(shí)
//撥打電話代碼結(jié)束
//以下內(nèi)容沒有實(shí)際測試,僅供參考
while(1)
{
if(hand("CMTI"))
{
P13=0;
clear_rec_data();
DelaySec(1);//延時(shí)
Uart1Sends("AT+CMGR=1\r\n");//
DelaySec(1);//延時(shí)
i=0;
while(!hand("OK"))
{
clear_rec_data();
i++;
Uart1Sends("AT+CMGR=1,4\r\n");//
DelaySec(1);//延時(shí)
if(i>=2) //chucuo
{
break;
//return;
}
else
;
}
clear_rec_data();
DelaySec(1);//延時(shí)
if(hand("relay on"))
{
P14=0;
//break;
}
else if(hand("relay off"))
{
P15=0;
//break;
}
else
{
//break;
}
Uart1Sends("AT+CMGD=1,4\r\n");//
DelaySec(1);//延時(shí)
}
else if(hand("ring")) //電話進(jìn)來 掛斷電話
{
Uart1Sends("ATH\r\n");//
DelaySec(1);//延時(shí)
i=0;
while(!hand("OK"))
{
clear_rec_data();
i++;
Uart1Sends("ATH\r\n");//
DelaySec(1);//延時(shí)
if(i>=2)
{
break;
//return;
}
else
;
}
clear_rec_data();
DelaySec(1);//延時(shí)
}
else
{
;
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
51控制SIM900A帶檢測GSM模塊返回?cái)?shù)據(jù).rar
(2.51 KB, 下載次數(shù): 47)
2018-5-2 11:10 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
zqy1818
時(shí)間:
2018-8-3 10:31
感謝分享,支持下
作者:
hanyi47
時(shí)間:
2018-8-6 10:23
可以反饋實(shí)測的數(shù)據(jù)嗎?不是固定的短信
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产成人精品一区二区
|
中文字幕一区二区三区四区
|
丁香一区二区
|
国产毛片视频
|
免费观看一区二区三区毛片
|
精品视频在线免费观看
|
在线看av的网址
|
99热在这里只有精品
|
中文字幕在线免费观看
|
超碰天天
|
东京久久
|
精品久久九
|
91精品国产91久久综合桃花
|
日韩欧美国产一区二区三区
|
国产精品美女久久久久久久久久久
|
亚洲日日夜夜
|
亚洲午夜av久久乱码
|
久久久久亚洲
|
91色视频在线观看
|
欧美啊v在线观看
|
国产精品自拍视频网站
|
色婷婷久久
|
久久久蜜桃一区二区人
|
密室大逃脱第六季大神版在线观看
|
成人在线一区二区三区
|
一本大道久久a久久精二百 国产成人免费在线
|
日韩最新网站
|
国产精品一区二区久久精品爱微奶
|
99福利在线观看
|
久久com
|
日韩欧美在线不卡
|
天天干国产
|
成在线人视频免费视频
|
一区二区三区四区在线视频
|
久久精品国产a三级三级三级
|
国产一二区免费视频
|
热久久免费视频
|
av网站在线看
|
伊人免费视频二
|
www.887色视频免费
|
久久久久亚洲
|