西華師范大學(xué) 林東虹
全球定位系統(tǒng)(GPS)是一種應(yīng)用比例很高的導(dǎo)航定位系統(tǒng)。其在顯示三維位置、速度信息方面有著廣泛的應(yīng)用,可基于衛(wèi)星信號(hào)實(shí)現(xiàn)這些個(gè)功能。在不斷的改進(jìn)和完善后,全球定位系統(tǒng)開始在軍事、通訊、遙感、大地測量等相關(guān)領(lǐng)域大量應(yīng)用,且表現(xiàn)出很高的應(yīng)用價(jià)值,同時(shí)也在一定角度上促進(jìn)了人類的科學(xué)文化生活的發(fā)展。目前這種系統(tǒng)開始向便攜式發(fā)展,在生活中的應(yīng)用比例不斷的提高,因而很有必要對此進(jìn)行研究。
本文對GPS接收機(jī)的原理和基于單片機(jī)的LCD顯示器進(jìn)行了設(shè)計(jì),在研究過程中設(shè)計(jì)實(shí)現(xiàn)了一臺(tái)手持式GPS定位接收設(shè)備,同時(shí)對其功能進(jìn)行了論述。該定位系統(tǒng)的定位精度較高,可以滿足相關(guān)測控領(lǐng)域的測量精度要求,具有一定的應(yīng)用價(jià)值。
單片機(jī)是一種常用的控制設(shè)備,其在工業(yè)控制領(lǐng)域有著廣泛的應(yīng)用,單片機(jī)的主要組成單元包括存儲(chǔ)器,中央處理器CPU、定時(shí)器、輸入輸出設(shè)備等,這些單元集中在一個(gè)集成電路芯片上,可以實(shí)現(xiàn)一定的運(yùn)算控制功能。
單片機(jī)的組成結(jié)構(gòu)較為簡單,不過其具有了微型計(jì)算機(jī)系統(tǒng)的功能,可以通過其進(jìn)行各種工業(yè)控制,單片機(jī)的內(nèi)部結(jié)構(gòu)如圖1所示。
圖1 單片機(jī)的內(nèi)部結(jié)構(gòu)圖
單片機(jī)的集成度很高,相關(guān)的原件集中在一個(gè)芯片上,這樣系統(tǒng)的可靠性明顯的提高嗎,同時(shí)運(yùn)行速度也有一定的提升。單片機(jī)的控制功能強(qiáng)大,可以通過其組建各種類型的控制系統(tǒng)。單片機(jī)是嵌入式系統(tǒng)低端應(yīng)用的最常見單元,本文在設(shè)計(jì)過程中也用到了單片機(jī)。
本文設(shè)計(jì)了一個(gè)LCD1602電子液晶顯示屏,此顯示單元通過單片機(jī)AT89C52進(jìn)行控制,在設(shè)計(jì)過程中對控制系統(tǒng)的LCD電子液晶顯示屏相關(guān)原理和結(jié)構(gòu)進(jìn)行介紹之后,做了具體的設(shè)計(jì)。同時(shí)對本系統(tǒng)的軟硬件單元和相應(yīng)的電路做了具體的設(shè)。該電子顯示屏中設(shè)置了獨(dú)立的控制電路,在字符顯示過程中,需要用到字符對應(yīng)的ASCII碼。
本系統(tǒng)的硬件部分較為簡單,對應(yīng)的電路可以總體上劃分為顯示電路,穩(wěn)壓電源、單片機(jī)等幾個(gè)單元。
89C52控制的GPS器件的主要作用是采集定位系統(tǒng)信息,與此相關(guān)的單元包括顯示模塊,單片機(jī)89C52、GPS模塊。為滿足顯示相關(guān)的要求,本文設(shè)計(jì)過程中選擇了MGLS-12032A顯示器。以下對單片機(jī)和LCD電路相關(guān)的情況進(jìn)行具體的論述。
●89C52:可通過其實(shí)現(xiàn)一定的控制功能,通過其確定出點(diǎn)陣顯示的時(shí)序。
●MAX202:主要是通過其進(jìn)行相應(yīng)的電平轉(zhuǎn)換。
●LCD:用于顯示相應(yīng)的字符信息,在顯示字符信息時(shí)需要提供字符的顯示格式。
設(shè)計(jì)原理圖如圖2所示:
圖2 設(shè)計(jì)原理圖
這種系統(tǒng)的主要組成單元為GPS數(shù)據(jù)發(fā)送模塊,顯示單元LCD1602,通過單片機(jī)對其進(jìn)行控制,實(shí)現(xiàn)相應(yīng)的功能目的。
此系統(tǒng)全部單元的供電電壓均為5V,因而在電源設(shè)計(jì)過程中單純設(shè)計(jì)5V單電源就可以滿足供電要求。
為滿足電壓穩(wěn)定要求,而應(yīng)用了LM7805穩(wěn)壓器,電源模塊對應(yīng)的電路圖如下,在工作過程中將輸入的220v交流電轉(zhuǎn)換處理之后變?yōu)?V交流電,其后接著通過二極管進(jìn)行整流,得到滿足要求的正電壓,然后發(fā)送給其他的模塊。電容C1可降低電壓波紋幅度而實(shí)現(xiàn)一定的濾波目的。濾波后的電壓通過LM7805集成穩(wěn)壓芯片處理后輸出5V穩(wěn)壓電源,對應(yīng)的濾波電容為C3,、C4??赏ㄟ^其提高相應(yīng)的瞬態(tài)響應(yīng)性能。
為了減少接收出錯(cuò)的問題,一般通過串行口中斷模式進(jìn)行信息的接收。在接收前應(yīng)該對相應(yīng)數(shù)據(jù)的格式進(jìn)行判斷,然后選擇符合格式要求的進(jìn)行存儲(chǔ),這樣可以很好的節(jié)約存儲(chǔ)空間,同時(shí)有利于解決RAM不夠用的問題。以下進(jìn)行舉例說明,例如:接收$GPGGA格式信息的前幾次,先對接收的信息格式進(jìn)行判斷,在符合格式要求情況下,接著判斷接下來的逗號(hào)(’,’)是第幾個(gè)逗號(hào)。若發(fā)現(xiàn)非首個(gè),則可判斷其次的數(shù)據(jù)是時(shí)間,如果是第二個(gè),則可判斷出其次的信息為緯度,本文接收數(shù)據(jù)過程中應(yīng)用了這種模式。
GPS數(shù)據(jù)模塊選擇了成品電路模塊,這樣可提高設(shè)計(jì)效率,主要是對GPS數(shù)據(jù)部分進(jìn)行設(shè)計(jì),相應(yīng)的GPGGA數(shù)據(jù)格式具體如下所示:
*xx<CR><LF>
$GPGGA:起始引導(dǎo)符和對應(yīng)的語句格式相關(guān)情況具體如下;
<1>:UTC時(shí)間,格式為hhmmss.ss;
<2>:緯度,格式為ddmm.mmm;
<3>:表示對應(yīng)的緯度半球,一般通過符號(hào)N或S表示;
<4>:經(jīng)度,格式為dddmm.mmm;
<5>:具體表示經(jīng)度半球,通過符號(hào)E或W表示;
<6>:定位質(zhì)量指示,相應(yīng)的字符A含義為有效位置,V則表示非有效接收警告,其和對應(yīng)的衛(wèi)星數(shù)量有一定的相關(guān)性;
<7>:具體表示對應(yīng)的使用衛(wèi)星數(shù)量,總共為十二個(gè);
<8>:表示水平精確度,可根據(jù)需要選擇相應(yīng)的精度;
<9>:天線離海平面的高度,在一萬米之內(nèi);
M:也就是長度單位米
<10>:具體表示相應(yīng)的大地水準(zhǔn)面高度,在一萬米之內(nèi);
M:指單位米
<11>:也就是對應(yīng)的差分GPS數(shù)據(jù)期限,和數(shù)據(jù)傳輸量存在一定的相關(guān)性;
<12>:差分參考基站標(biāo)號(hào),可根據(jù)要求進(jìn)行相應(yīng)的選擇。
*:其含義為對應(yīng)的語句結(jié)束標(biāo)志符。
xx:也就是從$開始到*內(nèi)全部相應(yīng)字碼的異或校驗(yàn)和。
<CR>:表示回車符號(hào)。
<LF>:也就是換行符號(hào)。
GPS系統(tǒng)一般選擇232串口通信,為滿足通信要求需要進(jìn)行相應(yīng)的電平轉(zhuǎn)換,對應(yīng)的轉(zhuǎn)換芯片MAX232具體如圖3所示:
圖3 對應(yīng)的轉(zhuǎn)換芯片MAX232
系統(tǒng)運(yùn)行過程中,單片機(jī)串口收到信息后,先對句引導(dǎo)頭進(jìn)行判斷分析,如果發(fā)現(xiàn)為“$”,則接收對應(yīng)的信息內(nèi)容,在收到“*”字符后,進(jìn)行判斷,然后根據(jù)語句標(biāo)識(shí)區(qū)分出信息類別類對相應(yīng)的接收到的字符針對性顯示。
本文在設(shè)計(jì)過程中選擇了AT89C52單片機(jī)實(shí)現(xiàn)系統(tǒng)控制目的,相應(yīng)的控制任務(wù)包括數(shù)據(jù)接受和顯示控制,以下進(jìn)行具體的論述。
①數(shù)據(jù)接收控制:這種單片機(jī)中設(shè)置了串行口通信電路,可通過其進(jìn)行相關(guān)數(shù)據(jù)的接收,對應(yīng)的數(shù)據(jù)格式為八位數(shù)據(jù)+1位停止位。所接收到的數(shù)據(jù)會(huì)存儲(chǔ)到對應(yīng)的緩沖區(qū)。
②顯示控制:接收到的數(shù)據(jù)顯示時(shí)通過51單片機(jī)進(jìn)行控制,且利用LCD1602液晶顯示器進(jìn)行顯示,對應(yīng)的取出的字符需要經(jīng)過CPU處理才能顯示。
本系統(tǒng)需要顯示相應(yīng)的西文字符,為滿足方面的顯示要求,而選擇了LCD1602顯示器。
具體顯示了對應(yīng)的系統(tǒng)主程序的總體結(jié)構(gòu),系統(tǒng)在運(yùn)行過程中需要先初始化處理,主要是對串口、定時(shí)器、中斷等進(jìn)行設(shè)置操作。顯示器設(shè)置之后進(jìn)入到開機(jī)狀態(tài),其后就可以正常的顯示。每次可以對兩串字符進(jìn)行顯示,其后就可以持續(xù)的進(jìn)行相應(yīng)的循環(huán)數(shù)據(jù)信息顯示。
系統(tǒng)的主要功能在中斷服務(wù)子程序中完成。這種系統(tǒng)可以在總體上劃分為如下幾個(gè)模塊,顯示單元,串行口中斷服務(wù)程序、掃描程序。這些模塊結(jié)合起來,可以實(shí)現(xiàn)相應(yīng)的功能操作。
系統(tǒng)在開機(jī)之后需要進(jìn)行初始化,接著顯示開機(jī)信息,然后對接收到的信息進(jìn)行處理,并最終實(shí)現(xiàn)相應(yīng)的顯示目的。