版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于單片機(jī)的GPS定位系統(tǒng)設(shè)計(jì)摘要GPS是全球定位系統(tǒng)英文名詞GlobalPositioningSystem的縮寫。該系統(tǒng)是美國布設(shè)的第二代衛(wèi)星無線電導(dǎo)航系統(tǒng)。它能為用戶提供全球性、全天候、連續(xù)、實(shí)時(shí)、高精度的三維坐標(biāo)、三向速度和時(shí)間信息。其目的是在全球范圍內(nèi)對(duì)地面和空中目標(biāo)進(jìn)行準(zhǔn)確定位和監(jiān)測?,F(xiàn)在,GPS接收機(jī)作為一種先進(jìn)的導(dǎo)航和定位儀器,已在軍事及民用領(lǐng)域得到廣泛的應(yīng)用。本設(shè)計(jì)是基于AT89C51單片機(jī)來實(shí)現(xiàn)的簡易GPS定位信息顯示系統(tǒng)。本控制系統(tǒng)主要完成接受數(shù)據(jù)、時(shí)間顯示、經(jīng)度顯示、緯度顯示等常規(guī)功能。此方案基于單片機(jī)、GPS模塊和12864液晶顯示屏等硬件,并應(yīng)用C語言實(shí)現(xiàn)了GPS信號(hào)的提取、顯示及根本的鍵盤控制操作等。經(jīng)過實(shí)踐測試,這種接收機(jī)可以到達(dá)根本GPS信息的接收以及顯示,可以做到體積小、精度高、連續(xù)導(dǎo)航,并可廣泛應(yīng)用于個(gè)人野外旅游探險(xiǎn)、出租汽車定位及海上作業(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è)計(jì)的主要工作4第2章系統(tǒng)硬件設(shè)計(jì)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)品特點(diǎn)82.2.3管腳介紹及與單片機(jī)的接口電路82.3顯示局部102.3.1LCD12864概述112.3.2根本特性122.3.3模塊接口說明12第3章系統(tǒng)軟件設(shè)計(jì)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)注。具備高精度、全天候、全球覆蓋、高效率、多功能、操作簡便等特點(diǎn)。廣泛應(yīng)用于地面車輛跟蹤和城市智能交通管理方面。車載GPS系統(tǒng)配合電子地圖,適時(shí)掌握自己的方位與目的地,對(duì)鎖定目標(biāo)進(jìn)行跟蹤、監(jiān)控,從而到達(dá)防御、求援之目的。滿足對(duì)機(jī)動(dòng)車輛的指揮、調(diào)度、管理、監(jiān)控、導(dǎo)航、通訊等需求。改變了人們的工作方式,提高了工作效率,帶來了巨大的社會(huì)效益和經(jīng)濟(jì)效益。隨著人們對(duì)運(yùn)輸載體的監(jiān)控、跟蹤以及智能化管理要求的提高,GPS在中國即將進(jìn)入爆發(fā)性開展階段,蘊(yùn)藏著巨大的開展空間。GPS系統(tǒng)包括三大局部:空間局部——GPS衛(wèi)星星座;地面控制局部——地面監(jiān)控系統(tǒng);用戶設(shè)備局部——GPS信號(hào)接收機(jī)。GPS系統(tǒng)通過使用來自多個(gè)衛(wèi)星的信號(hào)來確定地面或近地面任何位置的移動(dòng)接收機(jī)的位置。我國的衛(wèi)星定位技術(shù)綜合了GPS衛(wèi)星導(dǎo)航全球定位,GSM全球數(shù)字蜂窩移動(dòng)通信,GIS地理信息,計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)全方位的技術(shù)應(yīng)用。利用GPS衛(wèi)星信號(hào)接收機(jī),跟蹤這些衛(wèi)星的運(yùn)行,對(duì)所接收到的GPS信號(hào)進(jìn)行變換、放大和處理,測量傳播時(shí)間,解譯導(dǎo)航電文。接收機(jī)24h不間斷地接收衛(wèi)星發(fā)送的數(shù)據(jù)參數(shù),算出接收的三維位置、三維方向以及運(yùn)動(dòng)速度和時(shí)間信息。全球定位系統(tǒng)GPS是近年來開發(fā)的最具有開創(chuàng)意義的高新技術(shù)之一,其全球性、全能性、全天候性的導(dǎo)航定位、定時(shí)、測速優(yōu)勢必然會(huì)在諸多領(lǐng)域中得到越來越廣泛的應(yīng)用。在興旺國家,GPS技術(shù)已經(jīng)開始應(yīng)用于交通運(yùn)輸和道路工程之中。目前,GPS技術(shù)在我國道路工程和交通管理中的應(yīng)用還剛剛起步,相信隨著我國經(jīng)濟(jì)的開展,高等級(jí)公路的快速修建和GPS技術(shù)應(yīng)用研究的逐步深入,其在道路工程中的應(yīng)用也會(huì)更加廣泛和深入,并發(fā)揮更大的作用。自20世紀(jì)90年代GPS系統(tǒng)向全世界免費(fèi)開放以來,GPS系統(tǒng)已廣泛應(yīng)用在導(dǎo)航、大地測量、精確授時(shí)、線路巡檢及車輛防盜等領(lǐng)域。接收機(jī)是獲得GPS系統(tǒng)效勞的關(guān)鍵設(shè)備,目前已有從手持式到臺(tái)式數(shù)百種型號(hào)的接收機(jī)可供用戶選擇。通用接收機(jī)功能齊全,除了信號(hào)接收單元外,往往還配置有顯示單元和人機(jī)對(duì)話設(shè)備。這一方面為用戶提供了極大的方便,但GPS定位接收機(jī)價(jià)格比擬昂貴而且使用靈活性低,難以滿足特定條件下的應(yīng)用需求,造成了資金浪費(fèi)。因此,眾多用戶期望按照自己的使用環(huán)境和性能要求設(shè)計(jì)和使用個(gè)性化的GPS定位接收機(jī)。本文首先介紹了GPS系統(tǒng)由來及其開展、根本概念、GPS接收機(jī)的工作原理及接收機(jī)定位流程。然后對(duì)單片機(jī)及其串口通信、M-87及其NMEA-0183語句的數(shù)據(jù)格、液晶顯示器進(jìn)行了詳細(xì)論述,并且設(shè)置了所需的外圍電路。接著詳細(xì)地介紹了該GPS接收機(jī)的軟件設(shè)計(jì)過程。通過C語言實(shí)現(xiàn)了GPS信號(hào)的提取、顯示等。經(jīng)過實(shí)踐測試,這種接收機(jī)可以到達(dá)根本GPS信息接收以及顯示,可以做到方便靈活、優(yōu)質(zhì)價(jià)廉、精度高、連續(xù)導(dǎo)航、抗干擾能力強(qiáng),并可廣泛應(yīng)用于個(gè)人野外旅游探險(xiǎn)、出租汽車定位及海上作業(yè)等領(lǐng)域。第1章GPS系統(tǒng)簡介1.1GPS的由來及開展導(dǎo)航衛(wèi)星定時(shí)測距全球定位系統(tǒng)(NavigationSatelliteTimingandRangingGlobalPositionSystemGPS)是美國第二代衛(wèi)星導(dǎo)航系統(tǒng)。它在1973年底由美國陸??杖姷葐挝粎f(xié)調(diào)分工提出的能取代舊式的導(dǎo)航設(shè)備,為軍用艦船、飛機(jī)車輛等用戶提供全球全天候、連續(xù)實(shí)時(shí)效勞的高精度三維導(dǎo)航系統(tǒng)。系統(tǒng)由空間局部、地面監(jiān)控局部和地面接收機(jī)局部組成。定位效勞包括精密定位效勞(PPS)和標(biāo)準(zhǔn)定位效勞(SPS)。PPS授權(quán)的精密定位系統(tǒng)用戶需要密碼設(shè)備和特殊的接收機(jī)。SPS對(duì)于普通民用用戶,供全世界用戶免費(fèi)、無限制地使用。由于GPS具有全球覆蓋以及精度高、定位速度快、實(shí)時(shí)性好、抗干擾能力強(qiáng)等特點(diǎn),近年來在國內(nèi)外得到廣泛的應(yīng)用,在各個(gè)領(lǐng)域發(fā)揮了極大的作用,已成為信息時(shí)代不可缺少的一局部。各種GPS民用產(chǎn)品的開發(fā),已是經(jīng)濟(jì)和社會(huì)開展的必然要求,其前景將會(huì)非常廣闊和光明,尤其是在我國,通過這些年來對(duì)它認(rèn)識(shí)不斷加深,我國的GPS開發(fā)應(yīng)用也一定會(huì)以科技力量推動(dòng)經(jīng)濟(jì)和社會(huì)開展的一顆巨星,對(duì)我國的經(jīng)濟(jì)和社會(huì)的開展產(chǎn)生重大的影響。1.2GPS定位系統(tǒng)的根本原理每顆GPS衛(wèi)星時(shí)刻發(fā)布其位置和時(shí)間數(shù)據(jù)信號(hào),用戶接收機(jī)可以測量每顆衛(wèi)星信號(hào)到接收機(jī)的時(shí)間延遲,根據(jù)信號(hào)傳輸?shù)乃俣瓤梢杂?jì)算出接收機(jī)到不同衛(wèi)星的距離。同時(shí)收集至少4顆衛(wèi)星的數(shù)據(jù)時(shí),通過變頻、放大、濾波等一系列處理過程,實(shí)現(xiàn)對(duì)GPS衛(wèi)星信號(hào)的跟蹤、鎖定和測量,從而產(chǎn)生計(jì)算位置的數(shù)據(jù)信息(包括:緯度、經(jīng)度、高度、速度、日期、時(shí)間、航向、衛(wèi)星狀況等),經(jīng)由I/O口輸出串行數(shù)據(jù)。1.3GPS模塊定位流程〔1〕搜索可用衛(wèi)星,接收衛(wèi)星信號(hào),與衛(wèi)星信號(hào)同步,提取導(dǎo)航電文信息?!?〕從導(dǎo)航電文中獲取計(jì)算位置所需的信息,這些信息應(yīng)該包括時(shí)鐘信息和星歷等數(shù)據(jù)?!?〕計(jì)算衛(wèi)星的準(zhǔn)確位置,這包括計(jì)算衛(wèi)星的高度和方位角,從而進(jìn)行必要的對(duì)流層校正?!?〕計(jì)算偽距,并進(jìn)行電離層校正等。〔5〕重復(fù)上述過程,對(duì)所有可用衛(wèi)星進(jìn)行相應(yīng)的計(jì)算?!?〕進(jìn)行其他必要的校正,例如根據(jù)衛(wèi)星信號(hào)到達(dá)GPS接收機(jī)的時(shí)間,校正地球旋轉(zhuǎn)所造成的衛(wèi)星位置的偏差?!?〕根據(jù)定位原理,計(jì)算出GPS接收機(jī)的初始位置,并將其轉(zhuǎn)換成所需的坐標(biāo)格式進(jìn)行顯示或輸出。〔8〕參加閏秒和UTC〔標(biāo)準(zhǔn)世界時(shí)〕時(shí)間補(bǔ)償計(jì)算當(dāng)前精確的時(shí)間?!?〕分析可用衛(wèi)星的信息,計(jì)算最好的DOP(DilutionofPrecision),進(jìn)行選星,并計(jì)算和修正GPS接收機(jī)的位置,給出GPS接收機(jī)的三維坐標(biāo)和準(zhǔn)確的時(shí)間信息。1.4本設(shè)計(jì)的主要工作本文的主要目的是在GPS和單片機(jī)的理論知識(shí)上,選用Atmel公司的AT89C51提取GPS模塊的接收數(shù)據(jù)并由12864液晶顯示接收數(shù)據(jù)。在此設(shè)計(jì)過程中,主要熟悉Holux-M-87GPS模塊各性能指標(biāo),學(xué)習(xí)NMEA封包并懂得使用NMEA輸出命令,結(jié)合單片機(jī)串行通信知識(shí),實(shí)現(xiàn)對(duì)GPS接收到的衛(wèi)星信息進(jìn)行提取,并在12864液晶顯示平臺(tái)上選擇性的顯示數(shù)據(jù)。第2章系統(tǒng)硬件設(shè)計(jì)課題要求研制的GPS接收機(jī)要具有接收、處理、顯示信息的功能。硬件上必須有相應(yīng)的接收處理局部、顯示局部和配置輸入局部,同時(shí)需要處理器實(shí)現(xiàn)各局部功能的聯(lián)合。由于單片機(jī)集成度高,系統(tǒng)結(jié)構(gòu)簡單,價(jià)格低廉,同時(shí)技術(shù)成熟,處理器局部使用單片機(jī)實(shí)現(xiàn)。本課題設(shè)計(jì)的硬件系統(tǒng)主要由:單片機(jī)、GPS模塊、顯示局部等組成。如圖2-1所示:圖2-1系統(tǒng)框圖2.1單片機(jī)硬件核心控制任務(wù)是由單片機(jī)來完成的,單片機(jī)的采用使硬件電路設(shè)計(jì)大大簡化,并且性能更加可靠。目前,可采用的微處理器有很多種,如:MCS-51、Me6sol、280、eopsoo等8位單片機(jī),雖然16位單片機(jī)在1982年已經(jīng)問世,但其開展并不像人們想象的那樣快,盡管在某些性能指標(biāo)方面超過了8位單片機(jī),但從性價(jià)比及開發(fā)周期等綜合效益上卻不如8位單片機(jī),因此應(yīng)用并不普及。在本次設(shè)計(jì)中,采用MCS-51系列單片機(jī),雖然信號(hào)處理和計(jì)算的功能相對(duì)差些,但其結(jié)構(gòu)簡單、體積小、性價(jià)比高、可靠性高、功耗小及應(yīng)用范圍廣,適合于小型化作業(yè)。因此,選擇AT89C51單片機(jī)作為微控制器。它具有全雙工異步通信口,可與M-87接口進(jìn)行數(shù)據(jù)讀取、處理和輸出。GPS信號(hào)接收和處理局部與單片機(jī)進(jìn)行串口通信時(shí),由于都采用了TTL電平,故兩者之間不需進(jìn)行電平轉(zhuǎn)換就可直接通信。2.1.1AT89C51單片機(jī)的結(jié)構(gòu)原理AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效精簡微控制器。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)格低廉的方案,其引腳排列如圖2-2所示:圖2-2AT89C51引腳圖引腳XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器,石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的上下電平要求的寬度。2.1.2AT89C51單片機(jī)的主要特性(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í)鐘電路。2.2GPS模塊2.2.1概述根據(jù)設(shè)計(jì)需要,GPS模塊選用M-87,如圖2-3所示。M-87是一種根據(jù)低耗電MediatekGPS解決方案設(shè)計(jì)的超小型25.4×25.4×7mmGPS引擎機(jī)板。它是一個(gè)高性能、低功耗、小型并很容易聯(lián)合的GPS模塊,應(yīng)用范圍廣泛。它對(duì)于導(dǎo)航應(yīng)用提供高達(dá)-159dBm的絕佳靈敏度與快速的第一次定位時(shí)間。M-87是您想要內(nèi)嵌在使用于GPS效勞的PDA、PND、行動(dòng)、可攜式裝置設(shè)計(jì)中的最正確選擇。圖2-3M-87GPS模塊主要技術(shù)參數(shù)及產(chǎn)品特點(diǎn)主要技術(shù)參數(shù):(1)工作電壓:3.5~5V直流。(2)接收靈敏度:-159dBm。(3)體積大小:25.4×25.4×7mm。(4)模塊重量:7克(5)定位精度:<3m(6)系統(tǒng)內(nèi)存:4MB產(chǎn)品特點(diǎn):外形精巧,靈敏性高,可搜尋多達(dá)32個(gè)衛(wèi)星頻道,能夠快速進(jìn)行位置修正。低耗電,可使用RTCM-in,內(nèi)建WAAS/EGNOS/MSAS解調(diào)器,支援NMEA0183V3.01數(shù)據(jù)通訊協(xié)定。定位效勞的即時(shí)導(dǎo)航,適用于汽車導(dǎo)航、船只導(dǎo)航、艦隊(duì)管理、AVL和定位效勞、自動(dòng)導(dǎo)航、個(gè)人導(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時(shí)鐘/復(fù)位時(shí)鐘:1PPS時(shí)鐘信號(hào)輸出(Vil≦0.2V脈沖
寬度10ms)。
復(fù)位:復(fù)位輸入電源輸出的5V直流電壓送到變換器中,基準(zhǔn)頻率經(jīng)過頻率變換和頻率綜合分別送到解調(diào)器中和C/A碼發(fā)生器中,經(jīng)過一系列處理后再輸入到偽碼和相位測量,經(jīng)測量后將數(shù)據(jù)送到CPU,CPU收到信號(hào)后做出相應(yīng)的判斷并送出命令,控制顯示器和各個(gè)部件的工作狀態(tài)。下面是GPS模塊M-87與單片機(jī)的連口電路,如圖2-4所示:圖2-4單片機(jī)和GPS接收機(jī)的接口電路GPS模塊接收到衛(wèi)星信號(hào)后,通過全球定位系統(tǒng)導(dǎo)航,它計(jì)算、定位和確定時(shí)間信息,通過串口移植到AT89C51單片機(jī)。AT89C51單片機(jī)解碼定位導(dǎo)航和時(shí)間信息,并轉(zhuǎn)換成時(shí)間、經(jīng)度、緯度信號(hào),然后將它們發(fā)送到單片機(jī)液晶顯示模塊LCD12864模塊。2.3顯示局部LCD12864與單片機(jī)的接線原理圖如圖2-5所示:如圖2-5LCD12864與單片機(jī)的接線原理圖晶振電路提供單片機(jī)的時(shí)鐘信號(hào),電容C1與電阻R1提供MCU的復(fù)位信號(hào);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)一級(jí)、二級(jí)簡體中文字庫的點(diǎn)陣圖形液晶顯示模塊,其顯示分辨率為128×64,內(nèi)置8192個(gè)16×16點(diǎn)漢字,和128個(gè)16×8點(diǎn)ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示8×4行、16×16點(diǎn)陣的漢字,也可完成圖形顯示。低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不管硬件電路結(jié)構(gòu)或顯示程序都要簡潔的多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。根本特性(1)低電源電壓:〔VDD:+3.0~+5.5V〕。(2)顯示分辨率:128×64點(diǎn)。(3)內(nèi)置漢字字庫,提供8192個(gè)16×16點(diǎn)陣漢字(簡繁體可選)。(4)內(nèi)置128個(gè)16×8點(diǎn)陣字符。(5)2MHZ時(shí)鐘頻率。(6)顯示方式:STN、半透、正顯。(7)驅(qū)動(dòng)方式:1/32DUTY,1/5BIAS。(8)視角方向:6點(diǎn)。(9)背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5~1/10。(10)通訊方式:串行、并口可選。(11)內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負(fù)壓。(12)無需片選信號(hào),簡化軟件設(shè)計(jì)。(13)工作溫度:0℃~+55℃;存儲(chǔ)溫度:-20℃~+60℃。模塊接口說明表2-2LCD12864管腳說明管腳號(hào)管腳名稱電平管腳功能描述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使能信號(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〞用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。*注釋3:如背光和模塊共用一個(gè)電源,可以將模塊上的JA、JK用焊錫短接。第3章系統(tǒng)軟件設(shè)計(jì)3.1系統(tǒng)軟件概述圖4-1系統(tǒng)程序流程圖圖4-1為GPS全球定位系統(tǒng)的主程序流程圖。系統(tǒng)軟件主要由初始化模塊、數(shù)據(jù)接收處理模塊組成。軟件程序見附錄A。3.2軟件程序的編寫3.2.1初始化模塊初始化模塊完成開機(jī)上電后對(duì)單片機(jī)、液晶顯示器和GPS模塊的初始化工作。對(duì)單片機(jī)設(shè)置串口工作模式、設(shè)置波特率和中斷工作模式;對(duì)液晶顯示器設(shè)置開機(jī)畫面和顯示模式;完成對(duì)GPS模塊串口的成功通信。3.2.2數(shù)據(jù)接收處理模塊數(shù)據(jù)接收處理模塊負(fù)責(zé)處理從GPS接收到的數(shù)據(jù)。在單片機(jī)串口收到信息后,先判別是否為語句引導(dǎo)頭“$〞,再接收信息內(nèi)容,然后根據(jù)語句標(biāo)識(shí)區(qū)分出信息類別以對(duì)收到ASCII碼進(jìn)行處理顯示。假設(shè)整個(gè)數(shù)據(jù)接收正確,便對(duì)數(shù)據(jù)進(jìn)行處理;假設(shè)接收不正確,那么重新進(jìn)行接收。本設(shè)計(jì)中,接收時(shí)主要提取并存儲(chǔ)以下數(shù)據(jù)內(nèi)容:當(dāng)前日期、時(shí)間、定位狀態(tài)、緯度、經(jīng)度。特別注意的是GPS發(fā)送的時(shí)間是世界統(tǒng)一時(shí),與我國的時(shí)區(qū)相差八個(gè)小時(shí),所以還要將時(shí)間作轉(zhuǎn)換。北京時(shí)間應(yīng)在UTC時(shí)間上加上8小時(shí)才是準(zhǔn)確的北京時(shí),在超出24小時(shí)時(shí)應(yīng)作減24小時(shí)處理。轉(zhuǎn)換時(shí)間要考慮到年月日的變更。數(shù)據(jù)更新率為每秒一次。系統(tǒng)工作時(shí)GPS模塊不斷得到新的數(shù)據(jù),單片機(jī)不斷刷新RAM,處理完后的數(shù)據(jù)送液晶顯示器顯示。數(shù)據(jù)接收處理程序流程圖如下面圖4-2所示。圖4-2數(shù)據(jù)接收處理程序流程圖第4章系統(tǒng)調(diào)試4.1硬件調(diào)試按照電路原理圖對(duì)器件進(jìn)行連接,各個(gè)管腳要相互對(duì)應(yīng),在沒通電之前,先用萬用表檢查線路的正確性,并核對(duì)元器件的型號(hào)、規(guī)格是否符合要求。并特別注意電源的正負(fù)極以及電源之間是否有短路,并重點(diǎn)檢查地址總線,數(shù)據(jù)總線,控制總線是否存在相互間的短路或其他信號(hào)線的短路。通電后檢查引腳的電位,仔細(xì)測量各點(diǎn)電位是否正常,尤其應(yīng)注意單片機(jī)的插座上各點(diǎn)電位,假設(shè)有高壓,將有可能損壞單片機(jī)仿真器。在斷電情況下,用仿真插頭將所連接電路與單片機(jī)仿真器的仿真接口相連,為軟件調(diào)試做好準(zhǔn)備。4.2軟件調(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í)間,證明了以上的分析、推斷的正確性。4.3系統(tǒng)測試結(jié)果經(jīng)過屢次的測試和改良,2023年5月12日上午在洛陽理工學(xué)院實(shí)驗(yàn)樓D樓進(jìn)行測試,接收天線放置于戶外接收信號(hào),啟動(dòng)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信號(hào)處理這一塊由M-87實(shí)現(xiàn),通過M-87與MCS-51兼容系列單片機(jī)串口相連,配備了所需的外圍電路,同時(shí)配有液晶顯示器,可以顯示字符,并詳細(xì)介紹了該GPS接收機(jī)的硬件和軟件設(shè)計(jì)。開發(fā)的GPS接收機(jī)已經(jīng)可以正常工作,同時(shí)顯示的定位精度和定位速度等各方面的指標(biāo)都滿足要求。通過實(shí)驗(yàn)?zāi)M仿真,結(jié)合本課題的人機(jī)界面、參數(shù)設(shè)置與計(jì)算等,能夠滿足課題要求,可以實(shí)現(xiàn)導(dǎo)航功能。通過本課題的完成,我對(duì)GPS的原理有了深入的理解,熟練地掌握了GPS接收機(jī)的工作原理。同時(shí),我對(duì)單片機(jī)的應(yīng)用有了更深入的掌握,提高了單片機(jī)外圍電路設(shè)計(jì)和軟件設(shè)計(jì)的經(jīng)驗(yàn)和能力。這些對(duì)我今后工作的提高都有所幫助。同時(shí),由于水平有限和時(shí)間問題,還存在許多缺乏。沒有進(jìn)行誤差分析,且定位數(shù)據(jù)可能有誤差,這些方面有待改良和提高。謝辭在此,首先我要感謝耐心細(xì)致、知識(shí)豐富,給我們很大幫助的王老師!在畢業(yè)設(shè)計(jì)期間,從設(shè)計(jì)題目的選擇,到資料的查找、原理的講解,再到后來畢業(yè)論文的結(jié)構(gòu)布局和報(bào)告內(nèi)容的修改都給予我們耐心的輔導(dǎo)。在這里我要向老師表示最衷心最誠摯地感謝!我們有很多根底理論知識(shí)掌握不牢,一面幫我們查漏補(bǔ)缺,一面發(fā)揮我們的特長,讓我們的課題能夠順利有序地進(jìn)行到滿足要求。其次,我還要感謝我們課題組一起奮斗的同學(xué),在共同的學(xué)習(xí)中,我們互幫互助,愉快地完成了畢業(yè)設(shè)計(jì)!此外,還要感謝以前的代課老師,他們?cè)诟鞣矫娑冀o了我不少幫助,愿他們工作愉快,身體健康!最后,向在這三年期間幫助過、關(guān)心過我的老師和同學(xué)致以衷心地感謝,愿大家身體健康、工作愉快輕松、生活幸福安康!參考文獻(xiàn)[1]洪大永.GPS全球定位系統(tǒng)技術(shù)及應(yīng)用[M].福建:廈門大學(xué)出版社,1998[2]高鋒.單片微型計(jì)算機(jī)原理與接口技術(shù)[M].北京:科學(xué)出版社,2003[3]徐惠民,安德寧.單片微型計(jì)算機(jī)原理接口與應(yīng)用[M].北京:北京郵電大學(xué)出版社,1996[4]鄭曉霞.基于AT89S51單片機(jī)實(shí)驗(yàn)開發(fā)系統(tǒng)設(shè)計(jì)[D].內(nèi)蒙古大學(xué)2023[5]戴佳,戴衛(wèi)恒.51單片機(jī)C語言應(yīng)用程序設(shè)計(jì)[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定位試驗(yàn)及提高定位精度的方法研究[J].浙江大學(xué)學(xué)報(bào)(農(nóng)業(yè)與生命科學(xué)版).2004年,第6期:76~81[9]鄒于豐,基于AT89C2051單片機(jī)的GPS時(shí)鐘系列[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).點(diǎn)陣LCD驅(qū)動(dòng)顯控原理與實(shí)踐[M].北京:北京航天航空出版社,2023,3[16]莫禾勝,唐曉輝.
基于LCD液晶顯示器的時(shí)間顯示系統(tǒng)設(shè)計(jì)與制作[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,"該地時(shí)間為~",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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度挖掘機(jī)銷售與售后服務(wù)一體化合同4篇
- 《概率論基礎(chǔ):課件中的樣本空間與隨機(jī)事件》
- 中國多功能專業(yè)擴(kuò)聲音響項(xiàng)目投資可行性研究報(bào)告
- 2025年花卉文化節(jié)組織與執(zhí)行合同3篇
- 2025年山東壽光檢測集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年福建廈門鹽業(yè)有限責(zé)任公司招聘筆試參考題庫含答案解析
- 2025年浙江杭州文化廣播電視集團(tuán)招聘筆試參考題庫含答案解析
- 2025年中國東方航空江蘇有限公司招聘筆試參考題庫含答案解析
- 二零二五年度智能門鎖升級(jí)與安裝合同4篇
- 二零二五版科技園區(qū)建設(shè)與運(yùn)營合同創(chuàng)新生態(tài)3篇
- 微信小程序運(yùn)營方案課件
- 抖音品牌視覺識(shí)別手冊(cè)
- 陳皮水溶性總生物堿的升血壓作用量-效關(guān)系及藥動(dòng)學(xué)研究
- 安全施工專項(xiàng)方案報(bào)審表
- 學(xué)習(xí)解讀2022年新制定的《市場主體登記管理?xiàng)l例實(shí)施細(xì)則》PPT匯報(bào)演示
- 好氧廢水系統(tǒng)調(diào)試、驗(yàn)收、運(yùn)行、維護(hù)手冊(cè)
- 中石化ERP系統(tǒng)操作手冊(cè)
- 五年級(jí)上冊(cè)口算+脫式計(jì)算+豎式計(jì)算+方程
- 氣體管道安全管理規(guī)程
- 《眼科學(xué)》題庫
- 交通燈控制系統(tǒng)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論