一種短信控制的水浸報警系統(tǒng)設(shè)計
2 軟件設(shè)計
2.1 軟件流程
軟件流程如圖3所示,主要分為以下幾部分:單片機(jī)及TC35初始化,濾波檢測,發(fā)送報警短信,接收短信并解碼處理,低功耗模式。本文引用地址:http://butianyuan.cn/article/159667.htm
2.2 AT指令集
AT指令集是GSM模塊與外部處理器之間的通信協(xié)議。用戶可以通過AT指令進(jìn)行呼叫、短信、電話本、數(shù)據(jù)業(yè)務(wù)、傳真等方面的控制。所有單片機(jī)對TC35的控制都是通過UART串口發(fā)送AT指令完成的,AT指令的發(fā)送要按照規(guī)定的語法格式,每一個命令行的開始都要以AT(或at)開頭,結(jié)尾要以CR>結(jié)束。發(fā)送AT指令后通常會受到返回字符,字符格式為CR>LF>返回字符>CR>LF>。CR>是回車字符(ASCII碼為16進(jìn)制0d,即0x0d),LF>是換行字符(ASCII碼為16進(jìn)制0a,即0x0a)。系統(tǒng)用到的AT指令見表1。
2.3 初始化過程
初始化過程分為單片機(jī)初始化和TC35初始化。單片機(jī)初始化包括關(guān)閉看門狗,系統(tǒng)時鐘初始化,端口(Port)初始化,UART串口初始化和ADC模塊初始化;TC35初始化包括發(fā)送AT指令“ATF”,“AT+CMGF=1”,“AT+CNMI=3,1,0,2”,“AT+CMGD=1”。
單片機(jī)的初始化系統(tǒng)時鐘為16 MHz,采用外部時鐘源。端口初始化包括I/O的輸入輸出方向配置,初始化端口值配置。當(dāng)從單片機(jī)系統(tǒng)接收串口數(shù)據(jù)時,TC35模塊可以從300 b/s~115 Kb/s自適應(yīng)傳輸速率。但是,單片機(jī)系統(tǒng)不能自適應(yīng)TC35的串口速率。因此,單片機(jī)與TC35模塊應(yīng)設(shè)置同一傳輸速率,如單片機(jī)系統(tǒng)的UART串口設(shè)置9 600 b/s。UART串口選擇移位寄存器低位優(yōu)先(LSB first),8位數(shù)據(jù)位,1位停止位,UART同步模式,傳輸速率為9 600 b/s。ADC參考電壓選擇2.5 V。TC35初始化在單片機(jī)與TC35模塊之間要通過AT指令進(jìn)行配置,發(fā)送“AT+CMGF=1”設(shè)置短信格式為TEXT,發(fā)送“AT+CNMI=3,1,0,2”設(shè)置新短信提示,當(dāng)TC35收到新短信后主動向單片機(jī)報告并顯示存儲地址,如“+CMTI:“SM”,1”。發(fā)送“AT+CMGD=1”刪除地址1的短信,每次TC35使用時都要清空地址1的短信,當(dāng)接收到新短信時,可以將短信存儲到地址1的位置,解碼短信后也要執(zhí)行刪除短信的命令。需要說明的是,一個已注冊網(wǎng)關(guān)的SIM卡不需要設(shè)置短信中心號碼。
評論