簡易車載GPS的設(shè)計【畢業(yè)論文】

簡易車載GPS的設(shè)計【畢業(yè)論文】

ID:439105

大?。?.87 MB

頁數(shù):57頁

時間:2017-08-02

上傳者:U-944
簡易車載GPS的設(shè)計【畢業(yè)論文】_第1頁
簡易車載GPS的設(shè)計【畢業(yè)論文】_第2頁
簡易車載GPS的設(shè)計【畢業(yè)論文】_第3頁
簡易車載GPS的設(shè)計【畢業(yè)論文】_第4頁
簡易車載GPS的設(shè)計【畢業(yè)論文】_第5頁
資源描述:

《簡易車載GPS的設(shè)計【畢業(yè)論文】》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

本科畢業(yè)設(shè)計簡易車載GPS的設(shè)計52 摘要GPS全球定位系統(tǒng)又稱為衛(wèi)星測時測距導(dǎo)航系統(tǒng),整個系統(tǒng)分為衛(wèi)星星座、地面控制和監(jiān)控站、用戶設(shè)備三大部分。該系統(tǒng)是以衛(wèi)星為基礎(chǔ)的無線電導(dǎo)航定位系統(tǒng),具有全能性、全球性、連續(xù)性的導(dǎo)航、定位和定時功能,能為各類用戶提供精密的三維坐標(biāo)、速度和時間。GPS系統(tǒng)的空間部分是由21顆衛(wèi)星構(gòu)成,均勻的分布在6個軌道上,地面高度是2千多公里,軌道傾斜角是55度,周期約為12小時,衛(wèi)星向地面發(fā)送兩個波段的載波信號,載波信號頻率分別為1575.442兆赫茲和1227.6兆赫茲,在衛(wèi)星上安裝了精度很高的原子鐘,具有穩(wěn)定頻率的作用,在載波上調(diào)制有表示衛(wèi)星位置的廣播星歷,用于測距的C/A碼和P碼,以及其它相關(guān)信息,能夠在全球范圍內(nèi),向任意多的用戶提供高精度、連續(xù)、全天候、實時的三維測速、三維定位和授時。用GPS信號可以進(jìn)行海洋、高空和陸地的導(dǎo)航、導(dǎo)彈的制導(dǎo)、大地測量和工程測量的精密定位、時間的傳遞和速度的測量等。隨著我國GPS技術(shù)的發(fā)展,在大地測量方面,建立了各級測量控制網(wǎng),提供了高精度的平面和高程三維基準(zhǔn)。我國已完成西沙,南沙群島各個島嶼與大陸的GPS聯(lián)測,使海域與全國大地網(wǎng)聯(lián)結(jié)為一整體。本設(shè)計主要利用單片機(jī)、液晶顯示器和GPS的OEM板設(shè)計開發(fā)出能用于汽車位置定位的簡易GPS定位器。所選器件是MCS-51系列單片機(jī),液晶顯示器模塊。GPSOEM板來接受GPS信號,將定位信息由串行口送出,單片機(jī)串行接受定位信息,經(jīng)過處理后送顯示模塊,顯示經(jīng)緯度、運動速度及北京時間。關(guān)鍵字:單片機(jī);GPS;設(shè)計52 AbstractAlsocalledglobalpositioningsystem(GPS)satellitenavigationsystem,testrangingthewholesystemintosatelliteconstellation,groundcontrolandmonitor,theuserequipmentthreesections.Thesystemisbasedonsatelliteradionavigationandpositioningsystem,hastheversatilityofsex,continuity,celestialnavigation,locationandtimingfunctionforallkindsofuserswithprecision,thethree-dimensionalcoordinatesofspeedandtime.GPSsystemspacecomposedpartlyby21satellite,evenlydistributedinsixrailsurface,groundheightis20,000kilometers,railobliquityis55degrees,flatheartrateisabout0,isabout12hours,periodicsatellitetothegroundtolaunchtwobandscarriersignal,carriersignalfrequency1575.442trillionrespectivelyHertz(L1band)and1227.6MHZ(L2band),satelliteinstallprecisionishigh,theclockstoensurethestabilityofthecarrierfrequencymodulation,ontheradiohassaidsatellitelocationforthestarcalendar,rangefinderC/AcodeandPyards,andothersysteminformation,canintheglobalscope,anyamountofuserstoprovidehighprecision,all-weatherreal-timethree-dimensional,continuousandspeed,three-dimensionallocalizationandGPSclock.UseGPSsignalscanundertakesea,airandlandnavigation,missileguidance,geodesyandengineeringmeasurementprecisionpositioning,timerelayandvelocitymeasurement,etc.WithChina'sGPStechnologydevelopmentongeodesy,establishedvariousmeasurementcontrolnetwork,provideshigh-precisionplaneandelevation3dbenchmark.Chinahascompletedwestham,nanshaislandsaoftheislandtomainlandGPSleaguetomeasure,maketheconnectionwiththesea.AwholenetworkThisdesignmainUSESsinglechip,LCDmonitorsandGPSOEMdesigndevelopedcanbeusedinautomobilepositioningsimpleGPSlocator.TheselecteddeviceisMCS-51seriesmicrocontroller,LCDmodule,GPSOEMboardtoaccepttheGPSsignal.Willlocateinformationsentoutbyaserialport,microcontrollerserialacceptpositioninginformation,theprocessedsenddisplaymodule.FortheGPSpositioninginformationrequiredtodisplaylongitudeandlatitude,movementspeed,Beijingtime.Keyword:SCM;GPS;design52 目錄第1章緒論11.1GPS系統(tǒng)的構(gòu)成11.2GPS系統(tǒng)基本定位原理2第2章系統(tǒng)總方案設(shè)計42.1GPS-OEM接收板42.2LCD液晶顯示器42.3MCU的選擇5第3章系統(tǒng)硬件設(shè)計63.1電源電路的設(shè)計63.251單片機(jī)系統(tǒng)63.3GPS-OEM接受電路。73.4液晶顯示器接收口設(shè)計11第4章系統(tǒng)軟件設(shè)計144.1系統(tǒng)軟件設(shè)計原理144.2LCD液晶顯示器程序144.3顯示控制程序194.4GPS接收子程序214.5初始化程序22小結(jié)24致謝25[參考文獻(xiàn)]26附錄1電路原理圖27附錄2程序清單28附錄3液晶字模文件4752 第1章緒論GPS即全球定位系統(tǒng)(GlobalPositioningSystem)是美國從本世紀(jì)70年代開始研制的,在1994年建成的,歷時20年,耗資200億美元,具有在海、陸、空進(jìn)行全方位實時三維導(dǎo)航與定位能力的新一代衛(wèi)星定位與導(dǎo)航系統(tǒng)。最近10年的我國測繪等部門的使用統(tǒng)計表明,GPS以全天候、自動化、高精度、高效益等特點,取得廣大測繪工作者的信賴,并且成功地應(yīng)用到了工程測量、運載工具管制和導(dǎo)航、工程變形監(jiān)測、地殼運動監(jiān)測、資源勘察、地球動力學(xué)、大地測量等多個領(lǐng)域,從而給測繪領(lǐng)域帶來一場深刻的技術(shù)風(fēng)暴。全球定位系統(tǒng)的主要用途:(1)航空航天應(yīng)用,包括飛機(jī)導(dǎo)航、衛(wèi)星定軌、導(dǎo)彈制導(dǎo)、航空救援和載人航天器防護(hù)探測(2)海洋應(yīng)用,包括海洋救援、最佳航程航線制定、水文地質(zhì)測量、船只實時調(diào)度、海洋平臺定位、海平面升降測量等。(3)陸地應(yīng)用,主要包括車輛導(dǎo)航、地球物理資源探測、工程測量、地殼運動監(jiān)測、大氣物理測量、市政規(guī)劃控制等。GPS系統(tǒng)的特點:(1)觀測時間短。目前,20KM以內(nèi)相對靜態(tài)定位,僅需15~20分鐘(2)定位精度高。應(yīng)用實踐已經(jīng)證明,GPS相對定位精度在50KM以內(nèi)可達(dá)10-6,100~500KM可達(dá)10-6,1000KM可達(dá)10-6(3)測站之間無需通視,只需測站上空開闊即可(4)操作簡便(5)可提供三維坐標(biāo)(6)全天候作業(yè)。目前,GPS觀測可在一天24小時內(nèi)的任何時間進(jìn)行,不受白天黑夜,狂風(fēng)暴雨等氣候的影響。1.1GPS系統(tǒng)的構(gòu)成GPS系統(tǒng)包括三大部分:GPS信號接收機(jī)、GPS衛(wèi)星星座、地面監(jiān)控系統(tǒng)。1、GPS工作衛(wèi)星及其星座GPS由3顆在軌備用衛(wèi)星和21顆工作衛(wèi)星構(gòu)成。24顆衛(wèi)星均勻分布在6個軌道平面內(nèi),軌道傾斜角度為55度,各個軌道平面之間的距離為60度。每個軌道平面內(nèi)各顆衛(wèi)星之間的升交角距相差90度。在GPS系統(tǒng)中,GPS衛(wèi)星的作用為:(1)用L波段的兩個無線載波(19cm和24cm)向廣大用戶持續(xù)的發(fā)送導(dǎo)航定位信號。(2)接收和儲存來自地面監(jiān)控站的導(dǎo)航信息,接收并執(zhí)行監(jiān)控站的控制指令。(3)衛(wèi)星計算機(jī)進(jìn)行數(shù)據(jù)處理。52 (4)接收地面主控站發(fā)送衛(wèi)星的調(diào)整命令,及時的調(diào)整運行偏差或啟動備用衛(wèi)星等。2、地面監(jiān)控系統(tǒng)GPS工作衛(wèi)星的地面監(jiān)控系統(tǒng)包括一個主控站、三個注入站和五個檢測站。主控站的主要任務(wù)是處理、收集本站和監(jiān)控站收集到的全部信息,編算出每顆衛(wèi)星的GPS時間系統(tǒng),再將預(yù)測的衛(wèi)星星歷、狀態(tài)數(shù)據(jù)以及大氣傳播編制成導(dǎo)航電文,并送入到注入站。主控站還負(fù)責(zé)糾正衛(wèi)星的軌道偏離度,調(diào)整衛(wèi)星的運行方向,啟動備用衛(wèi)星用來取代出問題的工作衛(wèi)星。另外還負(fù)責(zé)監(jiān)控整個地面監(jiān)測系統(tǒng)的工作情況,檢驗導(dǎo)航電文,監(jiān)測衛(wèi)星是否已將導(dǎo)航電文傳送到用戶端。1.2GPS系統(tǒng)基本定位原理GPS定位的基本原理是把高速運動衛(wèi)星的瞬間位置作為起算數(shù)據(jù),然后采用空間距離后方交會的方法,確定待測點的位置。GPS定位實際上就是通過四顆已知位置的衛(wèi)星來確定GPS接收器的位置,其中3顆衛(wèi)星是測量在用WGS-84作為標(biāo)準(zhǔn)的三維坐標(biāo),本來3維數(shù)據(jù)已足夠定位,但是衛(wèi)星傳播的工具是電磁波,而電磁波經(jīng)過傳播會產(chǎn)生誤差,從而導(dǎo)致傳播時間有偏差,為了使這傳播的數(shù)據(jù)同步,引入第四顆衛(wèi)星來提供時間數(shù)據(jù)。如圖1.1所示,假設(shè)t時刻在地面待測點上安置GPS接收機(jī),可以測定GPS信號到達(dá)接收機(jī)的時間為△t,再加上接收機(jī)所接收到的衛(wèi)星信號等其它數(shù)據(jù)可以確定雙模式定位(GPS衛(wèi)星信號定位再加上無線網(wǎng)絡(luò)定位相結(jié)合的方式定位)。圖1.1GPS定位原理圖52 如圖1.1中的GPS接收器是當(dāng)前要確定位置的設(shè)備,衛(wèi)星1、2、3、4是本次定位設(shè)計要用到的四顆衛(wèi)星:d1、d2、d3、d4分別是四顆衛(wèi)星到GPS接收器的距離。我們已經(jīng)知道每一個GPS衛(wèi)星都在不停的工作散播著自己的位置,那么在發(fā)送位置信息的同時,也會附加上該數(shù)據(jù)包擴(kuò)發(fā)出時的時間戳。當(dāng)GPS接收器收到數(shù)據(jù)后,用當(dāng)前時間(當(dāng)前時間只能由GPS接收器自己來確定)減去時間戳上的時間,就是數(shù)據(jù)包在空中傳輸所用的時間。知道了數(shù)據(jù)包在空中的傳輸時間然后乘上他的傳輸速度,也就是數(shù)據(jù)包在空中傳輸?shù)木嚯x了,就是該衛(wèi)星到GPS接收器的距離了。數(shù)據(jù)包是通過無線電波傳送的,那么理想速度就是光速c,把傳播時間記為Ti的話,用公式表示就是:  di=c*Ti(i=1,2,3,4)這就是di(i=1,2,3,4)的來源了。GPS定位是目前最為精確、應(yīng)用最為廣泛的定位導(dǎo)航技術(shù),以后將會成為每一個移動設(shè)備的標(biāo)配之一。52 第2章系統(tǒng)總方案設(shè)計2.1GPS-OEM接收板GPS模塊性能的選擇如下:1、時間定位:52 這是指重啟GPS接收器時,用來確定現(xiàn)在位置所需要的時間。對于2通道接收器,冷啟動時間大多要超過15分鐘,而熱啟動時時間一般低于5分鐘。而對于12通道接收器,如果你在最后一次定位位置的附近,冷啟動時的定位時間一般為3~5分鐘,熱啟動時為15~30秒。因為最多可能有12顆衛(wèi)星是可見的,GPS接收器必須按順序訪問每一顆衛(wèi)星以獲取每顆衛(wèi)星的信息。大多數(shù)的GPS接收器是12并行通道型的,這使得他們可以追蹤每顆衛(wèi)星的信息,12通道接收器的優(yōu)點包括快速冷啟動和對衛(wèi)星的信息快速初始化,而在森林地區(qū)的接收效果更好.一般12通道接收器不需要天線,除非你是在封閉的空間中,如船艙、車廂中。2、信號干擾:如果在很好的位置上,GPS接收器至少可以接收3~5顆衛(wèi)星。如果在峽谷中或者兩邊高樓聳立的街道上或者在茂密的樹林里,可能不能夠接收到足夠多的衛(wèi)星,從而導(dǎo)致無法定位或者只能得到一個二維坐標(biāo)。同樣,如果呆在一個建筑里面,可能無法接收或傳送一些信息,一些GPS接收器有單獨的天線可以貼在玻璃上,或者一個外置天線可以放在車頂上,這樣有助于你的接收器接收到更多的信號。3、定位經(jīng)度:大多數(shù)GPS接收器的水平位置定位精度在5m~10m左右,但這只是在SA沒有開啟的情況下。這次采用的是GARMIN公司所制造的GPS25LP型GPSOEM接收板。GARMIN公司作為全球最大的GPSOEM板的供應(yīng)商,他們生產(chǎn)的GPS25LP型GPSOEM板具有四個特點:1、重捕時間小于2S,熱啟動時間為15S,冷啟動時間為45S,自動搜索時間為90S;2、并行12通道接收;3、定位精度高4、提供外接天線以幫助接收。GARMINGPS25LP接收板完全能滿足這次設(shè)計的需要。2.2LCD液晶顯示器一般嵌入式系統(tǒng)可供選擇的顯示器有:1、LED顯示器:LED顯示器是由LED發(fā)光二極管發(fā)展而來的一種顯示器。一般分為LED點陣顯示器和LED數(shù)碼管顯示器。它具有亮度高、反應(yīng)速度快、視角寬、可靠性高、使用壽命長等特點。由于LED數(shù)碼管只能顯示數(shù)字和極少數(shù)英文字符,顯示很單調(diào)。而LED點陣雖然能顯示各種信息,但它的體積很大,不適合用于移動設(shè)備。2、VFD顯示器:VFD顯示器是由電子管發(fā)展而來的一種顯示器。它是真空二極管或三極管的一種改造型。VFD顯示器具有高清晰度、高亮度、寬視角、反應(yīng)速度快、色彩多,顯示效果好、使用壽命長等特點。但它需要5.5-6.3V的燈絲電壓、150-450mA的燈絲電流、12-36V的陽極加速電壓、15-36V的柵極電壓。如果不考慮陽極和柵極電流,就燈絲功耗就達(dá)825mW,功耗較大,不適合在移動設(shè)備上使用。而且它需要多組不同的供電電壓供電,使用不方便。52 3、LCD液晶顯示器:LCD液晶顯示器是利用光的偏振現(xiàn)象來顯示的。一般也分為數(shù)字型LCD和點陣型LCD。前者用于只需顯示簡單字符的地方,如時鐘等。后者能顯示各種復(fù)雜的圖形和自定義的字符。因此應(yīng)用比較廣泛。LCD液晶器具有本身不發(fā)光、靠反射或者透射其他光源、功耗小、可靠性高、壽命長、體積小、電源簡單等特點,非常適合于嵌入式系統(tǒng)、移動設(shè)備等。此次設(shè)計采用點陣型LCD液晶顯示器CGM-12232。具有122*32點陣,不僅可以顯示數(shù)字,還可以顯示中文、英文甚至圖片,體積很小,功率損耗低于12.5mW。2.3MCU的選擇一般GPS導(dǎo)航器都是GPSOEM配合矢量電子地圖來進(jìn)行導(dǎo)航和航線記錄的。這些設(shè)備CPU的運算量和需要儲存的數(shù)據(jù)量都很大,一般都使用X86、ARM等32位CPU??紤]到本設(shè)計只需要顯示定位和時間等簡單的信息,因此在單片機(jī)方面我們選擇Atmel的AT89C51單片機(jī)來作為處理器。第3章系統(tǒng)硬件設(shè)計3.1電源電路的設(shè)計電源電路的作用是給各個硬件供電,本次設(shè)計有兩種形式的電源電路即機(jī)內(nèi)變壓器供電電路和機(jī)外外接電源供電電路如圖3.1所示。將220V的交流電通過電源電路轉(zhuǎn)換變成穩(wěn)定的5V直流電源,以便單片機(jī)可以穩(wěn)定工作。主要流程為降壓、整流、濾波、穩(wěn)壓。220V的交流電進(jìn)來后先經(jīng)過變壓器降壓,然后經(jīng)過由四個二極管組成的全橋整流電路進(jìn)行整流,接著再經(jīng)過電容濾波形成比較穩(wěn)定的直流電,最后由7805進(jìn)行穩(wěn)壓,輸出穩(wěn)定的5V電源供單片機(jī)工作。52 圖3.1電源電路原理圖3.251單片機(jī)系統(tǒng)系統(tǒng)電路的主芯片采用的是AT89C51FLASH單片機(jī),AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS8位單片機(jī),片內(nèi)含4kbytes的只讀程序存儲器(ROM)和128bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的密度很高、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)安置通用8位中央處理器(CPU),功能強(qiáng)大,具有4K字節(jié)可重編程Flash存儲器、電源電壓5V±20%、內(nèi)部RAM128×8位,兩個16位定時器/計數(shù)器、6個中斷源。AT89C51單片機(jī)的電源、復(fù)位、晶振振蕩電路如圖3.2所示。52 圖3.2AT89C51單片機(jī)的電源、復(fù)位、晶振振蕩電路圖晶體振蕩電路。XTAL1腳和XTAL2腳分別構(gòu)成片內(nèi)振蕩器的反相放大器的輸入和輸出端,外接振蕩器以及補(bǔ)償電容C1、C2構(gòu)成并聯(lián)諧振電路。AT89C051系統(tǒng)中晶振可在0-24MHZ選擇。外接電容C1、C2的大小會影響振蕩器頻率的高低和穩(wěn)定度、起振速度以及溫度穩(wěn)定性。在設(shè)計電路板時,晶振和電容應(yīng)靠近單片機(jī)芯片,以便減少寄生電容,保證振蕩器穩(wěn)定可靠工作。在本次設(shè)計中為了使誤差趨于零故選擇了11MHZ的標(biāo)準(zhǔn)石英晶體,電容C1、C2為20PF。復(fù)位電路是單片機(jī)初上電時將PC指針指向0x0000的操作。當(dāng)上電時振蕩器運行,此時只要給出RST引腳兩個機(jī)器周期的高電平便可以完成系統(tǒng)復(fù)位。本次設(shè)計采用的是上電自動復(fù)位,由于上電后電容器上的電壓不會產(chǎn)生突變,因而上電初期RST的電壓基本上與VCC的電壓相同,為高電平,隨著充電的進(jìn)行RST上的電壓值會下降,實際上只要在RST引腳上保持10ms以上的高電平系統(tǒng)就可以復(fù)位。電容C可取10-33uF,電阻R可取1.2-10kΩ。本次設(shè)計中C取10uF,電阻R取10kΩ,充電時間常數(shù)為100ms(τ=R×C=10×10-6×10×103=100ms)。3.3GPS-OEM接受電路。GPS信息接受采用的OEM板是GARMIN公司的GARMINGPS25LP型與單片機(jī)的信息傳送采用RS-232標(biāo)準(zhǔn)。引腳功能如圖3.3所示52 圖3.3GPS-OEM板輸出引腳圖各個管腳的功能說明如下:Pin1:串行口2的數(shù)據(jù)輸出端。Pin2:串行口2的數(shù)據(jù)輸入端。Pin3:秒脈沖輸出端,經(jīng)度uS。Pin4:串行口1的數(shù)據(jù)輸出端。Pin5:串行口1的數(shù)據(jù)輸入端。Pin6:掉電模式控制端。Pin7:外部備用電源輸入端。Pin8:GND接地端。Pin9:Vin電源輸入端。Pin10:同Pin9,電源輸入端,內(nèi)部同Pin9相連。Pin11:空腳NC。Pin12:NMEA(美國海洋電子協(xié)會)0183,Ver1.5格式輸出端。由于本次設(shè)計使用的是LVS版本GPS25LP型GPSOEM板,所以串行口1、串行口2和NMEA口使用的都是RS-232電平。如果使用的是LVC版本的GPS25LP型GPSOEM板這些端口使用的是CMOS/TTL電平。在本次設(shè)計中將串行口2連至計算機(jī)用作對GPSOEM板設(shè)置用,本機(jī)顯示GPS信息從NMEA口送出。具體如圖3.4。52 圖3.4GPS-OEM板接口電路由于GPSOEM板送出的是RS-232電平,計算機(jī)串行通信用的也是RS-232電平,單片機(jī)使用的是COMS/TTL電平,包括串行通信。因此GPSOEM板和計算機(jī)通信無需多余的電路可以直接相連接,而和單片機(jī)接口必須進(jìn)行RS-232電平和COMS/TTL電平的相互轉(zhuǎn)換后才能通信。以前RS-232和COMS/TTL電平轉(zhuǎn)換常用MC1488和MC1489。由于MC1488和MC1489是單一功能的發(fā)送/接收器,所以在雙向數(shù)據(jù)傳輸中各端都需要同時使用這兩個器件,此外還要同時使用正負(fù)兩組電源,在很多場合使用很不方便,所以逐漸被淘汰了。后來推出了只用單一電壓且具有發(fā)送/接收雙重功能的電路。這種器件內(nèi)部集成一個電荷泵和一個電壓變換器,它能將+5V或者更低的電壓變換成RS-232所需的電壓。這類芯片最典型的就是MAXIM的MAX232芯片(如圖3.5),它內(nèi)部電荷泵電路先將+5V提升到+10V,然后在利用電壓反轉(zhuǎn)的方法將+10V變成-10V,這樣就得到了RS-232所需的V的電壓了。52 圖3.5MAX232接線圖設(shè)計中單片機(jī)只需要接收從GPSOEM板發(fā)送過來的數(shù)據(jù),而不需要向GPSOEM板發(fā)送數(shù)據(jù)。也就是只需將RS-232電平轉(zhuǎn)換為COMS/TTL電平,而不需要將COMS/TTL電平轉(zhuǎn)換為RS-232電平。在對RS-232電平和COMS/TTL電平作出分析后我們采用單個三極管來進(jìn)行轉(zhuǎn)換,而不用MAX232等專用RS-232-COMS/TTL電平轉(zhuǎn)換器。具體接線如圖3.652 圖3.6RS-232電平COMS/TTL電平轉(zhuǎn)換圖當(dāng)RS-232IN端輸入RS-232邏輯電平“0”,也就是輸入+3~+25V時,三極管正向?qū)ā4藭rTTLOUT端輸出的是三極管的飽和壓降。此電壓約0.1-0.2V,符合COMS/TTL電平<0.7V的要求。當(dāng)RS-232IN端輸入RS-232邏輯電平“1”,也就是輸入-3~-25V時,三極管截至。此時TTLOUT端輸出的是電源電壓+5V。符合COMS/TTL電平>3.2V要求。測試證明此電路完全可行,經(jīng)過幾次的連續(xù)開機(jī)試驗,未出現(xiàn)任何異常,符合設(shè)計要求。3.4液晶顯示器接收口設(shè)計1、液晶驅(qū)動IC(SED1520F0A)基本特性:(1)具有低損耗、供應(yīng)電壓范圍寬。(2)具有16common和61segment輸出,并可外接驅(qū)動IC擴(kuò)展驅(qū)動。(3)具有2560位顯示RAM,即80×8×4位(4)具有與68系列或80系列相適配的MPU接口功能,并有專用的指令集,可完成文本顯示或圖形顯示的功能設(shè)置2、工作參數(shù):(1)邏輯工作電壓(VDD-VSS):2.4~6.0V(2)LCD驅(qū)動電壓(Vdd-Vlcd):3.0~13.5V(3)工作溫度(Ta):0~55℃(常溫)/-20~70℃(寬溫)3、電氣特性(測試條件Ta=25,Vdd=5.0±0.25V):(1)輸入高電平(Vih):3.5V(min)(2)輸入低電平(Vil):0.55V(max)(3)輸出高電平(Voh):3.75V(min)(4)輸出低電平(Vol):1.0V(max)(5)工作電流:2.0mA(max)液晶顯示器CGM-12232的引腳功能如圖3.7所示。52 圖3.7液晶顯示器CGM-12232的引腳功能圖Pin1:電源輸入。Pin2:接地。Pin3:LCD驅(qū)動電壓,調(diào)準(zhǔn)對比度。Pin4:接口時序選擇。Pin5:芯片1使能信號高電平有效。Pin6:芯片2使能信號高電平有效。Pin7:讀/寫控制端,高電平讀,低電平寫。Pin8:數(shù)據(jù)/指令選擇端,高電平數(shù)據(jù),低電平指令。Pin9-Pin16:液晶并行數(shù)據(jù)。Pin17:LED陽極。Pin18:LED陰極。52 圖3.8單片機(jī)和液晶顯示器接口電路圖單片機(jī)和液晶顯示器接口電路圖見圖3.8。CGM-12232的Pin5-Pin83根控制線接P0口,Pin9-Pin16接單片機(jī)P2口來進(jìn)行數(shù)據(jù)傳輸。由于P0口內(nèi)部沒有上拉電阻不能輸出高電平因,此在P0口上接了一個10K電阻RP9作為P0口的上拉電阻。P0口是單片機(jī)I/O口中能承受8個TTL負(fù)載的口,但相對于LCD液晶顯示器的背光電流來說還是不夠的。在這里我們采用三極管擴(kuò)流的方法來驅(qū)動LCD液晶顯示器的背光燈。在CGM-12232的說明文檔里面將Pin3腳通過電阻在VDD和GND之間分壓得到,而實驗中發(fā)現(xiàn)通過分壓后液晶顯示很暗,直接將其接地相對于通過分壓使用液晶顯示器明顯好轉(zhuǎn)。因此這里將其直接接地。52 第4章系統(tǒng)軟件設(shè)計4.1系統(tǒng)軟件設(shè)計原理系統(tǒng)軟件設(shè)計總體思路如下:系統(tǒng)初始化,顯示開機(jī)LOGO畫面,串行中斷接收GPSOEM的“$GPGGA”語句,每正確收到“$GPGGA”語句一次更新顯示一次,鍵盤可以選擇顯示的GPS信息。流程圖如圖4.1。圖4.1系統(tǒng)軟件設(shè)計原理圖4.2LCD液晶顯示器程序CGM-12232型LCD液晶顯示器軟件設(shè)計從底層寫起,逐步提高,最后完成顯示一個code區(qū)域的數(shù)據(jù)功能。即先往LCD液晶顯示器發(fā)送一個字節(jié)的數(shù)據(jù)或指令,再逐步上升,最后畫一個圖指定開始列,上下層,圖形的寬度,圖形指針固定高度為16的圖。數(shù)字字符和漢字都是通過畫這種圖來得到的。1、往LCD液晶顯示器發(fā)送一個字節(jié)的數(shù)據(jù)主或指令子程序。程序原型:調(diào)用方式:voidsend_mi(ucharinstuction)函數(shù)說明:發(fā)指令instruction到主窗口(內(nèi)函數(shù),私有,用戶不能直接調(diào)用)調(diào)用方式:voidsend_si(ucharinstruction)52 函數(shù)說明:發(fā)指令instruction到從窗口(內(nèi)函數(shù),私有,用戶不能直接調(diào)用)調(diào)用方式:voidOutMD(uchari)函數(shù)說明:發(fā)數(shù)據(jù)data到主窗口(內(nèi)函數(shù),私有,用戶不能直接調(diào)用)調(diào)用方式:voidsend_sd(uchardata)函數(shù)說明:發(fā)數(shù)據(jù)data到從窗口(內(nèi)函數(shù),私有,用戶不直接調(diào)用)首先是確定要往主芯片,還是從芯片發(fā),然后判斷芯片是否忙,忙則等待,不忙則可以發(fā)數(shù)據(jù)或者指令了。流程圖如4.2圖4.2LCD液晶指令(左)、數(shù)據(jù)(右)發(fā)送流程圖開始關(guān)從(主)芯片開主(從)芯片等待,直到不忙A=1(發(fā)送數(shù)據(jù))發(fā)送顯示數(shù)據(jù)關(guān)主(從)芯片返回開始關(guān)從(主)芯片開主(從)芯片等待,直到不忙A=0(發(fā)送指令)發(fā)送指令數(shù)據(jù)關(guān)主(從)芯片返回RW=0寫數(shù)據(jù)RW=0寫數(shù)據(jù)1、芯片判忙子程序。函數(shù)原型:調(diào)用方式:voidwait_ready(void)函數(shù)說明:等到LCD內(nèi)部操作完成后,判斷是否忙。芯片判忙是本系統(tǒng)唯一讀取LCD液晶顯示器的一個子程序。讀取當(dāng)前LCD的狀態(tài),以判斷LCD是否忙綠,用的是讀狀態(tài)這條指令。芯片判忙流程如圖4.3。52 開始A=0(指令)RW=1(讀)讀出數(shù)據(jù)&0x80直到結(jié)果為0為止(不忙)返回圖4.3芯片判忙流程圖讀出數(shù)據(jù)和0x80相與,直到結(jié)果為0為止,也就是等待讀狀態(tài)指令里面讀出的BUSY位(D7)為0為止,說明芯片目前不忙。1、LCD液晶屏初始化子程序。程序原型:調(diào)用方式:voidlcd_init(void)函數(shù)說明:12232LCD液晶屏初始化,開機(jī)后僅調(diào)用一次僅開機(jī)的時候調(diào)用一次,主要負(fù)責(zé)設(shè)置LCD液晶屏的一些狀態(tài)。它包括:主(從)芯片復(fù)位、關(guān)主(從)芯片顯示、設(shè)置主(從)芯片動態(tài)顯示、主(從)芯片1/32占空比的設(shè)置、主(從)芯片時總線模式的設(shè)置、主9從)芯片改寫指令的結(jié)束、主(從)芯片起始行0行起始列0列的設(shè)置、液晶初始化結(jié)束返回。具體流程如圖4.4。52 開始主(從)芯片復(fù)位主(從)芯片動態(tài)顯示主(從)芯片1/32占空比主(從)芯片時鐘線模式主(從)芯片更改指令結(jié)束設(shè)置主(從)芯片起始行0行起始列0列結(jié)束返回圖4.4LCD液晶屏初始化子程序流程圖LCD液晶屏初始化完成后就可以顯示各種圖形和字符了。也就是進(jìn)入正常工作狀態(tài)了。在顯示圖形和字符的時候還要注意及時切換頁和列。1、頁切換子程序、列切換子程序。程序原型:調(diào)用方式:voidset_page(ucharpage)函數(shù)說明:同時設(shè)置主從顯示頁為0-3頁調(diào)用方式:voidSetAddress(ucharaddress)函數(shù)說明:同時設(shè)置主從列地址為0-61列頁切換子程序主要是在4個頁面之間的切換,列切換子程序主要是設(shè)置起始列。它們兩個都是發(fā)送一個特定數(shù)據(jù)的指令給LCD液晶屏。頁切換發(fā)送的是1011,10XX,后兩位XX表示的就是頁地址。列切換子程序發(fā)送的是0XXX,XXXX后XXX,XXXX,表示的就是起始列的地址。5、清屏子程序。程序原型:調(diào)用方式:voidlcd_clr(void)函數(shù)說明:清屏起始清屏子程序是在整個畫面上畫一個空白的圖片。由于SED1520F0A有點類似于FlashROM芯片,但剛好和FlashROM相反。FlashROM是置0只要把0寫進(jìn)去,置1則需要擦除??梢栽谠瓉怼?”的基礎(chǔ)上把“1”變成“0”52 ,而不可以把原來“0”變成“1”。而SED1520F0A就是可以把原來為“0”的變成“1”,而不可以把原來“1”的變成“0”,也就是剛好和FlashROM相反。因此在每一次要重新顯示畫面的時候必須調(diào)用清屏程序。清屏程序的流程如圖4.5。YNYN開始0頁開始,第4頁?結(jié)束返回設(shè)置主從芯片的頁地址設(shè)置主從芯片的列地址為0到61列?發(fā)送0x00到主從芯片圖4.5清屏程序流程圖6、畫圖子程序。程序原型:調(diào)用方式:voiddraw_bmp(ucharcol,ucharlayer,ucharwidth,uchar*bmp)函數(shù)說明:畫一個圖,橫坐標(biāo)是col,layer表示上下層,width是圖形的寬,高固定16,bmp是圖形指針,使用Zimo3Pro軟件,采用縱向取模,字節(jié)倒序得到數(shù)據(jù)。col圖型的起始位置0~121width圖形寬度要求col+width<121bmp圖形數(shù)據(jù)指針畫圖子程序是LCD初始化完成后,對LCD液晶顯示器的操作函數(shù),是操作LCD液晶顯示器的基礎(chǔ)。具體程序流程如圖4.6。52 NYNYNYNYYNY?開始Layr=1?從col畫起畫到col+width還完?Col>60?畫右邊窗口,起始列=col%61起始列=col畫左窗?畫左上窗畫右上窗設(shè)置畫下半窗畫左窗?畫右下窗畫左下窗第2頁返回Col>121?圖4.6畫圖程序流程圖4.3顯示控制程序顯示子程序就是根據(jù)鍵盤值將經(jīng)緯度、北京時間這兩個信息選擇一個顯示到LCD液晶顯示器。由于GPS52 OEM板發(fā)送的是ASCII碼數(shù)據(jù),在進(jìn)行顯示前必須先將ASCII碼轉(zhuǎn)成BCD碼。而對于“0-9”以外的字符則根據(jù)需要轉(zhuǎn)到特定值,然后則根據(jù)鍵盤值顯示所要顯示的內(nèi)容。1、顯示經(jīng)緯度。對應(yīng)經(jīng)度的格式為“度度分分.分分分分,E(W)”。對應(yīng)緯度格式為“度度分分.分分分分,N(S)。東經(jīng):XXX°XX′XX″北緯:XX°XX′XX″顯示的信息為:其中GPSOEM板發(fā)送的信息和什么要顯示的信息有2點不同:1、必須將GPSOEM板發(fā)送“E,S,W,N”對應(yīng)成“東,南,西,北”4個字符。2、GPSOEM板發(fā)送的是“度度分分.分分分分”格式,而顯示器顯示的是“度度°分分′秒妙″”的格式,因此必須進(jìn)行轉(zhuǎn)換。轉(zhuǎn)換方法是*100/60即可得。另外考慮到GPSOEM板最后的兩位“分分”即使在完全不動的情況下也會沒有規(guī)律的變化,因此把這兩位舍去。具體見流程圖4.7。開始將經(jīng)度和緯度的.分分轉(zhuǎn)換為秒根據(jù)收到的“E(W)”判斷東西經(jīng)并顯示“東(西)經(jīng):”根據(jù)格式顯示經(jīng)度數(shù)據(jù)根據(jù)收到的“S(N)”判斷南北緯并顯示“南(北):”根據(jù)格式顯示經(jīng)度數(shù)據(jù)返回圖4.7經(jīng)緯度顯示程序流程圖其中,經(jīng)度先顯示三位數(shù)字,然后顯示單位“°”再顯示兩位數(shù)字,再顯示“′”,再顯示兩位數(shù)字,再顯示“″”,緯度也是一樣,只不過剛開始顯示的是兩位數(shù)字,并且顯示在LCD液晶顯示器的下半部。52 1、顯示北京時間對應(yīng)時間格式為:時時分分秒妙。北京時間XX:XX:XX顯示的信息為:初看起來好像GPSOEM板傳過來的時間格式和要顯示的時間格式是一致,不用轉(zhuǎn)換。而實際上GPSOEM板傳過來的是格林尼治時間,也就是東一區(qū)的時間。北京時間和格林尼治時間相差8個小時。北京時間=格林尼治時間+8。但當(dāng)格林尼治時間16點以后,北京時間已經(jīng)是第二天的凌晨了。也就是當(dāng)算出來的北京時間大于24時必須減去24才是正確的北京時間。具體流程如圖4.8。NY開始小時+8超過24?上層顯示“北京時間“小時-24下層顯示“XX:XX:XX”返回圖4.8北京時間顯示流程圖4.4GPS接收子程序GPS接收子程序主要接收的是GPS25-LVS板發(fā)送的串行數(shù)據(jù)。這個程序在串行中斷里面完成。GPS25-LVS的通信波特率默認(rèn)值為4800,1個起始位,8個數(shù)據(jù)位,1個停止位。通常使用NMEA-0183格式輸出,數(shù)據(jù)代碼為ASCII碼字符。由于該格式為ASCII碼字符串,比較直觀和易于處理,在許多高級語言中都可以直接進(jìn)行判斷、分離,用來提取用戶所需要的數(shù)據(jù)。單片機(jī)接收數(shù)據(jù)時,先判斷是否是起始標(biāo)志符“$”,當(dāng)接收到“$”后,才開始接收數(shù)據(jù),并對接收到的數(shù)據(jù)進(jìn)行處理和存儲。最后,判斷接收字符是否是以確定接收子程序是否結(jié)束。單片機(jī)接收程序流程如圖4.9。52 4.9接收子程序流程圖4.5初始化程序系統(tǒng)初始化包括特殊功能寄存器初始化、RAM初始化、外圍設(shè)備初始化。RAM初始化主要是將RAM進(jìn)行清零處理,本系統(tǒng)只用到內(nèi)部的RAM即只需要對內(nèi)部的RAM進(jìn)行清零處理即可;特殊功能寄存器的初始化包括定時器的初始值的裝入、中斷的開放等;外圍設(shè)備初始化主要是對外圍設(shè)備的初始化,例如本系統(tǒng)就是在上電時必須對LCD液晶顯示器進(jìn)行初始化操作。一般在51編譯器里面RAM的初始化由“STARTUP.A51”52 文件來完成,它其實是一個帶有條件編譯和宏定義的匯編語言文件。開機(jī)先執(zhí)行這個文件產(chǎn)生的代碼,然后再執(zhí)行main()主函數(shù)。特殊功能寄存器初始化和外圍設(shè)備初始化在main()函數(shù)中開始,再進(jìn)入功能函數(shù)循環(huán)前完成初始化。本系統(tǒng)主要完成端口復(fù)位、開機(jī)延時、LCD液晶屏初始化、LCD液晶屏清屏、調(diào)用開機(jī)LOGO畫面、定時器0(T0)初始化、串行口波特率發(fā)生器(T1)初始化、開定時器0和串行口中斷。具體流程如圖4.10。P0,P1,P2,P3置1開機(jī)延時液晶屏初始化液晶清屏顯示開機(jī)LOGO畫面定時器0初始化(50mS)串行口初始化(包括方式,波特率發(fā)生器)開定時器0和串行口中斷開串行口接收允許進(jìn)入功能函數(shù)循環(huán)體開始圖4.10開機(jī)初始化流程圖定時器0(T0)主要是背光顯示延時10S熄滅用。當(dāng)按鍵按下時,將背光打開,然后將定時器0(T0)打開,定時器0(T0)定時為50mS,再配合一個軟件計數(shù)器,在10S后將背光關(guān)掉,同時也將關(guān)閉停止計時。52 小結(jié)本次設(shè)計主要包括三方面:方案的設(shè)計、硬件的設(shè)計、軟件的設(shè)計。把平時所學(xué)的單片機(jī),C語言編程等知識,合理的運用到設(shè)計當(dāng)中。對于硬件設(shè)計主要是各個功能模塊的選取及介紹。在軟件設(shè)計中主要是對各個硬件模塊的初始化,再編寫軟件程序來完善整個功能。通過設(shè)計進(jìn)一步掌握了單片機(jī)的綜合應(yīng)用設(shè)計方法,在整個設(shè)計過程中能夠獨立完成方案認(rèn)證、電路設(shè)計、程序編寫等全過程,在軟件程序設(shè)計時采用C語言編寫,為單片機(jī)的應(yīng)用打下了的基礎(chǔ)!通過這次對GPS汽車定位儀的畢業(yè)設(shè)計,我學(xué)到了很多這次設(shè)計歷時4個多月,從一開始的選定課題到后然的資料查找,然后再根據(jù)自己某些方面不足參考一些資料進(jìn)行學(xué)習(xí)及鞏固。以前我對查找一些資料的能力比較弱,通過這次設(shè)計我學(xué)會了怎樣正確查找自己所需要的東西,在對資料的查找中也增長了很多見識使自己在資料搜集與分析中對資料的歸納、分析、綜合運用能力得到了很大提高。這次設(shè)計主要包括以下幾個部分:單片機(jī)的控制技術(shù),LCD液晶顯示器的控制技術(shù),GPS控制處理模塊對衛(wèi)星信息的接收,在設(shè)計過程中碰到了許多困難,在一開始的選題中我就困惑了在經(jīng)過幾天的思考后根據(jù)自己的強(qiáng)項及喜好選定了課題。在整個過程中,一次次失敗,一次次從新開始。在整個設(shè)計中我懂得了許多東西,培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,同時也是對自己的進(jìn)一步肯定。相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。這次畢業(yè)設(shè)計使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。52 [參考文獻(xiàn)][1]樓然苗,李光飛.51系列單片機(jī)設(shè)計實例[M].北京:北航出版社,2003.03[2]徐紹全,張華海,楊志強(qiáng),王澤民著.GPS測量原理及應(yīng)用[M],2003.1[3]高禹,馮相忠編C語言程序設(shè)計[M],2007.12[4]先鋒工作室編著.單片機(jī)程序設(shè)計實例[M],2002[5]沈紅衛(wèi)著.單片機(jī)應(yīng)用系統(tǒng)設(shè)計實例與分析[M],2003.1[6]中國人民解放軍總裝備部軍事訓(xùn)練教材編輯工作委員會編.GPS技術(shù)與應(yīng)用[M],2004.6[7]李光飛,樓然苗.單片機(jī)課程設(shè)計實例指導(dǎo)[M].北京:北航出版社,2004.09[8]余永權(quán).ATMEL89系列單片機(jī)應(yīng)用技術(shù)[M].北京:北航出版社,2001.10[9]張偉等編著.Protel99SE實用教程[M].人民郵電出版社[10]浙江海洋學(xué)院圖書館中國學(xué)術(shù)期刊數(shù)據(jù)庫http://172.16.99.198/kns50/[11]李光飛,樓然苗.單片機(jī)課程設(shè)計實例指導(dǎo)[M].北京:北航出版社,2004.09[12]李光飛,李良兒,樓然苗.單片機(jī)C程序設(shè)計實例指導(dǎo)[M].北京:北航出版社,2005.09.[13]康華光.電子技術(shù)基礎(chǔ)(模擬部分)[M].高等教育出版社,1998.2.[14]ChristopherJ.Hegarty,UnderstandingGPSprinciplesandapplications,2007[15]KenMaskrey,HardwareDesign,2010[16]余永權(quán).89系列FLASH單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2000.09[17]]張旭濤、曾現(xiàn)鋒、王愛軍.單片機(jī)原理與應(yīng)用[M]北京理工大學(xué)出版社[18]袁敏捷.GPS和RFID互補(bǔ)型智能導(dǎo)游系統(tǒng)的研究與設(shè)計,2008[19]何香玲.GPS定位信息的采集和顯示,200752 附錄1電路原理圖52 附錄2程序清單#include//89C52單片機(jī)頭文件#include//液晶LCD的字模文件#include//功能引腳定義sbitA=P0^7;//數(shù)據(jù)1/命令0選擇sbitRW=P0^6;//讀1/寫0sbitE1=P0^4;//片選1(Master)sbitE2=P0^5;//片選2(slave)sbitLED=P0^3;//背光sbitup=P0^0;//向上翻頁鍵sbitdown=P0^1;//向下翻頁鍵#definedataP2//液晶并行數(shù)據(jù)//液晶顯示控制命令表#definedisp_on0xAf//顯示關(guān)閉#definedisp_off0xAe//顯示打開#definedisp_start_line0xC0//顯示起始地址(后5位-表示0-31行)#definepage_addr_set0xB8//頁地址設(shè)置(0~3)#definecol_addr_set0x00//列地址設(shè)置(0~61)#definestatus_busy0x80//0=ready#definemodeRWite0xEE//寫模式#definedynamic_driver0xA4//動態(tài)驅(qū)動#defineadc_select0xA0//clockwise#defineclk320xA9//刷新時鐘設(shè)置1/32#defineclk160xA8//刷新時鐘設(shè)置1/16#definereset0xE2//軟件復(fù)位#defineucharunsignedchar#defineuintunsignedint//全局變量,及標(biāo)志位定義uchartime_counter=0;//定時器的軟件計數(shù)器ucharkey=0;//鍵盤值52 ucharserial_counter;//串行計數(shù)器bitdisp_flag=0;//顯示更新標(biāo)志ucharbdataserial_byte=0;//串行口標(biāo)志位定義字節(jié)sbitSflag=serial_byte^0;//串行接收頭部標(biāo)志,一下8個都定義在'serial_byte'內(nèi)sbitG1flag=serial_byte^1;sbitPflag=serial_byte^2;sbitG2flag=serial_byte^3;sbitG3flag=serial_byte^4;sbitAflag=serial_byte^5;sbitDFflag=serial_byte^6;sbitENflag=serial_byte^7;bitr_flag=0;unsignedcharidataserial_buff[77];//串行接收緩沖voidlcd_init(void);//LCD初始化voidlcd_clr(void);//LCD清屏voidwait_ready(void);//等待readyvoiddraw_bmp(ucharcol,ucharlayer,ucharwidth,uchar*bmp);//點陣碼顯示輸出voidASCII2BCD(void);//ASCII碼轉(zhuǎn)換為BCD碼voidlogo(void);//開機(jī)畫面顯示/*------------------------------------------------------------------------中斷程序------------------------------------------------------------------------*/////////////////////////////////////////////////////////////////////////////定時器0中斷函數(shù),用于控制背光燈延時10S熄滅//////////////////////////////////////////////////////////////////////////voidint_t0()interrupt1using1{//定時器0中斷函數(shù),用于控制背光燈延時10S熄滅TH0=0x4C;TL0=0x00;//重裝定時器0,定時50mStime_counter++;//軟件計數(shù)器+1;if(time_counter==200)52 //軟件計數(shù)器定時到10S,關(guān)背光,定時器0,清軟件計數(shù)器{time_counter=0;LED=1;TR0=0;}}////////////////////////////////////////////////////////////////////////////串行口中斷函數(shù),用于語句'$GPGGA'判斷和此語句的接收//////////////////////////////////////////////////////////////////////////voidserial()interrupt4using2{ucharpp;RI=0;pp=SBUF;if(ENflag==1)//串口接收完畢,可以用來顯示,清標(biāo)志位重新開始{disp_flag=1;serial_byte=0;}elseif(DFflag==1)//'$GPGGA'頭判斷完畢,開始接收$GPGGA,語句的數(shù)據(jù){if(pp==42)ENflag=1;//等待收到'*'結(jié)束接收else{serial_buff[serial_counter]=pp;//沒收到'*',繼續(xù)接收,數(shù)據(jù)放入串口緩沖serial_counter++;}}elseif(Aflag==1)//第六個為'A',判斷第七個是不是','{if(pp==44)52 DFflag=1;//第七個個是','開始接收$GPGGA,語句的數(shù)據(jù)elseserial_byte=0;//不是',',清標(biāo)志位}elseif(G3flag==1)//第五個為'G',判斷第六個是不是'A'{if(pp==65)Aflag=1;//第六個是'A'判斷下一個是不是','elseserial_byte=0;//不是'A',清標(biāo)志位}elseif(G2flag==1)//第四個為'G',判斷第五個是不是'G'{if(pp==71)G3flag=1;//第五個是'G'判斷下一個是不是'A'elseserial_byte=0;//不是'G',清標(biāo)志位}elseif(Pflag==1)//第三個為'P',判斷第四個是不是'G'{if(pp==71)G2flag=1;//第四個是'G'判斷下一個是不是'G'elseserial_byte=0;//不是'G',清標(biāo)志位}elseif(G1flag==1)//第二個為'G',判斷第三個是不是'P'{if(pp==80)Pflag=1;//第三個是'P'判斷下一個是不是'G'elseserial_byte=0;//不是'P',清標(biāo)志位}elseif(Sflag==1)//第一個為'$',判斷第二個是不是'G'{if(pp==71)G1flag=1;//第二個是'G'判斷下一個是不是'P'52 elseserial_byte=0;//不是'G',清標(biāo)志位}elseif(pp==0x24)//判斷第一個是不是${Sflag=1;//第一個為$,判斷下一個是不是Gserial_counter=0;//串行計數(shù)器清零}}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidsend_mi(ucharinstuction)//函數(shù)說明:發(fā)指令instruction到主窗口(內(nèi)函數(shù),私有,用戶不能直接調(diào)用)//////////////////////////////////////////////////////////////////////////voidsend_mi(ucharinstruction){E2=0;//關(guān)SlaverE1=1;//開Masterwait_ready();//判斷忙A=0;//指令RW=0;//寫觸發(fā)data=instruction;//指令碼E1=0;//關(guān)Master}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidOutMD(uchari)//函數(shù)說明:發(fā)數(shù)據(jù)data到主窗口(內(nèi)函數(shù),私有,用戶不能直接調(diào)用)//////////////////////////////////////////////////////////////////////////voidsend_md(ucharc){E2=0;//關(guān)SlaverE1=1;//開Masterwait_ready();//判斷忙52 A=1;//數(shù)據(jù)RW=0;//寫觸發(fā)data=c;//數(shù)據(jù)E1=0;//關(guān)Master}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidsend_si(ucharinstruction)//函數(shù)說明:發(fā)指令instruction到從窗口(內(nèi)函數(shù),私有,用戶不能直接調(diào)用)//////////////////////////////////////////////////////////////////////////voidsend_si(ucharinstruction){E1=0;//關(guān)MasterE2=1;//開Slaverwait_ready();//判斷忙A=0;//指令RW=0;//寫觸發(fā)data=instruction;//指令碼E2=0;//關(guān)Slaver}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidsend_sd(uchardata)//函數(shù)說明:發(fā)數(shù)據(jù)data到從窗口(內(nèi)函數(shù),私有,用戶不直接調(diào)用)//////////////////////////////////////////////////////////////////////////voidsend_sd(ucharc){E1=0;//關(guān)MasterE2=1;//開Slaverwait_ready();//判斷忙A=1;//數(shù)據(jù)RW=0;//寫觸發(fā)data=c;//數(shù)據(jù)E2=0;//關(guān)Slaver}//////////////////////////////////////////////////////////////////////////52 //等待ready:等待LCD內(nèi)部操作完成,判忙//////////////////////////////////////////////////////////////////////////voidwait_ready(void){A=0;//指令RW=1;//讀_nop_();//空操作,產(chǎn)生匯編里面的nopwhile(data&status_busy);//讀入LCD狀態(tài),1=忙,一直等待LCD內(nèi)部操作完成}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidlcd_init(void)//函數(shù)說明:122x32LCD初始化,開機(jī)后僅調(diào)用一次//////////////////////////////////////////////////////////////////////////voidlcd_init(void){send_mi(reset);//復(fù)位m-left,s-rightsend_si(reset);send_mi(disp_off);//關(guān)閉顯示send_si(disp_off);send_mi(dynamic_driver);//動態(tài)驅(qū)動send_si(dynamic_driver);send_mi(clk32);//1/32占空比send_si(clk32);send_mi(adc_select);//clockwisesend_si(adc_select);send_mi(modeRWite);//寫模式結(jié)束send_si(modeRWite);send_mi(col_addr_set);//歸回零列,設(shè)定顯示起始行首send_mi(disp_start_line);send_si(col_addr_set);52 send_si(disp_start_line);send_mi(disp_on);//開顯示send_si(disp_on);}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidlcd_clr(void)//函數(shù)說明:清屏//////////////////////////////////////////////////////////////////////////voidlcd_clr(void){uchari,page;for(page=0;page<4;page++){send_mi(page_addr_set|page);//設(shè)置頁從0-3send_si(page_addr_set|page);send_mi(0);//主窗口設(shè)置為0列send_si(0);//從窗口設(shè)置為0列for(i=0;i<62;i++)//全部寫入0x00{send_md(0x00);send_sd(0x00);}}}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidset_page(ucharpage)//函數(shù)說明:同時設(shè)置主(右)從(左)顯示頁為0-3頁//////////////////////////////////////////////////////////////////////////voidset_page(ucharpage){send_mi(page_addr_set|page);send_si(page_addr_set|page);}52 ////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidSetAddress(ucharaddress)//函數(shù)說明:同時設(shè)置主(右)從(左)列地址為0-61列//////////////////////////////////////////////////////////////////////////voidset_address(ucharaddress){send_mi(address&0x7F);//&0x7F,考慮到防止越限send_si(address&0x7F);}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidputchar_l(ucharc)//函數(shù)說明:在左頁(主窗口)當(dāng)前地址畫一個字節(jié)(8點)//////////////////////////////////////////////////////////////////////////voidputchar_l(ucharc){send_md(c);}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voidputchar_r(ucharc)//函數(shù)說明:在右頁(從主窗口)當(dāng)前地址畫一個字節(jié)(8點)//////////////////////////////////////////////////////////////////////////voidputchar_r(ucharc){send_sd(c);}////////////////////////////////////////////////////////////////////////////調(diào)用方式:voiddraw_bmp(ucharcol,ucharlayer,ucharwidth,uchar*bmp)//函數(shù)說明:畫一個圖,橫坐標(biāo)是col,layer表示上下層,width是圖形的寬,高固定16//bmp是圖形指針//使用Zimo3Pro軟件,采用縱向取模,字節(jié)倒序得到數(shù)據(jù)。//col圖型的起始位置0~121//layer圖形的位置(Y坐標(biāo))0-上半部分非0-下半部分//width圖形寬度8,16可選//bmp圖形數(shù)據(jù)指針52 //////////////////////////////////////////////////////////////////////////voiddraw_bmp(ucharcol,ucharlayer,ucharwidth,uchar*bmp){ucharx;ucharaddress;//address表示顯存的物理地址ucharp=0;ucharpage=0;ucharwindow=0;//page表示上下兩頁,window表示左右窗口(0左,1右)if(layer)page=2;//左-主窗口,右-從窗口for(x=col;x121)return;//防止顯示亂碼if(x>60)//左右窗口定位{window=1;//右-從窗口address=x%61;}else{address=x;}//主窗口輸出set_page(page);//上層數(shù)據(jù)輸出set_address(address);if(window){putchar_r(bmp[p]);}else{putchar_l(bmp[p]);}set_page(page+1);//下層數(shù)據(jù)輸出set_address(address);//列保持不變52 if(window){putchar_r(bmp[p+width]);}else{putchar_l(bmp[p+width]);}p++;}}/*------------------------------------------------------------------------延時程序:入口unsingedchari,延時i毫秒------------------------------------------------------------------------*/delay(uchari){ucharj;for(i=i<<1;i>0;i--)for(j=0xf3;j>0;j--){}}////////////////////////////////////////////////////////////////////////////鍵盤掃描程序,有鍵按下,修改key值//////////////////////////////////////////////////////////////////////////keywork(void){if(!(up&&down))//是否有鍵按下{delay(20);//延時5MSif(up&&down)//再次判斷是否有鍵按下,沒有返回{return;}if(!up)//查up鍵52 {while(!up);//等待up鍵釋放key++;//key值加1LED=0;//亮背光TR0=1;//開定時器0,背光亮10Stime_counter=0;//清定時器軟件計數(shù)器,從按鍵以后亮背光10Sif(key==3)//key值超上限,置下限{key=0;}return;}if(!down)//查down鍵{while(!down);//等待down鍵釋放key--;//key值減1LED=0;//亮背光TR0=1;//開定時器0,背光亮10Stime_counter=0;//清定時器軟件計數(shù)器,從按鍵以后亮背光10Sif(key==255){key=2;////key值超上限,置下限}return;}}}disp_transit(){ucharj,row=0,temp;temp=(serial_buff[25]*10+serial_buff[26])*3/5;//經(jīng)度最后.XX分轉(zhuǎn)換位秒serial_buff[25]=temp/10;serial_buff[26]=temp%10;temp=(serial_buff[12]*10+serial_buff[13])*3/5;//緯度最后.XX分轉(zhuǎn)換為秒serial_buff[12]=temp/10;52 serial_buff[13]=temp%10;lcd_clr();//清屏draw_bmp(0,0,16,azimuth[serial_buff[30]-20]);//判斷東、西,并顯示draw_bmp(16,0,16,jing);//顯示'經(jīng)'draw_bmp(32,0,8,num[13]);//顯示':'for(j=19;j<28;j++)//顯示經(jīng)度{if(j==22){draw_bmp(40+row*8,0,8,num[11]);//顯示數(shù)字度符號row++;}if(j==24){draw_bmp(40+row*8,0,8,num[12]);//顯示'''(分)row++;j++;}if(j==27)//顯示'"'(秒){draw_bmp(40+row*8,0,8,num[14]);row++;break;}draw_bmp(40+row*8,0,8,num[serial_buff[j]]);//顯示數(shù)字row++;}row=0;draw_bmp(0,1,16,azimuth[serial_buff[17]-20]);//判斷南、北,并顯示draw_bmp(16,1,16,wei);//顯示緯draw_bmp(32,1,8,num[13]);//顯示:for(j=7;j<15;j++){52 if(j==9)//顯示數(shù)字度符號{draw_bmp(40+row*8,1,8,num[11]);row++;}if(j==11){draw_bmp(40+row*8,1,8,num[12]);//顯示'''(分)row++;j++;}if(j==14)//顯示'"'(秒){draw_bmp(40+row*8,1,8,num[14]);row++;break;}draw_bmp(40+row*8,1,8,num[serial_buff[j]]);//顯示數(shù)字row++;}}disp_time(){ucharhour,j,row=0;lcd_clr();//清屏draw_bmp(29,0,64,bjsj);//在液晶上部29列開始顯示'北京時間'hour=serial_buff[0]*10+serial_buff[1]+8;//格林尼治時間轉(zhuǎn)化為北京時間if(hour>23)//北京時間=格林尼治時間+8{hour=hour-24;}//當(dāng)大于24時,減去24serial_buff[0]=hour/10;//回存到緩沖區(qū)serial_buff[1]=hour%10;for(j=0;j<6;j++)//顯示6個數(shù)字和2個冒號,格式為XX:XX:XX{draw_bmp(29+row*8,1,8,num[serial_buff[j]]);//顯示6個數(shù)字52 row++;if((j==1)||(j==3))//第2個和第4個數(shù)字后面顯示':'{draw_bmp(29+row*8,1,8,num[13]);//顯示冒號row++;}}}disp_level(){uchari,j,row=1;lcd_clr();draw_bmp(0,0,120,level);if(serial_buff[32]==0)//無GPS接收信號{draw_bmp(0,1,112,nosignal);}else{//探測水平信號數(shù)據(jù)存放的位置for(i=35;row;){if(serial_buff[i]=='M'){i=i+2;row=0;//跳出循環(huán)}else{i++;}}j=i;row=1;for(;row;){if(serial_buff[j]=='M')52 {row=0;//跳出循環(huán)}else{j++;}}for(;i=48)&&(serial_buff[i]<=57)){//接收到的是數(shù)字,轉(zhuǎn)換為BCD碼。BCD碼=ASCII碼-48serial_buff[i]=serial_buff[i]-48;}else{switch(serial_buff[i]){//非數(shù)字,將它們轉(zhuǎn)換為特定值case'.':{serial_buff[i]=10;break;}case'-':{serial_buff[i]=16;break;}case'E':{serial_buff[i]=20;break;}case'S':{serial_buff[i]=21;break;}case'W':{serial_buff[i]=22;break;}case'N':{serial_buff[i]=23;break;}case',':{serial_buff[i]=0xff;break;}52 default:break;}}}}/*------------------------------------------------------------------------開機(jī)LOGO畫面,開機(jī)時調(diào)用一次------------------------------------------------------------------------*/voidlogo(void){uchari,j,h;LED=0;//點亮背光燈TR0=1;//開定時器0,背光燈亮10Slcd_clr();draw_bmp(0,0,112,welcome_1);//在液晶上部第0列開始顯示’WelcometoGPS‘draw_bmp(32,1,48,welcome_2);//在液晶下部第32列開始顯示顯示’System‘for(i=0;i<10;i++)for(j=1;j;j++)for(h=1;h;h++);//延時3Slcd_clr();//清屏for(i=0;i<5;i++)for(j=1;j;j++)for(h=1;h;h++);//延時1.5S}////////////////////////////////////////////////////////////////////////////主程序//////////////////////////////////////////////////////////////////////////voidmain(void){P0=0xff;//端口復(fù)位P1=0xff;P2=0xff;P3=0xff;delay(255);lcd_init();//初始化液晶顯示器lcd_init();lcd_init();52 lcd_clr();//清屏logo();//顯示開機(jī)畫面//TMOD:GATE|C/!T|M1|M0|GATE|C/!T|M1|M0//00100001TMOD=0x21;//T016位定時器,T1自動重裝,方式3TH0=0x4C;TL0=0x00;//定時50mS//SCON:SM0|SM1|SM2|REN|TB8|RB8|TI|RI//01000000SCON=0x40;//串行口8位UTRATH1=0xFA;TL1=0xFA;//波特率發(fā)生器,4800bpsET0=1;//開定時器0中斷允許ES=1;//開串行口中斷EA=1;//開總中斷REN=1;//允許串行接收TR1=1;//開串行口波特率發(fā)生(T1)while(1)//主程序{up=1;//把鍵盤位置1,以便進(jìn)行鍵盤輸入down=1;keywork();//鍵盤掃描if(disp_flag)//判斷是否可以更新顯示{disp_flag=0;//清顯示更新標(biāo)志display();//顯示程序}}}附錄3液晶字模文件unsignedcharcodewelcome_1[]=52 {/*------------------------------------------------------------------------------;源文件/文字:WelcometoGPS;寬×高(像素):112×16;字模格式/大小:單色點陣液晶字模,縱向取模,字節(jié)倒序/224字節(jié);數(shù)據(jù)轉(zhuǎn)換日期:2004-5-1620:24:15------------------------------------------------------------------------------*/0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00};unsignedcharcodewelcome_2[]={/*------------------------------------------------------------------------------;源文件/文字:System;寬×高(像素):104×16;字模格式/大小:單色點陣液晶字模,縱向取模,字節(jié)倒序/208字節(jié);數(shù)據(jù)轉(zhuǎn)換日期:2004-5-1620:32:3652 ------------------------------------------------------------------------------*/0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F};unsignedcharcodewelcome_3[]={/*------------------------------------------------------------------------------;源文件/文字:經(jīng);寬×高(像素):16×16;字模格式/大小:單色點陣液晶字模,縱向取模,字節(jié)倒序/32字節(jié);數(shù)據(jù)轉(zhuǎn)換日期:2004-5-1621:09:10------------------------------------------------------------------------------*/0x20,0x30,0xAC,0x63,0x10,0x00,0x40,0x42,0x22,0x22,0x12,0x1A,0x26,0x42,0xC0,0x00,0x22,0x23,0x22,0x12,0x12,0x00,0x20,0x21,0x21,0x21,0x3F,0x21,0x21,0x21,0x20,0x00};unsignedcharcodewei[]={/*------------------------------------------------------------------------------;源文件/文字:緯;寬×高(像素):16×16;字模格式/大小:單色點陣液晶字模,縱向取模,字節(jié)倒序/32字節(jié);數(shù)據(jù)轉(zhuǎn)換日期:2004-5-1621:11:14------------------------------------------------------------------------------*/0x20,0x30,0xAC,0x63,0x20,0x18,0x24,0x24,0x24,0xFF,0x24,0x24,0x24,0x24,0x04,0x00,0x12,0x33,0x12,0x12,0x0A,0x08,0x01,0x01,0x01,0xFF,0x01,0x01,0x11,0x21,0x1F,0x00};unsignedcharcodeazimuth[4][32]=52 {{//東0x00,0x04,0x04,0xC4,0xB4,0x8C,0x87,0x84,0xF4,0x84,0x84,0x84,0x84,0x04,0x00,0x00,0x00,0x00,0x20,0x18,0x0E,0x04,0x20,0x40,0xFF,0x00,0x02,0x04,0x18,0x30,0x00,0x00},{//南0x04,0x04,0xE4,0x24,0x24,0x64,0xB4,0x2F,0x24,0xA4,0x64,0x24,0x24,0xE6,0x04,0x00,0x00,0x00,0x7F,0x04,0x05,0x05,0x05,0x7F,0x05,0x05,0x05,0x25,0x44,0x3F,0x00,0x00},{//西0x02,0xF2,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xF2,0x02,0x00,0x00,0x7F,0x28,0x24,0x22,0x21,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00},{//北0x00,0x20,0x20,0x20,0x20,0xFF,0x00,0x00,0x00,0xFF,0x40,0x20,0x30,0x18,0x10,0x00,0x10,0x30,0x18,0x08,0x04,0x7F,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00},};unsignedcharcodebjsj[]={/*------------------------------------------------------------------------------;源文件/文字:北京時間;寬×高(像素):64×16;字模格式/大小:單色點陣液晶字模,縱向取模,字節(jié)倒序/128字節(jié)52 ;數(shù)據(jù)轉(zhuǎn)換日期:2004-5-1621:16:11------------------------------------------------------------------------------*/0x00,0x20,0x20,0x20,0x20,0xFF,0x00,0x00,0x00,0xFF,0x40,0x20,0x30,0x18,0x10,0x00,0x00,0x04,0x04,0xE4,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0xE4,0x06,0x04,0x00,0x00,0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0xF8,0x01,0x06,0x00,0xF0,0x92,0x92,0x92,0x92,0xF2,0x02,0x02,0xFE,0x00,0x00,0x10,0x30,0x18,0x08,0x04,0x7F,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00,0x00,0x20,0x10,0x19,0x0D,0x41,0x81,0x7F,0x01,0x01,0x05,0x0D,0x38,0x10,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x07,0x04,0x04,0x04,0x04,0x07,0x40,0x80,0x7F,0x00,0x00};unsignedcharcodenum[17][16]={//------------------------------------------------------------------------------//源文件/文字:0,1,2,3,4,5,6,7,8,9,.,//寬×高(像素):8×16//字模格式/大小:單色點陣液晶字模,縱向取模,字節(jié)倒序/128字節(jié)//數(shù)據(jù)轉(zhuǎn)換日期:2004-5-1621:16:11//------------------------------------------------------------------------------{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},//0{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},//1{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},//2{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00},//3{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},//452 {0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00},//5{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},//6{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00},//7{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},//8{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00},//9{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00},//.{0x00,0x00,0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//符號度{0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//'(分){0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00},//:{0x10,0x16,0x0E,0x00,0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//''(秒){0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00},//M{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01},//-};unsignedcharcodelevel[]={/*------------------------------------------------------------------------------;源文件/文字:大地水準(zhǔn)面高度:;寬×高(像素):120×16;字模格式/大小:單色點陣液晶字模,縱向取模,字節(jié)倒序/240字節(jié);數(shù)據(jù)轉(zhuǎn)換日期:2004-5-217:36:49------------------------------------------------------------------------------*/52 0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,0xA0,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x10,0x10,0x10,0xFE,0x10,0x50,0x40,0xFE,0x20,0x20,0xFF,0x10,0x10,0xF8,0x10,0x00,0x00,0x10,0x10,0x10,0x90,0x70,0x00,0xFF,0x20,0x60,0x90,0x08,0x04,0x00,0x00,0x00,0x00,0x02,0x1C,0xC8,0x20,0x10,0xFF,0x4A,0x48,0x49,0xFE,0x48,0x68,0x4C,0x08,0x00,0x00,0x02,0xF2,0x12,0x12,0xFA,0x96,0x92,0x92,0xF2,0x12,0x12,0x12,0xF2,0x02,0x00,0x04,0x04,0x04,0x04,0x74,0x54,0x55,0x56,0x54,0x54,0x74,0x04,0x04,0x04,0x04,0x00,0x00,0x00,0xFC,0x04,0x24,0x24,0xFC,0xA5,0xA6,0xA4,0xFC,0x24,0x24,0x24,0x04,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x01,0x06,0x08,0x30,0x60,0xC0,0x40,0x00,0x20,0x20,0x10,0x1F,0x08,0x08,0x00,0x3F,0x40,0x40,0x4F,0x42,0x44,0x43,0x70,0x00,0x10,0x10,0x08,0x06,0x01,0x40,0x80,0x7F,0x00,0x00,0x01,0x06,0x0C,0x18,0x08,0x00,0x02,0x02,0x7E,0x01,0x00,0x00,0x7F,0x22,0x22,0x22,0x3F,0x22,0x23,0x32,0x20,0x00,0x00,0x00,0x7F,0x20,0x20,0x3F,0x24,0x24,0x24,0x3F,0x20,0x20,0x20,0x7F,0x00,0x00,0x00,0xFF,0x01,0x01,0x3D,0x25,0x25,0x25,0x25,0x25,0x3D,0x41,0x81,0x7F,0x00,0x00,0x80,0x60,0x1F,0x80,0x80,0x42,0x46,0x2A,0x12,0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00};unsignedcharcodenosignal[]={/*------------------------------------------------------------------------------;源文件/文字:無GPS接收信號!;寬×高(像素):112×16;字模格式/大小:單色點陣液晶字模,縱向取模,字節(jié)倒序/224字節(jié);數(shù)據(jù)轉(zhuǎn)換日期:2004-5-217:48:48------------------------------------------------------------------------------*/0x00,0x40,0x42,0x42,0x42,0x42,0x42,0xFE,0xC2,0x42,0x42,0x42,0x42,0x42,0x40,0x00,0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,52 0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x08,0x08,0x08,0xFF,0x88,0x68,0x24,0x2C,0xB4,0x25,0x26,0x34,0x2C,0x24,0x20,0x00,0x00,0xF8,0x00,0x00,0xFF,0x00,0x40,0x30,0xDF,0x10,0x10,0x10,0xF0,0x10,0x10,0x00,0x80,0x40,0x30,0xFC,0x07,0x0A,0xA8,0xA8,0xA9,0xAE,0xAA,0xA8,0xA8,0x08,0x08,0x00,0x40,0x40,0x40,0x5F,0xD1,0x51,0x51,0x51,0x51,0x51,0x51,0x5F,0x40,0x40,0x40,0x00,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x40,0x40,0x20,0x10,0x08,0x04,0x03,0x00,0x3F,0x40,0x40,0x40,0x40,0x40,0x70,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,0x02,0x42,0x81,0x7F,0x02,0x82,0x8A,0x4E,0x53,0x32,0x12,0x2E,0x42,0xC2,0x02,0x00,0x00,0x0F,0x04,0x02,0xFF,0x40,0x40,0x20,0x21,0x16,0x08,0x16,0x21,0x60,0x20,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x07,0x02,0x02,0x22,0x42,0x82,0x42,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00};52

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。
大家都在看
近期熱門
關(guān)閉