新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 基于GSM短消息控制的智能照明節(jié)電系統(tǒng)設(shè)計

基于GSM短消息控制的智能照明節(jié)電系統(tǒng)設(shè)計

作者: 時間:2009-04-03 來源:網(wǎng)絡(luò) 收藏

注意單片機與MC35i串口不能直接相連,因為89C52管腳為5 V標(biāo)準(zhǔn)TTL電平,而MC35i電平較低,為3 V左右。為解決電平接口不一致的問題,同時避免板間干擾、提高通信的靈活性和可擴展性,中在單片機和模塊之間加了一個MAX232電平轉(zhuǎn)換電路。
下面重點論述中微處理器與之間如何實現(xiàn)收發(fā)。


4 分析與實現(xiàn)
為實現(xiàn)軟件短信息的編輯和收發(fā),我們有必要先分析一下的格式,然后再確定如何通過AT命令實現(xiàn)短消息的收發(fā)。
4.1 短消息分析
短消息的發(fā)送和接收共有三種模式:Block模式、AT命令的Text模式和AT命令的PDU模式。其中只存PDU模式可以用于中英文短消息傳送,但因為有編碼、解碼過程,所以較Text模式復(fù)雜。由于PDU模式有很好的數(shù)據(jù)信息存儲格式,并對中文有很好的支持.PDU模式在移動設(shè)備中使用最為普遍,現(xiàn)在各大網(wǎng)絡(luò)公司都采用PDU模式來進(jìn)行短消息的處理。
根據(jù)GSM07.05的定義,只要終端通過UART接口向GSM模塊發(fā)送AT命令,就可以直接讀取收到的PDU模式的短消息。PDU模式的數(shù)據(jù)表面上看是一串ASCII碼,由‘O’~‘9’,‘A’~‘F’這些數(shù)字和字母組成,他們是8位字節(jié)的十六進(jìn)制數(shù)。PDU數(shù)據(jù)不僅包含可顯示的消息本身,還以固定格式包含很多其他消息,如SMS服務(wù)中心號碼、目標(biāo)號碼、回復(fù)號碼、編碼方式和服務(wù)時間等。
目前國內(nèi)漢字顯示采用GB一2313編碼,而GSM標(biāo)準(zhǔn)中中文編碼采用UTF一8編碼,因此處理短消息時需要進(jìn)行中文編碼的轉(zhuǎn)換,才能與采用GB一2313漢字庫相配合顯示漢字字型。
由于UTF一8編碼和GB一2313漢字庫之間不存在一一對應(yīng)的線性關(guān)系,因此嵌入式系統(tǒng)中只能采用查表的方式進(jìn)行轉(zhuǎn)換。下面給出一個由UTF一8編碼到GB一2313編碼轉(zhuǎn)換的算法。
首先在存儲區(qū)建立UTF一8和GB一2313兩個編碼表,然后進(jìn)行軟件解碼。每次從PDU模式的短消息數(shù)據(jù)串的用戶數(shù)據(jù)段取出兩個字節(jié),采用二分法快速數(shù)據(jù)查找算法,在UTF一8編碼表中找到編碼所對應(yīng)的位置,然后在GB一2313編碼表對應(yīng)位置上讀出短信內(nèi)容相對應(yīng)的GB一2313編碼。相應(yīng)的軟件流程如圖3所示。二分法的最壞查找次數(shù)為lg2(n+1),UTF一8表的長度n為7 445,所以最壞情況查找次數(shù)為13次,即一個中文編碼由UTF一8到GB一2313的轉(zhuǎn)換最多經(jīng)過13次比較查找就可完成。這比采用簡單的順序查表快地多,大大減少了查表所花費的時間,非常適合在一般的嵌入式系統(tǒng)中使用。

4.2 使用AT命令實現(xiàn)短消息收發(fā)



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉