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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE24大學實驗室開放項目成果(論文)題目:基于單片機的GPS定位系統(tǒng)

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

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

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

最新文檔

評論

0/150

提交評論