<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機控制手機的硬軟件接口技術(shù)及其應用

單片機控制手機的硬軟件接口技術(shù)及其應用

作者: 時(shí)間:2012-03-29 來(lái)源:網(wǎng)絡(luò ) 收藏

現對幾個(gè)問(wèn)題說(shuō)明如下:

⑴所有AT指令的指令符號、常數、PDU數據包等都是以ASCII編碼形式傳送的,比如“A”的ASCII編碼為41H,“T”的ASCII編碼為54H,數字“0”的 ASCII編碼為30H等。

工作,必須把的短信息工作模式設置為PDU格式,即通過(guò)指令AT+CMGF=0完成。

發(fā)送每一條指令后,必須以回車(chē)符作為該條指令的結束,回車(chē)的ASCII編碼為0DH,例如向手機發(fā)送“AT+CMGF=0”這條指令,其ASCII編碼序列為“41H、54H、2BH、42H、4DH、47H、46H、3DH、30H、0DH”,最后一個(gè)字節0DH就是回車(chē)符,表示該條指令結束,如果沒(méi)有這個(gè)回車(chē)符,手機將不識別這條指令。

⑷當手機接收到一條完整的AT指令后,手機并不立即執行這條指令,而是①先把剛才接收到的AT指令的全部ASCII編碼序列全部反發(fā)送出來(lái)(含0DH);②其次發(fā)送一個(gè)回車(chē)符和換行符的ASCII編碼,即0DH和0AH;③執行該條指令。

⑸手機向單片機傳送短信息內容時(shí),其PDU數據包的內容是以16進(jìn)制表示的數據,但并不是直接向單片機傳遞16進(jìn)制數據,而仍然是把每一位16進(jìn)制數以ASCII編碼來(lái)發(fā)送。這樣,二個(gè)字節的16進(jìn)制數就變成4個(gè)字節的ASCII碼。但是,PDU數據包中的數據字節長(cháng)度部分仍然是實(shí)際字節長(cháng)度,而不是變成ASCII碼的字節長(cháng)度,這在編程時(shí)應特別注意,否則,接收的數據就不完整。單片機接收到PDU數據包數據后,必須將其恢復成16進(jìn)制數據,其算法如下:

設: a為接收的ASCII碼,b為轉換后的16進(jìn)制數。那么:如果a<39H,則b=a-30H;如果a>39H,則b=a-30H-07H。最后把前后兩個(gè)數合并為一個(gè)字節。

⑹手機向單片機應答PDU數據包的字節數不包括前9個(gè)字節數據 (短信服務(wù)中心地址),但向單片機傳送PDU數據包時(shí),包括這9 個(gè)字節的數據,例如,如果手機應答的pdu數據長(cháng)度為50,而實(shí)際向單片機傳送的16進(jìn)制數據為59字節,ASCII碼為2*59字節,所以,單片機必須按2*59個(gè)字節接受pdu數據。

3、舉例

作者利用上述原理和開(kāi)發(fā)了一個(gè)項目:高速公路顯示導引系統。安裝在高速公路上的LED顯示屏實(shí)時(shí)顯示前方路段車(chē)輛通行態(tài)勢,和天氣氣候情況,提醒并引導駕駛人員,正確駕駛。該系統的使用一定程度上消除了許多交通事故隱患,從而保障了道路的暢通和人民生命財產(chǎn)的安全。該系統由中心和若干個(gè)顯示屏組成。中心實(shí)時(shí)將最新信息發(fā)送到各顯示屏。構建控制中心與顯示終端的通信鏈路,傳統的方法要么鋪設光纜用有線(xiàn)方式實(shí)現,要么構建專(zhuān)用無(wú)線(xiàn)網(wǎng)用無(wú)線(xiàn)方式實(shí)現。因為高速公路的特殊性,控制中心與顯示終端之間的距離通常很遠,兩種方案都必須投入大量資金和巨大的施工工作量。如果采用GSM公眾無(wú)線(xiàn)傳輸網(wǎng)絡(luò ),控制中心以短信息的形式把顯示信息發(fā)送到顯示終端的方案,則具有投資小,施工方便,工作可靠,運行費用低等諸多優(yōu)點(diǎn)。

在控制中心,微機編輯好短信息后通過(guò)手機這個(gè)載體發(fā)送出去,在顯示終端,單片機通過(guò)讀取手機的短信息把它顯示到LED顯示屏上。項目的核心是單片機與手機的和PDU數據包中的漢字信息編碼,因為短信息中的漢字僅僅是一個(gè)編碼,單片機系統將編碼變?yōu)闈h字點(diǎn)陣數據,必須配置漢字字庫。按照GSM07.05協(xié)議規定,短信息中的漢字編碼為unicode編碼,如果,構建一個(gè)unicode編碼的漢字字庫,確實(shí)是一件繁瑣的工作,因此,在設計單片機系統時(shí),采用了如下兩點(diǎn)技術(shù)措施?! ?p>1)單片機系統配置的字庫為GB-2312編碼的漢字庫,即區位碼漢字庫,該漢字庫在網(wǎng)上可免費下載,固化到Flash存儲芯片中即可。當然這樣做的前提是,PDU數據包中的漢字編碼必須為漢字內碼而非Unicode編碼。

2)控制中心編輯PDU數據包數據時(shí),采用自定義數據方式,其中,代表漢字的數據,直接取用漢字的機內碼即可,免去了把機內碼再轉換為Unincode編碼之苦。實(shí)踐證明,這是可行的。

采用以上技術(shù)措施的優(yōu)點(diǎn),一是省去了兩種編碼的相互轉換;二是保證了數據的保密性,非系統內用戶(hù)無(wú)法接收,即使接收也無(wú)法顯示。

該項目研制成功投入使用后,因顯示終端只接收不發(fā)送,幾乎沒(méi)有運行成本。發(fā)送端(控制中心)可采用月租方式,也能把運行費用降低到最低限度。因此該項目受到用戶(hù)滿(mǎn)意的評價(jià)。

參考文獻
[1] 薛棟梁?jiǎn)纹瑱C原理與應用[M] 北京水利水電出版社 2001
[2]李鴻用單片機控制手機收發(fā)短信息電子技術(shù)應用2002
[3]馬潮嵌入式GSM短信息的軟硬件設計單片機及嵌入式應用 2002
[4] http://www.21IC.com


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>