基于嵌入式GSM模塊的水文監測系統的設計
如圖4所示,主要由GSM模塊MC35、DTMF信號解碼器MT8870、單片機AT89S51、顯示模塊、PC機等部分組成。
當MC35收到子機發來的短信(水位數據)時,從其串行口TXD輸出至帶RS 232接口的PC機,PC機完成數據處理、存儲、顯示、報表等功能。
當主機需要向子機發送指令時,使用鼠標點擊PC屏幕軟按鈕,PC機則按照規定的格式組成包含指令內容的AT指令數據包,通過RS 232接口向MC35串口RXD端送出,MC35接收后即向子機發送指令短信,完成了指令下傳的工作。
當主機需要以“撥號”方式呼叫子機時,可由PC機鍵盤輸入子機的“電話號碼”,然后點擊“撥號”按鈕(電話號碼也可以事先設定),則PC機由USB口經“USB轉232轉換器”向MC35的串口RXD端寫入一條相應的AT指令,實現了對子機的撥號呼叫;稍后,MC35就會收到從子機送來的DTMF信號,該信號從喇叭接口SP+端輸出,送入DTMF信號解碼器MT8870的IN-端,MT8870正確解碼后,在Q0,Q1,Q2,Q3端輸出4 b相應的二進制碼,同時STD端會輸出一個正脈沖,單片機P1.4端檢測到該脈沖,P1.0~P1.3即讀取二進制碼。水位數據(包括結束符*)由若干位組成,因此MT8870的解碼、單片機的讀取須經幾次,直到讀到“*”號才完成一組完整數據的讀取,然后單片機對數據處理后送LED顯示器,同時由串口TXD端經USB-232轉換器送PC機。
5 AT指令及DTMF信號傳送數據原理
5.1 AT指令
對于MC35,只要按規定從其串口輸入AT指令,就能執行相應的功能。本文中涉及到的有關AT指令如表1所示。
以上指令中0D是回車符的ASCII碼,1A是替補的ASCII碼,其余所有字符、數字均需轉換為ASCII碼后輸入MC35串口。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)tcp/ip相關文章:tcp/ip是什么
浮球開關相關文章:浮球開關原理
評論