基于單片機(jī)的GPS定位系統(tǒng)_第1頁
基于單片機(jī)的GPS定位系統(tǒng)_第2頁
基于單片機(jī)的GPS定位系統(tǒng)_第3頁
基于單片機(jī)的GPS定位系統(tǒng)_第4頁
基于單片機(jī)的GPS定位系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PAGEPAGE24大學(xué)實(shí)驗(yàn)室開放項(xiàng)目成果(論文)題目:基于單片機(jī)的GPS定位系統(tǒng)

摘要全球定位系統(tǒng)(GPS)是美國(guó)研發(fā)的第二代衛(wèi)星無線電導(dǎo)航系統(tǒng)。其目的是在全球范圍內(nèi)對(duì)地面和空中目標(biāo)進(jìn)行準(zhǔn)確定位和監(jiān)測(cè)。它能為用戶提供全球性、全天候、連續(xù)、實(shí)時(shí)、高精度的三維坐標(biāo)、三向速度和時(shí)間信息。隨著GPS的民用化與成本的降低,已經(jīng)走入了人們的日常生活中,很多手機(jī)、PDA

等手持設(shè)備都配備了GPS功能。本文主要研究GPS

的定位原理與技術(shù),單片機(jī)的編程及其應(yīng)用,液晶屏的功能及其實(shí)現(xiàn)方法本控制系統(tǒng)主要完成接受數(shù)據(jù)、時(shí)間顯示、經(jīng)度顯示、緯度顯示等常規(guī)功能。此方案基于單片機(jī)、GPS模塊和12864液晶顯示屏等硬件,并應(yīng)用C語言實(shí)現(xiàn)了GPS信號(hào)的提取、顯示及基本的鍵盤控制操作等。經(jīng)過實(shí)踐測(cè)試,這種接收機(jī)可以達(dá)到基本GPS信息的接收以及顯示,可以做到體積小、精度高、連續(xù)導(dǎo)航,本設(shè)計(jì)在測(cè)控領(lǐng)域的應(yīng)用開發(fā)中具有一定的實(shí)用價(jià)值和借鑒價(jià)值。關(guān)鍵詞:GPS定位,液晶顯示,單片機(jī)AbstractGlobalPositioningSystem(GPS)isaU.S.researchanddevelopmentofthesecondgenerationsatelliteradionavigationsystem.Itspurposeisworldwideonthegroundandairtargetsforaccuratepositioningandmonitoring.Itprovidesuserswithaglobal,all-weather,continuous,real-time,high-precisionthree-dimensionalcoordinates,threevelocityandtimeinformation.WiththeGPScivilianandcostreduction,hasbeenintopeople'sdailylife,manycellphone,PDAandotherhandhelddevicesareequippedwithGPS.ThispaperstudiestheprinciplesandtechniquesofGPSpositioning,microcontrollerprogramminganditsapplication,thefunctionoftheLCDscreenanditsimplementationmethodofthecontrolsystemismainlycompletetoacceptdata,timedisplay,displaylongitude,latitude,displayandotherregularfeatures.Thisschemeisbasedonsingle-chip,GPSmoduleand12,864LCDscreenandotherhardware,andapplytheClanguageimplementationoftheGPSsignalextraction,displayandkeyboardcontrolbasicoperations.Afterpracticetests,thisreceivercanmeetthebasicGPSreceiversanddisplay,youcandosmallsize,highaccuracy,continuousnavigation,monitoringandcontrolofthedesigninthefieldofapplicationdevelopmenthascertainpracticalvalueandreferencevalue.Keywords:GPSpositioning,LCD,microcontroller目錄引言 4第一章、GPS系統(tǒng)簡(jiǎn)介 61.1 GPS系統(tǒng)的定位精度 61.2 GPS系統(tǒng)定位原理 8第二章、方案硬件設(shè)計(jì) 102.1 GPS技術(shù)參數(shù) 102.2單片機(jī)最小系統(tǒng) 112.3電源模塊 122.4 液晶顯示部分 13第3章系統(tǒng)軟件設(shè)計(jì) 153.1 程序初始化模塊 153.2 軟件系統(tǒng)調(diào)試 16參考文獻(xiàn) 17附錄 18引言GPS起始于1958年美國(guó)軍方的一個(gè)項(xiàng)目,1964年投入使用。20世紀(jì)70年代,美國(guó)陸海空三軍聯(lián)合研制了新一代衛(wèi)星定位系統(tǒng)GPS。主要目的是為陸海空三大領(lǐng)域提供實(shí)時(shí)、全天候和全球性的導(dǎo)航服務(wù),并用于情報(bào)收集、核爆監(jiān)測(cè)和應(yīng)急通訊等一些軍事目的,經(jīng)過20余年的研究實(shí)驗(yàn),耗資300億美元,到1994年,全球覆蓋率高達(dá)98%的24顆GPS衛(wèi)星星座己布設(shè)完成。在機(jī)械領(lǐng)域GPS則有另外一種含義:產(chǎn)品幾何技術(shù)規(guī)范(GeometricalProductSpecifications)-簡(jiǎn)稱GPS。GPS的前身是美國(guó)軍方研制的一種子午儀衛(wèi)星定位系統(tǒng)(Transit),1958年研制,1964年正式投入使用。該系統(tǒng)用5到6顆衛(wèi)星組成的星網(wǎng)工作,每天最多繞過地球13次,并且無法給出高度信息,在定位精度方面也不盡如人意。然而,子午儀系統(tǒng)使得研發(fā)部門對(duì)衛(wèi)星定位取得了初步的經(jīng)驗(yàn),并驗(yàn)證了由衛(wèi)星系統(tǒng)進(jìn)行定位的可行性,為GPS的研制埋下了鋪墊。由于衛(wèi)星定位顯示出在導(dǎo)航方面的巨大優(yōu)越性及子午儀系統(tǒng)存在對(duì)潛艇和艦船導(dǎo)航方面的巨大缺陷。美國(guó)海陸空三軍及民用部門都感到迫切需要一種新的衛(wèi)星導(dǎo)航系統(tǒng)。為此,美國(guó)海軍研究實(shí)驗(yàn)室(NRL)提出了名為Tinmation的用12到18顆衛(wèi)星組成10000km高度的全球定位網(wǎng)計(jì)劃,并于67年、69年和74年各發(fā)射了一顆試驗(yàn)衛(wèi)星,在這些衛(wèi)星上初步試驗(yàn)了原子鐘計(jì)時(shí)系統(tǒng),這是GPS精確定位的基礎(chǔ)。而美國(guó)空軍則提出了621-B的以每星群4到5顆衛(wèi)星組成3至4個(gè)星群的計(jì)劃,這些衛(wèi)星中除1顆采用同步軌道外其余的都使用周期為24h的傾斜軌道,該計(jì)劃以偽隨機(jī)碼(PRN)為基礎(chǔ)傳播衛(wèi)星測(cè)距信號(hào),其強(qiáng)大的功能,當(dāng)信號(hào)密度低于環(huán)境噪聲的1%時(shí)也能將其檢測(cè)出來。偽隨機(jī)碼的成功運(yùn)用是GPS得以取得成功的一個(gè)重要基礎(chǔ)。海軍的計(jì)劃主要用于為艦船提供低動(dòng)態(tài)的2維定位,空軍的計(jì)劃能供提供高動(dòng)態(tài)服務(wù),然而系統(tǒng)過于復(fù)雜。由于同時(shí)研制兩個(gè)系統(tǒng)會(huì)造成巨大的費(fèi)用而且這里兩個(gè)計(jì)劃都是為了提供全球定位而設(shè)計(jì)的,所以1973年美國(guó)國(guó)防部將2者合二為一,并由國(guó)防部牽頭的衛(wèi)星導(dǎo)航定位聯(lián)合計(jì)劃局(JPO)領(lǐng)導(dǎo),還將辦事機(jī)構(gòu)設(shè)立在洛杉磯的空軍航天處。該機(jī)構(gòu)成員眾多,包括美國(guó)陸軍、海軍、海軍陸戰(zhàn)隊(duì)、交通部、國(guó)防制圖局、北約和澳大利亞的代表。最初的GPS計(jì)劃在美國(guó)聯(lián)合計(jì)劃局的領(lǐng)導(dǎo)下誕生了,該方案將24顆衛(wèi)星放置在互成120度的三個(gè)軌道上。每個(gè)軌道上有8顆衛(wèi)星,地球上任何一點(diǎn)均能觀測(cè)到6至9顆衛(wèi)星。這樣,粗碼精度可達(dá)100m,精碼精度為10m。由于預(yù)算壓縮,GPS計(jì)劃不得不減少衛(wèi)星發(fā)射數(shù)量,改為將18顆衛(wèi)星分布在互成60度的6個(gè)軌道上,然而這一方案使得衛(wèi)星可靠性得不到保障。1988年又進(jìn)行了最后一次修改:21顆工作星和3顆備用星工作在互成60度的6條軌道上。這也是GPS衛(wèi)星所使用的工作方式。第一章、GPS系統(tǒng)簡(jiǎn)介GPS系統(tǒng)的定位精度GPS導(dǎo)航系統(tǒng)是以全球24顆定位人造衛(wèi)星為基礎(chǔ),向全球各地全天候地提供三維位置、三維速度等信息的一種無線電導(dǎo)航定位系統(tǒng)。它由三部分構(gòu)成,一是地面控制部分,由主控站、地面天線、監(jiān)測(cè)站及通訊輔助系統(tǒng)組成。二是空間部分,由24顆衛(wèi)星組成,分布在6個(gè)軌道平面。三是用戶裝置部分,由GPS接收機(jī)和衛(wèi)星天線組成。民用的定位精度可達(dá)10米內(nèi)。GPS導(dǎo)航系統(tǒng)的基本原理是測(cè)量出已知位置的衛(wèi)星到用戶接收機(jī)之間的距離,然后綜合多顆衛(wèi)星的數(shù)據(jù)就可知道接收機(jī)的具體位置。要達(dá)到這一目的,衛(wèi)星的位置可以根據(jù)星載時(shí)鐘所記錄的時(shí)間在衛(wèi)星星歷中查出。而用戶到衛(wèi)星的距離則通過記錄衛(wèi)星信號(hào)傳播到用戶所經(jīng)歷的時(shí)間,再將其乘以光速得到(由于大氣層電離層的干擾,這一距離并不是用戶與衛(wèi)星之間的真實(shí)距離,而是偽距(PR):當(dāng)GPS衛(wèi)星正常工作時(shí),會(huì)不斷地用1和0二進(jìn)制碼元組成的偽隨機(jī)碼(簡(jiǎn)稱偽碼)發(fā)射導(dǎo)航電文。GPS系統(tǒng)使用的偽碼一共有兩種,分別是民用的C/A碼和軍用的P(Y)碼。C/A碼頻率1.023MHz,重復(fù)周期一毫秒,碼間距1微秒,相當(dāng)于300m;P碼頻率10.23MHz,重復(fù)周期266.4天,碼間距0.1微秒,相當(dāng)于30m。而Y碼是在P碼的基礎(chǔ)上形成的,保密性能更佳。導(dǎo)航電文包括衛(wèi)星星歷、工作狀況、時(shí)鐘改正、電離層時(shí)延修正、大氣折射修正等信息。它是從衛(wèi)星信號(hào)中解調(diào)制出來,以50b/s調(diào)制在載頻上發(fā)射的。導(dǎo)航電文每個(gè)主幀中包含5個(gè)子幀每幀長(zhǎng)6s。前三幀各10個(gè)字碼;每三十秒重復(fù)一次,每小時(shí)更新一次。后兩幀共15000b。導(dǎo)航電文中的內(nèi)容主要有遙測(cè)碼、轉(zhuǎn)換碼、第1、2、3數(shù)據(jù)塊,其中最重要的則為星歷數(shù)據(jù)。當(dāng)用戶接受到導(dǎo)航電文時(shí),提取出衛(wèi)星時(shí)間并將其與自己的時(shí)鐘做對(duì)比便可得知衛(wèi)星與用戶的距離,再利用導(dǎo)航電文中的衛(wèi)星星歷數(shù)據(jù)推算出衛(wèi)星發(fā)射電文時(shí)所處位置,用戶在WGS-84大地坐標(biāo)系中的位置速度等信息便可得知。可見GPS導(dǎo)航系統(tǒng)衛(wèi)星部分的作用就是不斷地發(fā)射導(dǎo)航電文。然而,由于用戶接受機(jī)使用的時(shí)鐘與衛(wèi)星星載時(shí)鐘不可能總是同步,所以除了用戶的三維坐標(biāo)x、y、z外,還要引進(jìn)一個(gè)Δt即衛(wèi)星與接收機(jī)之間的時(shí)間差作為未知數(shù),然后用4個(gè)方程將這4個(gè)未知數(shù)解出來。所以如果想知道接收機(jī)所處的位置,至少要能接收到4個(gè)衛(wèi)星的信號(hào)。GPS接收機(jī)可接收到可用于授時(shí)的準(zhǔn)確至納秒級(jí)的時(shí)間信息;用于預(yù)報(bào)未來幾個(gè)月內(nèi)衛(wèi)星所處概略位置的預(yù)報(bào)星歷;用于計(jì)算定位時(shí)所需衛(wèi)星坐標(biāo)的廣播星歷,精度為幾米至幾十米(各個(gè)衛(wèi)星不同,隨時(shí)變化);以及GPS系統(tǒng)信息,如衛(wèi)星狀況等。GPS接收機(jī)對(duì)碼的量測(cè)就可得到衛(wèi)星到接收機(jī)的距離,由于含有接收機(jī)衛(wèi)星鐘的誤差及大氣傳播誤差,故稱為偽距。對(duì)0A碼測(cè)得的偽距稱為UA碼偽距,精度約為20米左右,對(duì)P碼測(cè)得的偽距稱為P碼偽距,精度約為2米左右。GPS接收機(jī)對(duì)收到的衛(wèi)星信號(hào),進(jìn)行解碼或采用其它技術(shù),將調(diào)制在載波上的信息去掉后,就可以恢復(fù)載波。嚴(yán)格而言,載波相位應(yīng)被稱為載波拍頻相位,它是收到的受多普勒頻移影響的衛(wèi)星信號(hào)載波相位與接收機(jī)本機(jī)振蕩產(chǎn)生信號(hào)相位之差。一般在接收機(jī)鐘確定的歷元時(shí)刻量測(cè),保持對(duì)衛(wèi)星信號(hào)的跟蹤,就可記錄下相位的變化值,但開始觀測(cè)時(shí)的接收機(jī)和衛(wèi)星振蕩器的相位初值是不知道的,起始?xì)v元的相位整數(shù)也是不知道的,即整周模糊度,只能在數(shù)據(jù)處理中作為參數(shù)解算。相位觀測(cè)值的精度高至毫米,但前提是解出整周模糊度,因此只有在相對(duì)定位、并有一段連續(xù)觀測(cè)值時(shí)才能使用相位觀測(cè)值,而要達(dá)到優(yōu)于米級(jí)的定位精度也只能采用相位觀測(cè)值。GPS系統(tǒng)定位原理GPS定位的基本原理是根據(jù)高速運(yùn)動(dòng)的衛(wèi)星瞬間位置作為已知的起算數(shù)據(jù),采用空間距離后方交會(huì)的方法,確定待測(cè)點(diǎn)的位置。如圖所示,假設(shè)t時(shí)刻在地面待測(cè)點(diǎn)上安置GPS接收機(jī),可以測(cè)定GPS信號(hào)到達(dá)接收機(jī)的時(shí)間△t,再加上接收機(jī)所接收到的衛(wèi)星星歷等其它數(shù)據(jù)可以確定四個(gè)數(shù)學(xué)方程式。按定位方式,GPS定位分為單點(diǎn)定位和相對(duì)定位(差分定位)。單點(diǎn)定位就是根據(jù)一臺(tái)接收機(jī)的觀測(cè)數(shù)據(jù)來確定接收機(jī)位置的方式,它只能采用偽距觀測(cè)量,可用于車船等的概略導(dǎo)航定位。相對(duì)定位(差分定位)是根據(jù)兩臺(tái)以上接收機(jī)的觀測(cè)數(shù)據(jù)來確定觀測(cè)點(diǎn)之間的相對(duì)位置的方法,它既可采用偽距觀測(cè)量也可采用相位觀測(cè)量,大地測(cè)量或工程測(cè)量均應(yīng)采用相位觀測(cè)值進(jìn)行相對(duì)定位。在GPS觀測(cè)量中包含了衛(wèi)星和接收機(jī)的鐘差、大氣傳播延遲、多路徑效應(yīng)等誤差,在定位計(jì)算時(shí)還要受到衛(wèi)星廣播星歷誤差的影響,在進(jìn)行相對(duì)定位時(shí)大部分公共誤差被抵消或削弱,因此定位精度將大大提高,雙頻接收機(jī)可以根據(jù)兩個(gè)頻率的觀測(cè)量抵消大氣中電離層誤差的主要部分,在精度要求高,接收機(jī)間距離較遠(yuǎn)時(shí)(大氣有明顯差別),應(yīng)選用雙頻接收機(jī)。28顆衛(wèi)星(其中4顆備用)早已升空,分布在6條交點(diǎn)互隔60度的軌道面上,距離地面約20000千米。已經(jīng)實(shí)現(xiàn)單機(jī)導(dǎo)航精度約為10米,綜合定位的話,精度可達(dá)厘米級(jí)和毫米級(jí)。但民用領(lǐng)域開放的精度約為10米。GPS接收模塊主要技術(shù)參數(shù)GPS-NEO-6M-001奮斗嵌入式開發(fā)工作室出品的一款高性能GPS定位模塊。該模塊采用U-BLOXNEO-6M-001模組,模塊自帶25mmX25mm無源陶瓷天線,板載可充電后備電池(用于支持溫啟動(dòng)或熱啟動(dòng),后備電池在主電源斷電后,可以維持半小時(shí)左右的GPS星歷保存)。默示條件,GPS模塊SiRFStarIII接受每二輸出位置的數(shù)據(jù),通常$GPRMC精簡(jiǎn)數(shù)據(jù)格式的數(shù)據(jù),包括緯度,經(jīng)度的目的,速度(結(jié)),運(yùn)動(dòng)方向角,年,月,時(shí),分,秒,毫秒,定位數(shù)據(jù)是有效的或無效的,和其他重要信息。語句格式如下:只需要知道位置信息,所以在閱讀唯一的,可以實(shí)際應(yīng)用。<1>:當(dāng)?shù)貢r(shí)間代表UTC。格式“當(dāng)每分鐘,小時(shí),分鐘和秒2。<2>:工作代表國(guó)家。”“顯示可用的數(shù)據(jù),“V”表示接受警報(bào),沒有可用的數(shù)據(jù)。<3>:代表緯度數(shù)據(jù)。“子級(jí)的格式。分分分?!?lt;4>:緯度半球?yàn)榇淼摹癗”或“S”。<5>:代表經(jīng)度數(shù)據(jù)。格式和LD現(xiàn)狀;度分鐘。sub-sub-sub-sub.”<6>:代表經(jīng)度半球,為“E”或“軟件讀取經(jīng)緯度數(shù)據(jù),目前的位置停止分析,確定用戶的當(dāng)前位置在該地區(qū)建立和平。的方法是基于用戶的設(shè)置確定中心的緯度和經(jīng)度和緯度和經(jīng)度計(jì)算出活動(dòng)維持當(dāng)前的對(duì)象可以超過和平活動(dòng)預(yù)定半徑。結(jié)果的基礎(chǔ)上的歧視,設(shè)置相應(yīng)的標(biāo)志。第二章、方案硬件設(shè)計(jì)GPS技術(shù)參數(shù)GPS接收機(jī)要具有接收、處理、顯示信息的功能。硬件上必須有相應(yīng)的接收處理部分、顯示部分和配置輸入部分,同時(shí)需要處理器實(shí)現(xiàn)各部分功能的聯(lián)合。模塊自帶了一個(gè)狀態(tài)指示燈V1。該指示燈連接在UBLOXNEO-6M模組的TIMEPULSE端口,該端口的輸出特性可以通過程序設(shè)置。V1LED燈,在默認(rèn)條件下,有2個(gè)狀態(tài):GPS模塊外觀如下圖圖2-1通過V1LED燈,我們就可以很方便的判斷模塊的當(dāng)前狀態(tài)。若led燈常亮,工作正常,未定位。,若led燈閃爍,表示模塊已經(jīng)定位成功。2.2單片機(jī)最小系統(tǒng)單片機(jī)的復(fù)位有上電復(fù)位和按鈕手動(dòng)復(fù)位兩種。如圖2-12(a)所示為上電復(fù)位電路,圖(b)所示為上電按鍵復(fù)位電路。上電復(fù)位是利用電容充電來實(shí)現(xiàn)的,即上電瞬間RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降。圖2-12(a)中的R是施密特觸發(fā)器輸入端的一個(gè)10K?下拉電阻,時(shí)間常數(shù)為10×10-6×10×103=100ms。只要VCC的上升時(shí)間不超過1ms,振蕩器建立時(shí)間不超過10ms,這個(gè)時(shí)間常數(shù)足以保證完成復(fù)位操作。圖2-2C51系列單片機(jī)的具體參數(shù)如下幾點(diǎn)(1)與MCS-51兼容。(2)4K字節(jié)可編程閃爍存儲(chǔ)器。(3)壽命:1000寫/擦循環(huán)。(4)數(shù)據(jù)保留時(shí)間:10年。(5)全靜態(tài)工作:0Hz-24MHz。(6)三級(jí)程序存儲(chǔ)器鎖定。(7)128×8位內(nèi)部RAM。(8)32可編程I/O線。(9)兩個(gè)16位定時(shí)器/計(jì)數(shù)器。(10)5個(gè)中斷源。(11)可編程串行通道。(12)低功耗的閑置和掉電模式。(13)片內(nèi)振蕩器和時(shí)鐘電路。單片機(jī)最下系統(tǒng)如下圖圖2-32.3電源模塊GPS模塊的工作電壓為3.3V,如果加上5V電壓可能會(huì)造成該模塊損壞,造成模塊無法工作。因此該模塊應(yīng)運(yùn)而生。由一對(duì)穩(wěn)壓器和一對(duì)電容組成的電源模塊使得GPS可以安全正常運(yùn)行。同時(shí)為GPS的移動(dòng)性提供了很大的方便。圖2-4液晶顯示部分LCD12864與單片機(jī)的接線原理圖如圖2-5所示:圖2-5帶中文字庫的LCD12864是一種具有4位、8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫的點(diǎn)陣圖形液晶顯示模塊,其顯示分辨率為128×64,內(nèi)置8192個(gè)16×16點(diǎn)漢字,和128個(gè)16×8點(diǎn)ASCII字符集。利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4行、16×16點(diǎn)陣的漢字,也可完成圖形顯示。低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔的多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。液晶模塊接口參數(shù)如下管腳號(hào)管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對(duì)比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7——DB0為顯示數(shù)據(jù)RS=“L”,表示DB7——DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7——DB0R/W=“L”,E=“H→L”,DB7——DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式(見注釋1)16NC-空腳17/RESETH/L復(fù)位端,低電平有效(見注釋2)18VOUT-LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端(+5V)(見注釋3)20KVSS背光源負(fù)端(見注釋3)*注釋1:如在實(shí)際應(yīng)用中僅使用串口通訊模式,可將PSB接固定低電平,也可以將模塊上的J8和“GND”用焊錫短接。第3章系統(tǒng)軟件設(shè)計(jì)程序初始化模塊初始化模塊完成開機(jī)上電后對(duì)單片機(jī)、液晶顯示器和GPS模塊的初始化工作。對(duì)單片機(jī)設(shè)置串口工作模式、設(shè)置波特率和中斷工作模式;對(duì)液晶顯示器設(shè)置開機(jī)畫面和顯示模式;完成對(duì)GPS模塊串口的成功通信。數(shù)據(jù)接收處理模塊負(fù)責(zé)處理從GPS接收到的數(shù)據(jù)。在單片機(jī)串口收到信息后,先判別是否為語句引導(dǎo)頭“$”,再接收信息內(nèi)容,然后根據(jù)語句標(biāo)識(shí)區(qū)分出信息類別以對(duì)收到ASCII碼進(jìn)行處理顯示。若整個(gè)數(shù)據(jù)接收正確,便對(duì)數(shù)據(jù)進(jìn)行處理;若接收不正確,則重新進(jìn)行接收。全球定位系統(tǒng)的主程序流程如下圖:圖3-1軟件系統(tǒng)調(diào)試在對(duì)GPS接收到的衛(wèi)星信息進(jìn)行處理時(shí),碰到較為麻煩的問題是在對(duì)接收到的時(shí)間信息進(jìn)行轉(zhuǎn)換上。直接從衛(wèi)星接收到的時(shí)間是UTC時(shí)間,北京時(shí)間應(yīng)在UTC時(shí)間上加上8小時(shí)才是準(zhǔn)確的北京時(shí),在超出24小時(shí)時(shí)應(yīng)作減24小時(shí)處理。剛開始將對(duì)時(shí)間轉(zhuǎn)換的算法放在主函數(shù)中處理,程序如下:if(g_Ptr==2)//接收到正確的數(shù)據(jù)幀{i=g_DisTime[0]-'0';//提取時(shí)間的小時(shí)位高位并轉(zhuǎn)換碼型j=g_DisTime[1]-'0';//提取時(shí)間的小時(shí)位低位并轉(zhuǎn)換碼型j=i*10+j+8;//在UTC時(shí)間上加上8個(gè)小時(shí)if(j>=24)//判斷得到的時(shí)間是否超過24小時(shí),超出變作減24處理{j-=24;}g_DisTime[0]=j/10+'0';//將北京時(shí)間高一位作碼型變換并賦予高一位顯示g_DisTime[1]=j%10+'0';//將北京時(shí)間高二位作碼型變換并賦予高二位顯示}在調(diào)試中出現(xiàn)一個(gè)問題,在做了以上的處理后,時(shí)間的小時(shí)位數(shù)據(jù)并不完全正確,高位顯示的與北京時(shí)間相同,但低位卻與UTC時(shí)間相同。在做了各種嘗試(如在UTC時(shí)間上做加9處理、直接給六位時(shí)間g_DisTime[5]賦值等)后總結(jié)出這樣一個(gè)問題,以上的算法處理只對(duì)六位數(shù)據(jù)位的高一位處理有效,低五位的顯示始終都是正確UTC時(shí)間。經(jīng)過分析,初步認(rèn)定上面的程序并沒有被完全的執(zhí)行。因GPS接收模塊源源不斷的傳送數(shù)據(jù)給單片機(jī)處理,在運(yùn)行過程中定位信息大約每秒鐘更新一次,在主函數(shù)中對(duì)收到的時(shí)間進(jìn)行處理時(shí)有可能會(huì)出現(xiàn)還沒來得及處理完畢時(shí)便接收到下一幀數(shù)據(jù),故時(shí)間的處理就可能會(huì)有只對(duì)高一位處理完成而沒完成處理好低五位時(shí)又進(jìn)入了串行口中斷,那么液晶顯示的結(jié)果就是經(jīng)過處理的高一位(北京時(shí)間)和未經(jīng)處理的低五位(UTC時(shí)間)??紤]到以上原因,將原放在主函數(shù)的時(shí)間轉(zhuǎn)換處理程序放置在到中斷時(shí)一收到UTC時(shí)間就對(duì)其進(jìn)行轉(zhuǎn)換處理。經(jīng)過了調(diào)試,終于在液晶上顯示出來正確的北京時(shí)間,證明了以上的分析、推斷的正確性。參考文獻(xiàn)[1]楊剛,電子系統(tǒng)設(shè)計(jì)與實(shí)踐,電子工業(yè)出版社,2009.3[2]何希才,新型實(shí)用電子電路400例,電子工業(yè)出版社,2000.8[3]楊剛,電子系統(tǒng)設(shè)計(jì)與實(shí)踐,電子工業(yè)出版社,2009.3[2]高鋒,單片微型計(jì)算機(jī)原理與接口技術(shù),科學(xué)出版社,2003[1]洪大永,GPS全球定位系統(tǒng)技術(shù)及應(yīng)用,廈門大學(xué)出版社,1998附錄軟件程序ucharGPS_time[9];//UTC時(shí)間ucharxdataGPS_wd[12];//緯度ucharxdataGPS_jd[13];//經(jīng)度ucharGPS_warn;//定位警告ucharGPS_quality;//定位質(zhì)量ucharGPS_status;//定位狀態(tài)ucharGPS_alt[8];//海拔ucharGPS_sv[3];//使用衛(wèi)星ucharGPS_speed[10];//速度ucharGPS_date[9];//UTC日期ucharSegment;//逗號(hào)計(jì)數(shù)ucharBytes_counter;ucharCommand;voidGPRMC(uchar);voidGPGGA(uchar);voidGPVTG(uchar);voidGPGSA(uchar);voidgps(uchar);voidgps(uchartmp){//com_send_byte(tmp);if(tmp=='$')//起始標(biāo)志{Command=0;ReceivingF=1;Bytes_counter=0;Segment=0;//清空語句段計(jì)數(shù)器return;}if(ReceivingF){if(tmp==','){++Segment;Bytes_counter=0;//清空段字節(jié)計(jì)數(shù)器return;}if(tmp=='*')//收到結(jié)束標(biāo)志{ReceivingF=0;EndF=1;return;}if(Segment==0){if(Bytes_counter==3)//段0,語句類型判斷switch(tmp){case'G':Command=1;//語句類型$GPGGAGGAF=1;break;case'M':Command=2;//語句類型$GPRMCRMCF=1;break;case'T':Command=3;//語句類型$GPVTGVTGF=1;break;case'S':break;default:Command=0;//非有效數(shù)據(jù)類型,終止當(dāng)前數(shù)據(jù)接收ReceivingF=0;break;}if(Bytes_counter==4)if(Command==0&&tmp=='A'){Command=4;//語句類型$GPGSAGSAF=1;}}else{switch(Command){case1:GPGGA(tmp);break;case2:GPRMC(tmp);break;case3:GPVTG(tmp);break;case4:GPGSA(tmp);break;default:break;}}++Bytes_counter;}NewByteF=0;return;}voidGPGGA(uchartmp){switch(Segment){case1:if(Bytes_counter==2||Bytes_counter==5)//$GPGGA段1,UTC時(shí)間,hhmmss(時(shí)分秒)格式,取前6位轉(zhuǎn)換為HH:MM:SS格式{GPS_time[Bytes_counter]=':';++Bytes_counter;}if(Bytes_counter<8)GPS_time[Bytes_counter]=tmp;GPS_time[8]='\0';break;case2:if(Bytes_counter==3)//$GPGGA段2處理緯度ddmm.mmmm(度分)格式{GPS_wd[Bytes_counter]='.';//接收第二個(gè)字節(jié)后插入'.'++Bytes_counter;GPS_wd[11]='\0';}if(Bytes_counter==0)++Bytes_counter;GPS_wd[Bytes_counter]=tmp;break;case3:GPS_wd[0]=tmp;//$GPGGA第3段處理緯度半球N(北半球)或S(南半球)break;case4:if(Bytes_counter==4)//$GPGGA段4處理經(jīng)度dddmm.mmmm(度分)格式{GPS_jd[Bytes_counter]='.';//接收第3個(gè)字節(jié)后插入'.'++Bytes_counter;GPS_jd[12]='\0';}if(Bytes_counter==0)++Bytes_counter;GPS_jd[Bytes_counter]=tmp;break;case5:GPS_jd[0]=tmp;//$GPGGA第5段處理經(jīng)度半球E(東經(jīng))或W(西經(jīng))

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論