當前位置:名人名言大全網 - 祝福短信 - 如何用單片機控制SIM300(功能:向設定的手機發送英文信息)?尋求程序。

如何用單片機控制SIM300(功能:向設定的手機發送英文信息)?尋求程序。

/************************************************************

程序描述:

該程序實現了發送壹條英文短信,並向該號碼發送10086的指令。

1.我們所有的程序都通過單片機的串口2與SIM300通信。串口1用於下載程序,觀察SIM300返回的數據。

(串口2接收到的SIM300返回的數據將通過串口1發送到計算機進行數據觀察)。在使用過程中,如果不是,

有特殊要求的無需更換跳線帽。

2.將手機卡放在開發板上,連接天線,打開電源,連接耳機。

3.編譯程序下載到單片機,用STC—ISP下載。詳情請參考教程。

4.按下按鈕4,發送查詢當前服務狀態的指令。當服務狀態顯示中國移動時,證明已經找到網絡,可以正常連接。

是的,如果顯示0,0,再次按下按鈕4,直到出現中國移動。

5.按下鍵5發送指令設置10086。電話是短信發的號碼。

6.此時,串行端口將回復' > '

6.按下按鈕6,設置發送內容,發送短信,成功後通過串口返回+CMGS。..

*************************************************************/

#包含“stc12c5a.h”

#包含“systerm.h”

#包含“gprs.h”

#包含“timer.h”

void main()

{

//調整輸入函數的加載值來改變串口的波特率。

//UART 1 init(0,1,184);//初始化串行端口,並將波特率設置為4800。

//UART 2 init(0,1,220);//初始化串行端口,並將波特率設置為9600。

//UART 2 init(0,1,232);//初始化串口,設置波特率為14400。

//UART 1 init(0,1,253);//初始化串口,設置波特率為115200。

timer 0 init();

Uart1Init(0,1,220);//初始化串行端口,並將波特率設置為9600。

Uart2Init(0,1,220);//初始化串行端口,並將波特率設置為9600。

//按復位鍵啟動Sim300大約需要3秒鐘。

GPRS _ RST = 0;//Sim300復位鍵被拉低。

德萊賽克(3);//延遲3秒

GPRS _ RST = 1;//Sim300復位鍵被拉高。

//Sim300啟動完成。

LED5 _ OFF

LED6 _ OFF

LED7 _ OFF

LED8 _ OFF

while(1)

{

If(KEY4_PRESS)// key 4發送查詢當前服務狀態的指令。

{

while(按鍵4 _按下)

{

LED8 _ ON

}

LED8 _ OFF

Uart2Sends("at+cops?\ r ");//發送查詢當前服務狀態的指令。

}

If(KEY5_PRESS)//按5鍵發送指令發送電話號碼10086。

{

while(按鍵5 _按下)

{

LED7 _ ON

}

LED7 _ OFF

UART 2 sends(" AT+CMGF = 1 \ r ");//設置英文模式發送,當然中文也可以用AT+CMGF=0,只是發送模式不同。詳情請參考相關程序。

德萊賽克(1);

UART 2 sends(" AT+CMGS = \ " 10086 \ " \ r ");//發送指令設置10086電話是短信發送的號碼。

}

If(KEY6_PRESS)//按6鍵發送內容。

{

while(按鍵6 _按下)

{

LED6 _ ON

}

LED6 _ OFF

UART 2 sends(" 103 ");//103是發送的內容。

UART 2 send(0x 1a);//以0x1a結尾,表示內容結束,發送短信。

}

}

}