版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于單片機(jī)的GPS定位系統(tǒng)設(shè)計摘要GPS是全球定位系統(tǒng)英文名詞GlobalPositioningSystem的縮寫。該系統(tǒng)是美國布設(shè)的第二代衛(wèi)星無線電導(dǎo)航系統(tǒng)。它能為用戶提供全球性、全天候、連續(xù)、實時、高精度的三維坐標(biāo)、三向速度和時間信息。其目的是在全球范圍內(nèi)對地面和空中目標(biāo)進(jìn)行準(zhǔn)確定位和監(jiān)測。現(xiàn)在,GPS接收機(jī)作為一種先進(jìn)的導(dǎo)航和定位儀器,已在軍事及民用領(lǐng)域得到廣泛的應(yīng)用。本設(shè)計是基于AT89C51單片機(jī)來實現(xiàn)的簡易GPS定位信息顯示系統(tǒng)。本控制系統(tǒng)主要完成接受數(shù)據(jù)、時間顯示、經(jīng)度顯示、緯度顯示等常規(guī)功能。此方案基于單片機(jī)、GPS模塊和12864液晶顯示屏等硬件,并應(yīng)用C語言實現(xiàn)了GPS信號的提取、顯示及根本的鍵盤控制操作等。經(jīng)過實踐測試,這種接收機(jī)可以到達(dá)根本GPS信息的接收以及顯示,可以做到體積小、精度高、連續(xù)導(dǎo)航,并可廣泛應(yīng)用于個人野外旅游探險、出租汽車定位及海上作業(yè)等領(lǐng)域。關(guān)鍵詞:GPS定位系統(tǒng),單片機(jī),液晶顯示屏DesignofGPSReceiverBasedon51singlechipcOmputerABSTRACTGPSistheabbreviationoftheEnglishtermGlobalPositioningSystemglobalpositioningsystem.ThesystemistheUnitedStateslaidthesecondgenerationsatelliteradionavigationsystem.Itcanprovideuserswithcontinuous,real-time,global,round-the-clock,highprecisionthreedimensionalcoordinates,threevelocityandtimeinformation.Aimedattargetsonthegroundandintheairaroundtheworldanaccuratepositioningandmonitoring.Now,asanadvancedGPSreceivernavigationandpositioningequipment,hasawiderangeofapplicationsinmilitaryandcivilianareas.ThisdesignbasedontheAT89C51microcontrollerisusedtoimplementasimpleGPSpositioninginformationdisplaysystem.Thiscontrolsystemismainlydonetoacceptthedata,timedisplay,latitude,longitude,andotherroutinefunctions.Thisprogramisbasedonsingle-chip,GPSmoduleand12864LCDdisplay,hardware,clanguageimplementationandapplicationoftheGPSsignalextraction,displayandkeyboardcontrolofbasicoperations.Practicetests,thisreceivercanreceiveanddisplaythebasicGPSinformation.smallsize,highaccuracy,continuousnavigationcanbedone,andcanbewidelyappliedtoindividualsinthewildtouradventure,hirecarpositioningandoperationsatsea,andotherareas.KEYWORDS:GPSpositioningsystem,microcontroller,LCDdisplay目錄前言1第1章GPS系統(tǒng)簡介31.1GPS的由來及開展31.2GPS定位系統(tǒng)的根本原理31.3GPS模塊定位流程41.4本設(shè)計的主要工作4第2章系統(tǒng)硬件設(shè)計52.1單片機(jī)52.1.1AT89C51單片機(jī)的結(jié)構(gòu)原理62.1.2AT89C51單片機(jī)的主要特性72.2GPS模塊72.2.1概述72.2.2主要技術(shù)參數(shù)及產(chǎn)品特點82.2.3管腳介紹及與單片機(jī)的接口電路82.3顯示局部102.3.1LCD12864概述112.3.2根本特性122.3.3模塊接口說明12第3章系統(tǒng)軟件設(shè)計143.1系統(tǒng)軟件概述143.2軟件程序的編寫143.2.1初始化模塊153.2.2數(shù)據(jù)接收處理模塊15第4章系統(tǒng)調(diào)試174.1硬件調(diào)試174.2軟件調(diào)試174.3系統(tǒng)測試結(jié)果18結(jié)論20謝辭21參考文獻(xiàn)22附錄24外文資料翻譯44前言GPS衛(wèi)星導(dǎo)航全球定位系統(tǒng)問世以來,在導(dǎo)航、定位領(lǐng)域開展勢頭迅猛,引起世界各界人士的關(guān)注。具備高精度、全天候、全球覆蓋、高效率、多功能、操作簡便等特點。廣泛應(yīng)用于地面車輛跟蹤和城市智能交通管理方面。車載GPS系統(tǒng)配合電子地圖,適時掌握自己的方位與目的地,對鎖定目標(biāo)進(jìn)行跟蹤、監(jiān)控,從而到達(dá)防御、求援之目的。滿足對機(jī)動車輛的指揮、調(diào)度、管理、監(jiān)控、導(dǎo)航、通訊等需求。改變了人們的工作方式,提高了工作效率,帶來了巨大的社會效益和經(jīng)濟(jì)效益。隨著人們對運輸載體的監(jiān)控、跟蹤以及智能化管理要求的提高,GPS在中國即將進(jìn)入爆發(fā)性開展階段,蘊(yùn)藏著巨大的開展空間。GPS系統(tǒng)包括三大局部:空間局部——GPS衛(wèi)星星座;地面控制局部——地面監(jiān)控系統(tǒng);用戶設(shè)備局部——GPS信號接收機(jī)。GPS系統(tǒng)通過使用來自多個衛(wèi)星的信號來確定地面或近地面任何位置的移動接收機(jī)的位置。我國的衛(wèi)星定位技術(shù)綜合了GPS衛(wèi)星導(dǎo)航全球定位,GSM全球數(shù)字蜂窩移動通信,GIS地理信息,計算機(jī)網(wǎng)絡(luò)技術(shù)全方位的技術(shù)應(yīng)用。利用GPS衛(wèi)星信號接收機(jī),跟蹤這些衛(wèi)星的運行,對所接收到的GPS信號進(jìn)行變換、放大和處理,測量傳播時間,解譯導(dǎo)航電文。接收機(jī)24h不間斷地接收衛(wèi)星發(fā)送的數(shù)據(jù)參數(shù),算出接收的三維位置、三維方向以及運動速度和時間信息。全球定位系統(tǒng)GPS是近年來開發(fā)的最具有開創(chuàng)意義的高新技術(shù)之一,其全球性、全能性、全天候性的導(dǎo)航定位、定時、測速優(yōu)勢必然會在諸多領(lǐng)域中得到越來越廣泛的應(yīng)用。在興旺國家,GPS技術(shù)已經(jīng)開始應(yīng)用于交通運輸和道路工程之中。目前,GPS技術(shù)在我國道路工程和交通管理中的應(yīng)用還剛剛起步,相信隨著我國經(jīng)濟(jì)的開展,高等級公路的快速修建和GPS技術(shù)應(yīng)用研究的逐步深入,其在道路工程中的應(yīng)用也會更加廣泛和深入,并發(fā)揮更大的作用。自20世紀(jì)90年代GPS系統(tǒng)向全世界免費開放以來,GPS系統(tǒng)已廣泛應(yīng)用在導(dǎo)航、大地測量、精確授時、線路巡檢及車輛防盜等領(lǐng)域。接收機(jī)是獲得GPS系統(tǒng)效勞的關(guān)鍵設(shè)備,目前已有從手持式到臺式數(shù)百種型號的接收機(jī)可供用戶選擇。通用接收機(jī)功能齊全,除了信號接收單元外,往往還配置有顯示單元和人機(jī)對話設(shè)備。這一方面為用戶提供了極大的方便,但GPS定位接收機(jī)價格比擬昂貴而且使用靈活性低,難以滿足特定條件下的應(yīng)用需求,造成了資金浪費。因此,眾多用戶期望按照自己的使用環(huán)境和性能要求設(shè)計和使用個性化的GPS定位接收機(jī)。本文首先介紹了GPS系統(tǒng)由來及其開展、根本概念、GPS接收機(jī)的工作原理及接收機(jī)定位流程。然后對單片機(jī)及其串口通信、M-87及其NMEA-0183語句的數(shù)據(jù)格、液晶顯示器進(jìn)行了詳細(xì)論述,并且設(shè)置了所需的外圍電路。接著詳細(xì)地介紹了該GPS接收機(jī)的軟件設(shè)計過程。通過C語言實現(xiàn)了GPS信號的提取、顯示等。經(jīng)過實踐測試,這種接收機(jī)可以到達(dá)根本GPS信息接收以及顯示,可以做到方便靈活、優(yōu)質(zhì)價廉、精度高、連續(xù)導(dǎo)航、抗干擾能力強(qiáng),并可廣泛應(yīng)用于個人野外旅游探險、出租汽車定位及海上作業(yè)等領(lǐng)域。第1章GPS系統(tǒng)簡介1.1GPS的由來及開展導(dǎo)航衛(wèi)星定時測距全球定位系統(tǒng)(NavigationSatelliteTimingandRangingGlobalPositionSystemGPS)是美國第二代衛(wèi)星導(dǎo)航系統(tǒng)。它在1973年底由美國陸海空三軍等單位協(xié)調(diào)分工提出的能取代舊式的導(dǎo)航設(shè)備,為軍用艦船、飛機(jī)車輛等用戶提供全球全天候、連續(xù)實時效勞的高精度三維導(dǎo)航系統(tǒng)。系統(tǒng)由空間局部、地面監(jiān)控局部和地面接收機(jī)局部組成。定位效勞包括精密定位效勞(PPS)和標(biāo)準(zhǔn)定位效勞(SPS)。PPS授權(quán)的精密定位系統(tǒng)用戶需要密碼設(shè)備和特殊的接收機(jī)。SPS對于普通民用用戶,供全世界用戶免費、無限制地使用。由于GPS具有全球覆蓋以及精度高、定位速度快、實時性好、抗干擾能力強(qiáng)等特點,近年來在國內(nèi)外得到廣泛的應(yīng)用,在各個領(lǐng)域發(fā)揮了極大的作用,已成為信息時代不可缺少的一局部。各種GPS民用產(chǎn)品的開發(fā),已是經(jīng)濟(jì)和社會開展的必然要求,其前景將會非常廣闊和光明,尤其是在我國,通過這些年來對它認(rèn)識不斷加深,我國的GPS開發(fā)應(yīng)用也一定會以科技力量推動經(jīng)濟(jì)和社會開展的一顆巨星,對我國的經(jīng)濟(jì)和社會的開展產(chǎn)生重大的影響。1.2GPS定位系統(tǒng)的根本原理每顆GPS衛(wèi)星時刻發(fā)布其位置和時間數(shù)據(jù)信號,用戶接收機(jī)可以測量每顆衛(wèi)星信號到接收機(jī)的時間延遲,根據(jù)信號傳輸?shù)乃俣瓤梢杂嬎愠鼋邮諜C(jī)到不同衛(wèi)星的距離。同時收集至少4顆衛(wèi)星的數(shù)據(jù)時,通過變頻、放大、濾波等一系列處理過程,實現(xiàn)對GPS衛(wèi)星信號的跟蹤、鎖定和測量,從而產(chǎn)生計算位置的數(shù)據(jù)信息(包括:緯度、經(jīng)度、高度、速度、日期、時間、航向、衛(wèi)星狀況等),經(jīng)由I/O口輸出串行數(shù)據(jù)。1.3GPS模塊定位流程〔1〕搜索可用衛(wèi)星,接收衛(wèi)星信號,與衛(wèi)星信號同步,提取導(dǎo)航電文信息?!?〕從導(dǎo)航電文中獲取計算位置所需的信息,這些信息應(yīng)該包括時鐘信息和星歷等數(shù)據(jù)?!?〕計算衛(wèi)星的準(zhǔn)確位置,這包括計算衛(wèi)星的高度和方位角,從而進(jìn)行必要的對流層校正?!?〕計算偽距,并進(jìn)行電離層校正等?!?〕重復(fù)上述過程,對所有可用衛(wèi)星進(jìn)行相應(yīng)的計算?!?〕進(jìn)行其他必要的校正,例如根據(jù)衛(wèi)星信號到達(dá)GPS接收機(jī)的時間,校正地球旋轉(zhuǎn)所造成的衛(wèi)星位置的偏差?!?〕根據(jù)定位原理,計算出GPS接收機(jī)的初始位置,并將其轉(zhuǎn)換成所需的坐標(biāo)格式進(jìn)行顯示或輸出?!?〕參加閏秒和UTC〔標(biāo)準(zhǔn)世界時〕時間補(bǔ)償計算當(dāng)前精確的時間?!?〕分析可用衛(wèi)星的信息,計算最好的DOP(DilutionofPrecision),進(jìn)行選星,并計算和修正GPS接收機(jī)的位置,給出GPS接收機(jī)的三維坐標(biāo)和準(zhǔn)確的時間信息。1.4本設(shè)計的主要工作本文的主要目的是在GPS和單片機(jī)的理論知識上,選用Atmel公司的AT89C51提取GPS模塊的接收數(shù)據(jù)并由12864液晶顯示接收數(shù)據(jù)。在此設(shè)計過程中,主要熟悉Holux-M-87GPS模塊各性能指標(biāo),學(xué)習(xí)NMEA封包并懂得使用NMEA輸出命令,結(jié)合單片機(jī)串行通信知識,實現(xiàn)對GPS接收到的衛(wèi)星信息進(jìn)行提取,并在12864液晶顯示平臺上選擇性的顯示數(shù)據(jù)。第2章系統(tǒng)硬件設(shè)計課題要求研制的GPS接收機(jī)要具有接收、處理、顯示信息的功能。硬件上必須有相應(yīng)的接收處理局部、顯示局部和配置輸入局部,同時需要處理器實現(xiàn)各局部功能的聯(lián)合。由于單片機(jī)集成度高,系統(tǒng)結(jié)構(gòu)簡單,價格低廉,同時技術(shù)成熟,處理器局部使用單片機(jī)實現(xiàn)。本課題設(shè)計的硬件系統(tǒng)主要由:單片機(jī)、GPS模塊、顯示局部等組成。如圖2-1所示:圖2-1系統(tǒng)框圖2.1單片機(jī)硬件核心控制任務(wù)是由單片機(jī)來完成的,單片機(jī)的采用使硬件電路設(shè)計大大簡化,并且性能更加可靠。目前,可采用的微處理器有很多種,如:MCS-51、Me6sol、280、eopsoo等8位單片機(jī),雖然16位單片機(jī)在1982年已經(jīng)問世,但其開展并不像人們想象的那樣快,盡管在某些性能指標(biāo)方面超過了8位單片機(jī),但從性價比及開發(fā)周期等綜合效益上卻不如8位單片機(jī),因此應(yīng)用并不普及。在本次設(shè)計中,采用MCS-51系列單片機(jī),雖然信號處理和計算的功能相對差些,但其結(jié)構(gòu)簡單、體積小、性價比高、可靠性高、功耗小及應(yīng)用范圍廣,適合于小型化作業(yè)。因此,選擇AT89C51單片機(jī)作為微控制器。它具有全雙工異步通信口,可與M-87接口進(jìn)行數(shù)據(jù)讀取、處理和輸出。GPS信號接收和處理局部與單片機(jī)進(jìn)行串口通信時,由于都采用了TTL電平,故兩者之間不需進(jìn)行電平轉(zhuǎn)換就可直接通信。2.1.1AT89C51單片機(jī)的結(jié)構(gòu)原理AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效精簡微控制器。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價格低廉的方案,其引腳排列如圖2-2所示:圖2-2AT89C51引腳圖引腳XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器,石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的上下電平要求的寬度。2.1.2AT89C51單片機(jī)的主要特性(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)振蕩器和時鐘電路。2.2GPS模塊2.2.1概述根據(jù)設(shè)計需要,GPS模塊選用M-87,如圖2-3所示。M-87是一種根據(jù)低耗電MediatekGPS解決方案設(shè)計的超小型25.4×25.4×7mmGPS引擎機(jī)板。它是一個高性能、低功耗、小型并很容易聯(lián)合的GPS模塊,應(yīng)用范圍廣泛。它對于導(dǎo)航應(yīng)用提供高達(dá)-159dBm的絕佳靈敏度與快速的第一次定位時間。M-87是您想要內(nèi)嵌在使用于GPS效勞的PDA、PND、行動、可攜式裝置設(shè)計中的最正確選擇。圖2-3M-87GPS模塊主要技術(shù)參數(shù)及產(chǎn)品特點主要技術(shù)參數(shù):(1)工作電壓:3.5~5V直流。(2)接收靈敏度:-159dBm。(3)體積大?。?5.4×25.4×7mm。(4)模塊重量:7克(5)定位精度:<3m(6)系統(tǒng)內(nèi)存:4MB產(chǎn)品特點:外形精巧,靈敏性高,可搜尋多達(dá)32個衛(wèi)星頻道,能夠快速進(jìn)行位置修正。低耗電,可使用RTCM-in,內(nèi)建WAAS/EGNOS/MSAS解調(diào)器,支援NMEA0183V3.01數(shù)據(jù)通訊協(xié)定。定位效勞的即時導(dǎo)航,適用于汽車導(dǎo)航、船只導(dǎo)航、艦隊管理、AVL和定位效勞、自動導(dǎo)航、個人導(dǎo)航或旅游裝置、追蹤裝置系統(tǒng)和地圖裝置應(yīng)用。管腳介紹及與單片機(jī)的接口電路GPS模塊管腳說明如表2-1所示:表2-1管腳說明管腳管腳名稱功能描述1VCC-5V+3.5~5.5Vdc電量輸入2TXA串行數(shù)據(jù)輸出端口A〔CMOS3V:Voh2.4VVol0.4VIoh=Iol=2mA〕3RXA串行數(shù)據(jù)輸入端A(CMOS3V:
Vih≧0.7*VCCVil≦0.3*VCC)4RXB串行數(shù)據(jù)輸入端B(CMOS3V:
Vih≧0.7*VCCVil≦0.3*VCC)5GND接地6時鐘/復(fù)位時鐘:1PPS時鐘信號輸出(Vil≦0.2V脈沖
寬度10ms)。
復(fù)位:復(fù)位輸入電源輸出的5V直流電壓送到變換器中,基準(zhǔn)頻率經(jīng)過頻率變換和頻率綜合分別送到解調(diào)器中和C/A碼發(fā)生器中,經(jīng)過一系列處理后再輸入到偽碼和相位測量,經(jīng)測量后將數(shù)據(jù)送到CPU,CPU收到信號后做出相應(yīng)的判斷并送出命令,控制顯示器和各個部件的工作狀態(tài)。下面是GPS模塊M-87與單片機(jī)的連口電路,如圖2-4所示:圖2-4單片機(jī)和GPS接收機(jī)的接口電路GPS模塊接收到衛(wèi)星信號后,通過全球定位系統(tǒng)導(dǎo)航,它計算、定位和確定時間信息,通過串口移植到AT89C51單片機(jī)。AT89C51單片機(jī)解碼定位導(dǎo)航和時間信息,并轉(zhuǎn)換成時間、經(jīng)度、緯度信號,然后將它們發(fā)送到單片機(jī)液晶顯示模塊LCD12864模塊。2.3顯示局部LCD12864與單片機(jī)的接線原理圖如圖2-5所示:如圖2-5LCD12864與單片機(jī)的接線原理圖晶振電路提供單片機(jī)的時鐘信號,電容C1與電阻R1提供MCU的復(fù)位信號;LCD12864的DB0~DB7接受單片機(jī)的P0口發(fā)送的數(shù)據(jù),P2.0~P2.2控制LCD的正常工作,P2.6端口控制LCD液晶屏的亮度。LCD12864概述帶中文字庫的LCD12864是一種具有4位、8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊,其顯示分辨率為128×64,內(nèi)置8192個16×16點漢字,和128個16×8點ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4行、16×16點陣的漢字,也可完成圖形顯示。低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不管硬件電路結(jié)構(gòu)或顯示程序都要簡潔的多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。根本特性(1)低電源電壓:〔VDD:+3.0~+5.5V〕。(2)顯示分辨率:128×64點。(3)內(nèi)置漢字字庫,提供8192個16×16點陣漢字(簡繁體可選)。(4)內(nèi)置128個16×8點陣字符。(5)2MHZ時鐘頻率。(6)顯示方式:STN、半透、正顯。(7)驅(qū)動方式:1/32DUTY,1/5BIAS。(8)視角方向:6點。(9)背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5~1/10。(10)通訊方式:串行、并口可選。(11)內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負(fù)壓。(12)無需片選信號,簡化軟件設(shè)計。(13)工作溫度:0℃~+55℃;存儲溫度:-20℃~+60℃。模塊接口說明表2-2LCD12864管腳說明管腳號管腳名稱電平管腳功能描述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復(fù)位端,低電平有效〔見注釋2〕18VOUT-LCD驅(qū)動電壓輸出端19AVDD背光源正端〔+5V〕〔見注釋3〕20KVSS背光源負(fù)端〔見注釋3〕*注釋1:如在實際應(yīng)用中僅使用串口通訊模式,可將PSB接固定低電平,也可以將模塊上的J8和“GND〞用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。*注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。第3章系統(tǒng)軟件設(shè)計3.1系統(tǒng)軟件概述圖4-1系統(tǒng)程序流程圖圖4-1為GPS全球定位系統(tǒng)的主程序流程圖。系統(tǒng)軟件主要由初始化模塊、數(shù)據(jù)接收處理模塊組成。軟件程序見附錄A。3.2軟件程序的編寫3.2.1初始化模塊初始化模塊完成開機(jī)上電后對單片機(jī)、液晶顯示器和GPS模塊的初始化工作。對單片機(jī)設(shè)置串口工作模式、設(shè)置波特率和中斷工作模式;對液晶顯示器設(shè)置開機(jī)畫面和顯示模式;完成對GPS模塊串口的成功通信。3.2.2數(shù)據(jù)接收處理模塊數(shù)據(jù)接收處理模塊負(fù)責(zé)處理從GPS接收到的數(shù)據(jù)。在單片機(jī)串口收到信息后,先判別是否為語句引導(dǎo)頭“$〞,再接收信息內(nèi)容,然后根據(jù)語句標(biāo)識區(qū)分出信息類別以對收到ASCII碼進(jìn)行處理顯示。假設(shè)整個數(shù)據(jù)接收正確,便對數(shù)據(jù)進(jìn)行處理;假設(shè)接收不正確,那么重新進(jìn)行接收。本設(shè)計中,接收時主要提取并存儲以下數(shù)據(jù)內(nèi)容:當(dāng)前日期、時間、定位狀態(tài)、緯度、經(jīng)度。特別注意的是GPS發(fā)送的時間是世界統(tǒng)一時,與我國的時區(qū)相差八個小時,所以還要將時間作轉(zhuǎn)換。北京時間應(yīng)在UTC時間上加上8小時才是準(zhǔn)確的北京時,在超出24小時時應(yīng)作減24小時處理。轉(zhuǎn)換時間要考慮到年月日的變更。數(shù)據(jù)更新率為每秒一次。系統(tǒng)工作時GPS模塊不斷得到新的數(shù)據(jù),單片機(jī)不斷刷新RAM,處理完后的數(shù)據(jù)送液晶顯示器顯示。數(shù)據(jù)接收處理程序流程圖如下面圖4-2所示。圖4-2數(shù)據(jù)接收處理程序流程圖第4章系統(tǒng)調(diào)試4.1硬件調(diào)試按照電路原理圖對器件進(jìn)行連接,各個管腳要相互對應(yīng),在沒通電之前,先用萬用表檢查線路的正確性,并核對元器件的型號、規(guī)格是否符合要求。并特別注意電源的正負(fù)極以及電源之間是否有短路,并重點檢查地址總線,數(shù)據(jù)總線,控制總線是否存在相互間的短路或其他信號線的短路。通電后檢查引腳的電位,仔細(xì)測量各點電位是否正常,尤其應(yīng)注意單片機(jī)的插座上各點電位,假設(shè)有高壓,將有可能損壞單片機(jī)仿真器。在斷電情況下,用仿真插頭將所連接電路與單片機(jī)仿真器的仿真接口相連,為軟件調(diào)試做好準(zhǔn)備。4.2軟件調(diào)試在對GPS接收到的衛(wèi)星信息進(jìn)行處理時,碰到較為麻煩的問題是在對接收到的時間信息進(jìn)行轉(zhuǎn)換上。直接從衛(wèi)星接收到的時間是UTC時間,北京時間應(yīng)在UTC時間上加上8小時才是準(zhǔn)確的北京時,在超出24小時時應(yīng)作減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]賦值等〕后總結(jié)出這樣一個問題,以上的算法處理只對六位數(shù)據(jù)位的高一位處理有效,低五位的顯示始終都是正確UTC時間。經(jīng)過分析,初步認(rèn)定上面的程序并沒有被完全的執(zhí)行。因GPS接收模塊源源不斷的傳送數(shù)據(jù)給單片機(jī)處理,在運行過程中定位信息大約每秒鐘更新一次,在主函數(shù)中對收到的時間進(jìn)行處理時有可能會出現(xiàn)還沒來得及處理完畢時便接收到下一幀數(shù)據(jù),故時間的處理就可能會有只對高一位處理完成而沒完成處理好低五位時又進(jìn)入了串行口中斷,那么液晶顯示的結(jié)果就是經(jīng)過處理的高一位(北京時間)和未經(jīng)處理的低五位(UTC時間)。考慮到以上原因,將原放在主函數(shù)的時間轉(zhuǎn)換處理程序放置在到中斷時一收到UTC時間就對其進(jìn)行轉(zhuǎn)換處理。經(jīng)過了調(diào)試,終于在液晶上顯示出來正確的北京時間,證明了以上的分析、推斷的正確性。4.3系統(tǒng)測試結(jié)果經(jīng)過屢次的測試和改良,2023年5月12日上午在洛陽理工學(xué)院實驗樓D樓進(jìn)行測試,接收天線放置于戶外接收信號,啟動GPS接收系統(tǒng),經(jīng)過測試,液晶顯示的結(jié)果如下列圖5-1:圖5-1液晶顯示結(jié)果結(jié)論本課題是在了解了當(dāng)前GPS導(dǎo)航系統(tǒng)的條件下,自行開發(fā)一套GPS接收系統(tǒng)。GPS接收機(jī)的開發(fā)和研制,主要是了解GPS的原理,熟悉GPS接收機(jī)的工作原理及其各局部工作流程。GPS信號處理這一塊由M-87實現(xiàn),通過M-87與MCS-51兼容系列單片機(jī)串口相連,配備了所需的外圍電路,同時配有液晶顯示器,可以顯示字符,并詳細(xì)介紹了該GPS接收機(jī)的硬件和軟件設(shè)計。開發(fā)的GPS接收機(jī)已經(jīng)可以正常工作,同時顯示的定位精度和定位速度等各方面的指標(biāo)都滿足要求。通過實驗?zāi)M仿真,結(jié)合本課題的人機(jī)界面、參數(shù)設(shè)置與計算等,能夠滿足課題要求,可以實現(xiàn)導(dǎo)航功能。通過本課題的完成,我對GPS的原理有了深入的理解,熟練地掌握了GPS接收機(jī)的工作原理。同時,我對單片機(jī)的應(yīng)用有了更深入的掌握,提高了單片機(jī)外圍電路設(shè)計和軟件設(shè)計的經(jīng)驗和能力。這些對我今后工作的提高都有所幫助。同時,由于水平有限和時間問題,還存在許多缺乏。沒有進(jìn)行誤差分析,且定位數(shù)據(jù)可能有誤差,這些方面有待改良和提高。謝辭在此,首先我要感謝耐心細(xì)致、知識豐富,給我們很大幫助的王老師!在畢業(yè)設(shè)計期間,從設(shè)計題目的選擇,到資料的查找、原理的講解,再到后來畢業(yè)論文的結(jié)構(gòu)布局和報告內(nèi)容的修改都給予我們耐心的輔導(dǎo)。在這里我要向老師表示最衷心最誠摯地感謝!我們有很多根底理論知識掌握不牢,一面幫我們查漏補(bǔ)缺,一面發(fā)揮我們的特長,讓我們的課題能夠順利有序地進(jìn)行到滿足要求。其次,我還要感謝我們課題組一起奮斗的同學(xué),在共同的學(xué)習(xí)中,我們互幫互助,愉快地完成了畢業(yè)設(shè)計!此外,還要感謝以前的代課老師,他們在各方面都給了我不少幫助,愿他們工作愉快,身體健康!最后,向在這三年期間幫助過、關(guān)心過我的老師和同學(xué)致以衷心地感謝,愿大家身體健康、工作愉快輕松、生活幸福安康!參考文獻(xiàn)[1]洪大永.GPS全球定位系統(tǒng)技術(shù)及應(yīng)用[M].福建:廈門大學(xué)出版社,1998[2]高鋒.單片微型計算機(jī)原理與接口技術(shù)[M].北京:科學(xué)出版社,2003[3]徐惠民,安德寧.單片微型計算機(jī)原理接口與應(yīng)用[M].北京:北京郵電大學(xué)出版社,1996[4]鄭曉霞.基于AT89S51單片機(jī)實驗開發(fā)系統(tǒng)設(shè)計[D].內(nèi)蒙古大學(xué)2023[5]戴佳,戴衛(wèi)恒.51單片機(jī)C語言應(yīng)用程序設(shè)計[M].北京:電子工業(yè)出版社,2006[6]何立民.從Cygnal80C51F看8位單片機(jī)開展之路[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2002年,第5期:[7]郝振濤,張建北,江恒,喬曼.GPS定位監(jiān)控裝置[P].中國專利:CN202329819U,2010-11-10[8]俞海紅,陳素珊,何勇.GPS定位試驗及提高定位精度的方法研究[J].浙江大學(xué)學(xué)報(農(nóng)業(yè)與生命科學(xué)版).2004年,第6期:76~81[9]鄒于豐,基于AT89C2051單片機(jī)的GPS時鐘系列[J].電子世界.2023年,第5期:39[10]張俊中,楊傳寬,雷偉偉.GPS技術(shù)在工程測量中的應(yīng)用[J].黑龍江科技信息.2023年,第25期:17[11]張海龍.基于單片機(jī)的GPS定位顯示系統(tǒng)[J].網(wǎng)絡(luò)與信息.2023年,第4期:47[12]GPSForwardModelComputingStudyOnCPU/GPUCo-ProcessingParallelSystemUsingCUDA[A].Proceedingsofthe2023IEEEInternationalConferenceonProgressinInformaticsandComputing[C].2023[13]YuWang1;a;ZhenyaoZheng2;b;DepartmentofPhysics;
XiamenUniversity;Xiamen.TheKeyTechnologyResearchofGPSPositioningSystemBasedonSingleChipMicrocomputer[C].2023[14]吳迅.使用單片機(jī)的簡易GPS經(jīng)緯度信息顯示系統(tǒng)[J].電子世界.2023年,第1期:46~48[15]張新強(qiáng).點陣LCD驅(qū)動顯控原理與實踐[M].北京:北京航天航空出版社,2023,3[16]莫禾勝,唐曉輝.
基于LCD液晶顯示器的時間顯示系統(tǒng)設(shè)計與制作[J].科技信息.2023年,第21期:106~107[17]吳忻.基于GPS定位和電子地圖的最正確路徑搜索[D].西安電子科技大學(xué)2006[18]LingHuang.GPSInformationProcessingSystemBasedonSingleChipMicrocomputer.ModernElectronicsTechnique[C].2007附錄附錄A軟件程序#include"reg51.h"#include"stdio.h"#include"intrins.h"#include"System.h"#defineFALSE0#defineTRUE1sbitSCLK=P1^7;sbitMISO=P1^6;sbitMOSI=P1^5;sbitLCD_SH=P1^2;sbitLCD_CS=P1^1;#defineLCD_SCLKSCLK#defineLCD_MISOMISO#defineLCD_MOSIMOSI#defineLCD_16dot_mode1#defineLCD_12dot_mode2#defineLCD_DRAW_mode3#defineLCD_FD_DRAW_mode4#defineLCD_FD_DATA1#defineLCD_FD_ADDR0#defineLCD_FD_CMD0//LCD命令及參數(shù)定義#defineLCD_CMD_HEAD0x80#defineLCD_CMD_END0x93#defineLCD_16DOT_MODE_CMD0x81#defineLCD_12DOT_MODE_CMD0x82#defineLCD_DRAW_MODE_CMD0x83#defineLCD_FD_MODE_CMD0x84#defineLCD_SET_CONTRAST_CMD0x85#defineLCD_SET_BK_LCD_CMD0x86#defineLCD_CLR_CMD0x88#defineLCD_SLEEP_CMD0x89#defineLCD_Cursor_CMD0x8b#defineLCD_Hilight_CMD0x8#defineLCD_BK_Light_Ctl_Cmd0x8d#defineLCD_ALL_Hilight0#defineLCD_TXT_Hilight1#defineLCD_DRAW_PIC_CMD0x90//命令畫圖模式下的畫圖模式設(shè)置#defineLCD_DRAW_WHOLE_PIC0x01#defineLCD_DRAW_SPECIAL_ICON0x02#defineLCD_DRAW_PROGRESS0x03#defineLCD_EXIT_SLEEP_STA0x9#defineLCD_SET_NEW_POS_WORD0x20#defineLCD_SET_DEF_POS_WORD0x00#defineLCD_BK_ON0x01#defineLCD_BK_OFF0x00#defineLCD_START_ADC_CMD0x87#defineLCD_READ_CMD0x00unsignedcharidatatemp_bu[20];unsignedcharidatatemp_buf[20];unsignedcharidatagps_time1[12];unsignedcharidatagps_mode[3];unsignedcharidatagps_longitude[15];unsignedcharidatagps_longitude_dir[3];unsignedcharidatagps_latitude[15];unsignedcharidatagps_latitude_dir[3];unsignedcharidatagps_speed[8];unsignedcharidatagps_speed_dir[8];unsignedcharidatagps_time2[10];unsignedchargps_data_ok_flag;unsignedcharidatagps_height[10];unsignedcharrx_height_mode;unsignedcharrx_height_count;#defineMAX_RX_BUF12unsignedchargps_rx_mode;unsignedcharrx_pointer;unsignedcharcom_rx_buf[MAX_RX_BUF+1];voidcal_position_disp_datalatitude(void);voidcal_position_disp_datalongitude(void);voidTR_LCD_SPI_BYTE_FD(unsignedchardat,mode);unsignedcharTR_LCD_SPI_BYTE(unsignedchardat);voidChange_lcd_mode(unsignedcharLCD_mode);voidLCD_Send_CMD_END(void);voidSET_LCD_POS(unsignedcharmode,Y,X);voidLCD_print_char(unsignedcharY,X,unsignedchar*char_ptr,unsignedcharEnd_flag);voidLCD_print_Curr_char(unsignedchar*char_ptr,unsignedcharEnd_flag);voidSend_LCD_string(unsignedchar*char_ptr);voidDraw_lcd_whole_PIC(unsignedcharST_PIC,END_PIC,time);voidDraw_LCD_Specail_ICON(unsignedcharmode,Y,X,height,width,unsignedchar*data_ptr);voidDraw_LCD_Srepress(unsignedcharY,X,mode,width,curr_POS);voidSet_LCD_contrast(unsignedcharCON_dat);voidSet_LCD_BK(unsignedcharBKL_dat);unsignedcharRead_LCD_ADC(void);unsignedcharCheck_LCD_Busy(unsignedcharmode);voidDraw_LCD_Big_PIC(unsignedcharY,X,height,width,unsignedchar*PIC_ptr);voidLCD_Exit_FD_DRAW_MODE(unsignedcharnew_mode);voidSET_LCD_SLEEP_MODE(void);unsignedcharSET_LCD_Exit_SLEEP(void);voidLCD_CLR_ALL(unsignedcharAt_once);voidLCD_Open_Cursor(unsignedcharCursor_width);voidLCD_Close_Cursor(void);voidLCD_Open_hilight(unsignedcharHilight_mode);voidLCD_Close_hilight(unsignedcharHilight_mode);voidLCD_BK_Light_SET(unsignedcharLight_MODE);voidInit_LCD(void);voidInit_GPS_module(void);unsignedcharCal_gas_data_to_disp(void);voidrx_gps_data(unsignedcharcom_rx_byte);voiddelay_time(unsignedshortt){unsignedshortn,m;for(n=0;n<t;n++){for(m=0;m<1000;m++){;}}}voidmain(void){unsignedchari;Init_GPS_module();Init_LCD();EA=1;while(1){LCD_BK_Light_SET(TRUE);Set_LCD_BK(1);LCD_Open_Cursor(1);LCD_Send_CMD_END();delay_time(500);LCD_CLR_ALL(TRUE);if(gps_data_ok_flag){i=Cal_gas_data_to_disp();if(i==1){LCD_print_char(0,0,"該地時間為~",FALSE); LCD_Open_Cursor(0);LCD_print_Curr_char(gps_time1,TRUE); delay_time(200); LCD_Open_Cursor(1);LCD_print_char(1,0,"該地經(jīng)度為~",FALSE); LCD_Open_Cursor(0);LCD_print_Curr_char(temp_bu,TRUE); delay_time(200); LCD_Open_Cursor(0);LCD_print_char(3,0,"該地緯度為~",FALSE); LCD_Open_Cursor(0);LCD_print_Curr_char(temp_buf,TRUE);}}delay_time(20000);}}voidDelay_3US(void){unsignedchart;for(t=0;t<10;t++)//{_nop_();}}#ifdefHARD_SPIunsignedcharTR_LCD_SPI_BYTE(unsignedchardat){while(!LCD_SH);LCD_CS=0;SPDAT=dat;while(!(SPSTAT&0x80));SPSTAT=0xc0;LCD_CS=1;returnSPDAT;}#elseunsignedcharTR_LCD_SPI_BYTE(unsignedchardat){unsignedchartemp_data,i;while(!LCD_SH);LCD_SCLK=0;temp_data=dat;LCD_CS=0;MOSI=0;for(i=0;i<8;i++){if(temp_data&0x80) LCD_MOSI=1;else LCD_MOSI=0;temp_data<<=1;LCD_SCLK=1;if(LCD_MISO) temp_data|=0x01;//_nop_();LCD_SCLK=0;//_nop_();}LCD_CS=1;returntemp_data;}#endifvoidChange_lcd_mode(unsignedcharLCD_mode){unsignedchartemp_data;if(LCD_mode){if(LCD_mode<=LCD_FD_DRAW_mode) {temp_data=0x80+LCD_mode; TR_LCD_SPI_BYTE(LCD_CMD_HEAD); TR_LCD_SPI_BYTE(temp_data); //LCD_Send_CMD_END(); }}}voidLCD_Send_CMD_END(void){TR_LCD_SPI_BYTE(LCD_CMD_END);Delay_3US();Delay_3US();}voidSET_LCD_POS(unsignedcharmode,Y,X){unsignedchartemp_data;TR_LCD_SPI_BYTE(LCD_CMD_HEAD);if(mode){temp_data=Y;temp_data&=0x0f;temp_data|=LCD_SET_NEW_POS_WORD;}elsetemp_data=LCD_SET_DEF_POS_WORD;TR_LCD_SPI_BYTE(temp_data);if(mode)TR_LCD_SPI_BYTE(X);}voidLCD_print_char(unsignedcharY,X,unsignedchar*char_ptr,unsignedcharEnd_flag){SET_LCD_POS(TRUE,Y,X);Send_LCD_string(char_ptr);if(End_flag)LCD_Send_CMD_END();}voidLCD_print_Curr_char(unsignedchar*char_ptr,unsignedcharEnd_flag){SET_LCD_POS(FALSE,0,0);Send_LCD_string(char_ptr);if(End_flag)LCD_Send_CMD_END();}voidSend_LCD_string(unsignedchar*char_ptr){while(*char_ptr!='~'){TR_LCD_SPI_BYTE(*char_ptr);char_ptr++;}}voidSet_LCD_BK(unsignedcharBKL_dat){TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(LCD_SET_BK_LCD_CMD);TR_LCD_SPI_BYTE(BKL_dat);}voidLCD_CLR_ALL(unsignedcharAt_once){TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(LCD_CLR_CMD);if(At_once) LCD_Send_CMD_END();}voidLCD_Open_Cursor(unsignedcharCursor_width){TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(LCD_Cursor_CMD);TR_LCD_SPI_BYTE(0x01);TR_LCD_SPI_BYTE(Cursor_width);}voidLCD_Open_hilight(unsignedcharHilight_mode){TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(LCD_Hilight_CMD);TR_LCD_SPI_BYTE(Hilight_mode);TR_LCD_SPI_BYTE(0x01);}voidLCD_BK_Light_SET(unsignedcharLight_MODE){TR_LCD_SPI_BYTE(LCD_CMD_HEAD);TR_LCD_SPI_BYTE(LCD_BK_Light_Ctl_Cmd);TR_LCD_SPI_BYTE(Light_MODE);}voidInit_LCD(void){unsignedchari;for(i=0;i<250;i++) Delay_3US();LCD_SH=1;while(!LCD_SH);}voidInit_GPS_module(void){rx_pointer=0;gps_rx_mode=0;gps_data_ok_flag=0;RI=0;TI=0;SCON=0x40;PCON=0x00;TMOD=0x20;TH1=0xFD;TL1=0xFD;TR1=1;REN=1;ES=1;}voidUart_Isr(void)interrupt4{if(RI){rx_gps_data(SBUF);}if(TI){;}RI=0;TI=0;}voidrx_gps_data(unsignedcharcom_rx_byte){unsignedchari;if(com_rx_byte=='$'){gps_rx_mode=0;rx_pointer=0;for(i=0;i<5;i++) com_rx_buf[i]=0;}else{if(rx_pointer<MAX_RX_BUF)com_rx_buf[rx_pointer++]=com_rx_byte;}switch(gps_rx_mode){case0:if(com_rx_byte==','){if((com_rx_buf[0]=='G')&&(com_rx_buf[1]=='P')&&(com_rx_buf[2]=='R')&&(com_rx_buf[3]=='M')&&(com_rx_buf[4]=='C')){gps_rx_mode=1;}elseif((com_rx_buf[0]=='G')&&(com_rx_buf[1]=='P')&&(com_rx_buf[2]=='G')&&(com_rx_buf[3]=='G')&&(com_rx_buf[4]=='A')){rx_height_count=0;rx_height_mode=0;gps_rx_mode=12;}rx_pointer=0;}break;case1:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){ gps_time1[i]=com_rx_buf[i]; }//gps_time1[i]='|';gps_rx_mode=2;rx_pointer=0;}break;case2:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){gps_mode[i]=com_rx_buf[i];}//gps_mode[i]='|';gps_rx_mode=3;rx_pointer=0;}break;case3:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){ gps_latitude[i]=com_rx_buf[i]; }//gps_longitude[i]='|';gps_rx_mode=4;rx_pointer=0;}break;case4:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){gps_latitude_dir[i]=com_rx_buf[i];}//gps_longitude_dir[i]='|';gps_rx_mode=5;rx_pointer=0;}break;case5:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){ gps_longitude[i]=com_rx_buf[i];}//gps_latitude[i]='|';gps_rx_mode=6;rx_pointer=0;}break;case6:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){gps_longitude_dir[i]=com_rx_buf[i];}//gps_latitude_dir[i]='|';gps_rx_mode=7;rx_pointer=0;}break;case7:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){ gps_speed[i]=com_rx_buf[i];}gps_rx_mode=8;rx_pointer=0;}break;case8:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){gps_speed_dir[i]=com_rx_buf[i];}gps_rx_mode=9;rx_pointer=0;}break;case9:if(com_rx_byte==','){for(i=0;i<rx_pointer;i++){ gps_time2[i]=com_rx_buf[i];}gps_rx_mode=10;rx_pointer=0;}break;case10:if(com_rx_byte==','){gps_rx_mode=11;rx_pointer=0;}break;case11:if(com_rx_byte==',') {gps_data_ok_flag=1;gps_rx_mode=0;rx_pointer=0; }break;case12://接收海拔高度數(shù)據(jù)if(com_rx_byte==',') {if(rx_height_mode==0) {rx_height_count++; if(rx_height_count==8) { rx_height_mode=1; rx_pointer=0; }}else {for(i=0;i<rx_pointer;i++){gps_height[i]=com_rx_buf[i];}gps_rx_mode=0;rx_pointer=0; //rx_height_mode=1; //rx_pointer=0; }}break;default:gps_rx_mode=0;rx_pointer=0;break;}com_rx_byte=0xff;}unsignedcharcal_data_len(unsignedchar*str){unsignedchari=0;while(*str!=','){i++;str++;}*str='~';returni;}voidCal_gps_height(void){unsignedchari;i=cal_data_len(gps_height);gps_height[i]='m';gps_height[i+1]='~';}voidCal_gps_time(void){unsignedcharhh;unsignedchari,temp_buff[10];if(cal_data_len(gps_time1)!=0){hh=(gps_time1[0]-'0')*10+(gps_time1[1]-'0');hh+=8;if(hh>=24) hh-=24;temp_buff[0]=hh/10+'0';temp_buff[1]=hh%10+'0';temp_buff[2]=':';temp_buff[3]=gps_time1[2];temp_buff[4]=gps_time1[3];temp_buff[5]=':';temp_buff[6]=gps_time1[4];temp_buff[7]=gps_time1[5];temp_buff[8]='~'; for(i=0;i<9;i++)gps_time1[i]=temp_buff[i];}}unsignedcharCal_gas_data_to_disp(void){Cal_gps_height();Cal_gps_time();cal_position_disp_datalatitude();cal_position_disp_datalongitude();if(gps_mode[0]=='A') return1;else return0;}voidcal_position_disp_datalatitude(void){unsignedinthen;if(cal_data_len(gps_latitude)!=0){hen=(gps_latitude[5]-'0')*1000+(gps_latitude[6]-'0')*100+(gps_latitude[7]-'0')*10+(gps_latitude[8]-'0');hen=hen*60;temp_buf[0]=gps_latitude_dir[0];temp_buf[1]=gps_latitude[0];temp_buf[2]=gps_latitude[1];temp_buf[3]='d';temp_buf[4]=gps_latitude[2];temp_buf[5]=gps_latitude[3];temp_buf[6]='m';temp_buf[7]=hen/100000+'0';temp_buf[8]=hen/10000%10+'0';temp_buf[9]='.';temp_buf[10]=hen%1000/100+'0';temp_buf[11]=hen%100/10+'0';temp_buf[12]=hen%10+'0';temp_buf[13]='s';temp_buf[14]='~';}}voidcal_position_disp_datalongitude(void){unsignedinthen;if(cal_data_len(gps_longitude)!=0){hen=(gps_longitude[6]-'0')*1000+(gps_longitude[7]-'0')*100+(gps_longitude[8]-'0')*10+(gps_longitude[9]-'0');hen=hen*60;temp_bu[0]=gps_longitude_dir[0];temp_bu[1]=gps_longitude[0];temp_bu[2]=gps_longitude[1];temp_bu[3]=gps_longitude[2];temp_bu[4]='d';temp_bu[5]=gps_longitude[3];temp_bu[6]=gps_longitude[4];temp_bu[7]='m';temp_bu[8]=hen/100000+'0';temp_bu[9]=hen/10000%10+'0';temp_bu[10]='.';temp_bu[11]=hen%1000/100+'0';temp_bu[12]=hen%100/10+'0';temp_bu[13]=hen%10+'0';temp_bu[14]='s';temp_bu[15]='~';}}附錄B系統(tǒng)硬件結(jié)構(gòu)原理圖外文資料翻譯1.GPSobtainsthewide-spreadapplication,butitstillhadtheinsufficiency.GPShasbecomeaglobalhighandnewtechnologyindustry,whichisonekindofinformationinfrastructureandisenteringpeople'sdailylifegradually.Theexistenceinsufficiencyisveryobvious,itisthesystemwhichcontrolsbymilitary,anditisimpossibleatanytimeanyplaceguaranteecivil;Inthebustlingstreets,thejungle,orinthemaskandtheenvironmentbadsituation,itsusabilityisrestricted;Thesinglesystemitselfhasthelimitation,anditisimpossibletoguaranteeanyapplication.2.GLONASSreceivestheattention,butitisactuallydisappointing.GLONASSoncegavepeopletheveryoptimisticscene,therealityisheartlessbecauseoftheeconomicalandthetechnicaldualreasons,whichenableitonlyworksincompletely,nowonlyhastheinsuffici
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年柴油機(jī)清洗液行業(yè)深度研究分析報告
- 2020-2025年中國陶瓷砂輪行業(yè)市場前景預(yù)測及投資方向研究報告
- 二零二五年度高校青年教師引進(jìn)與發(fā)展協(xié)議4篇
- 2025年中國哌拉西林鈉行業(yè)市場發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報告
- 2025年中國核級電纜料行業(yè)市場發(fā)展監(jiān)測及投資戰(zhàn)略咨詢報告
- 2025年運動休閑服裝項目可行性研究報告
- 2025年綠色能源進(jìn)出口項目購銷合同模板3篇
- 2025版家居用品銷售合同模板(含售后退換)
- 2025年中國高效煤粉工業(yè)鍋爐行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略咨詢報告
- 二零二五年度木材行業(yè)人才培訓(xùn)合作合同4篇
- 2024年云南省中考數(shù)學(xué)試題含答案解析
- 國家中醫(yī)藥管理局發(fā)布的406種中醫(yī)優(yōu)勢病種診療方案和臨床路徑目錄
- 2024年全國甲卷高考化學(xué)試卷(真題+答案)
- 汽車修理廠管理方案
- 人教版小學(xué)數(shù)學(xué)一年級上冊小學(xué)生口算天天練
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 三年級數(shù)學(xué)添括號去括號加減簡便計算練習(xí)400道及答案
- 蘇教版五年級上冊數(shù)學(xué)簡便計算300題及答案
- 澳洲牛肉行業(yè)分析
- 計算機(jī)江蘇對口單招文化綜合理論試卷
- 成人學(xué)士學(xué)位英語單詞(史上全面)
評論
0/150
提交評論