新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于ATmegal6的GPRS數(shù)據(jù)終端設(shè)計(jì)

基于ATmegal6的GPRS數(shù)據(jù)終端設(shè)計(jì)

作者: 時(shí)間:2009-12-29 來源:網(wǎng)絡(luò) 收藏

1.2 與LCD的硬件接口
系統(tǒng)中采用HD44780液晶控制芯片的16×2字符型LCD,該器件內(nèi)置了字符產(chǎn)生器,能顯示192個(gè)常用字符(包括阿拉伯?dāng)?shù)字和大小寫英文字母)和16個(gè)用戶自定義字符,它與的接口如圖3所示。HD44780的數(shù)據(jù)總線DB7~DB0與的PA7~PA0相接,RS、R/W和EN分別與單片機(jī)的PD3、PD4和PD5相連。利用ATmega16的I/O口控制LCD進(jìn)行指令和數(shù)據(jù)輸入,正確地顯示出經(jīng)緯度數(shù)據(jù)。

本文引用地址:http://www.butianyuan.cn/article/157699.htm

2 ATmega16與G20模塊的接口程序
利用網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸一般有多種組網(wǎng)方案,這里以其中一種方案進(jìn)行說明,其他方案的實(shí)現(xiàn)方式類似。該方案采用數(shù)據(jù)中心公網(wǎng)固定IP,由監(jiān)測(cè)點(diǎn)直接向中心發(fā)起連接。
G20模塊自身內(nèi)嵌了TCP/IP和UDP/IP協(xié)議棧,大大簡化了接口程序的編寫。G20模塊串口通信默認(rèn)在57 600 b/s的速率下進(jìn)行,數(shù)據(jù)格式為:8位數(shù)據(jù)位、1位停止位、無奇偶校驗(yàn)和硬件流控制。
G20模塊只能接受由ASCII字符代碼組成的標(biāo)準(zhǔn)格式的AT指令。根據(jù)Developer′S Guide-Motorola G20 AT Commands所講述的內(nèi)容,一行G20模塊的AT指令可以包含一條或者多條命令,這些命令必須由分隔符相隔,每個(gè)AT指令行不得超過140個(gè)字符。G20模塊具體的AT命令行結(jié)構(gòu)如圖4所示。

每個(gè)AT命令行均以字符串“AT”為前綴,以回車符“CR>”為后綴。命令行中各指令之間的分隔符可以為分號(hào)“;”或者空格。命令行中的英文字母可以是大寫格式,也可以是小寫格式。
每當(dāng)G20模塊接收到指令時(shí)都會(huì)輸出相關(guān)的響應(yīng)信息,以顯示指令的執(zhí)行結(jié)果。響應(yīng)信息的數(shù)據(jù)格式如圖5所示。響應(yīng)信息由3部分組成:前綴、響應(yīng)代碼和后綴。其中,前綴和后綴一樣,均為回車和換行符,即“CR>LF>”;不同指令在不同情況下的響應(yīng)代碼也不一樣。

在實(shí)際應(yīng)用中,可以通過程序控制ATmegal6由其異步串行口按照既定的通信速率、數(shù)據(jù)格式和指令形式向G20模塊發(fā)出控制指令,然后監(jiān)視G20模塊的響應(yīng)信息,根據(jù)響應(yīng)信息判斷命令的執(zhí)行結(jié)果,進(jìn)而控制G20模塊進(jìn)行遠(yuǎn)程無線數(shù)據(jù)發(fā)送。利用G20模塊實(shí)現(xiàn)數(shù)據(jù)發(fā)送一般要按照以下控制步驟進(jìn)行(這里使用的是UDP協(xié)議):
(1)通過指令“at+mipcall=Operation>[APN>,[User name>,Password>-]]”建立一個(gè)無線鏈接,如“at+mipcall=1,cmnet”。在這里,“cmnet”是中國移動(dòng)的APN名稱。其中Operation>可為0或1,0代表斷開連接,1代表連接。[APN>,[User―name>,Password>]]是可選項(xiàng),無需時(shí)省去。如果鏈接建立成功,G20模塊將會(huì)返回本機(jī)的IP地址,如“CR>LF>0KCR>LF>CR>LF>+mipcall:10.103.201.135CR>LF>”,此時(shí)本機(jī)在移動(dòng)內(nèi)網(wǎng)的IP地址為:10.103.201.135。如果鏈接不成功,G20模塊將會(huì)返回錯(cuò)誤信息“CR>LF>ERRORCR>LF>”。



評(píng)論


相關(guān)推薦

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

關(guān)閉