程序描述:
該程序實現了發送壹條英文短信,並向該號碼發送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結尾,表示內容結束,發送短信。
}
}
}