課程設(shè)計(jì):基于單片機(jī)的GPS全球衛(wèi)星定位系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)
《課程設(shè)計(jì):基于單片機(jī)的GPS全球衛(wèi)星定位系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)》由會(huì)員分享,可在線閱讀,更多相關(guān)《課程設(shè)計(jì):基于單片機(jī)的GPS全球衛(wèi)星定位系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)(28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 目 錄 第一章 GPS簡(jiǎn)介及基本理論…………………………………2 1.1 GPS的概述…………………………………………2 1.2 GPS的組成…………………………………………3 1.3 GPS的發(fā)展趨勢(shì)……………………………………3 1.4 Globalsat和HOLUX的EB-3531…………………….4 1.5 EB-3531的特點(diǎn)…………………………………….5 第二章 硬件電路設(shè)計(jì)………………………………………7 2.1 電源轉(zhuǎn)換電路設(shè)計(jì)………………………………….7 2.2 GPS接收模塊與單片機(jī)接口電路設(shè)計(jì)……………….9
2、2.3 單片機(jī)控制系統(tǒng)的硬件電路………………………….9 第三章 軟件部分設(shè)計(jì)………………………………………11 3.1 串口通行模塊……………………………………….11 3.2主程序設(shè)計(jì)………………………………………….13 第四章 調(diào)試…………………………………………………15 4.1 硬件調(diào)試…………………………………………….15 4.2 軟件調(diào)試…………………………………………….15 第五章 總結(jié)……………………………………………….17 致 謝……………………………………………………….18 參考文獻(xiàn)……………………………………………………19
3、 第一章 GPS簡(jiǎn)介及基本理論 1.1 GPS的概述 GPS是英文Navigation Satellitte Timing and Ranging/Global Positioning System的字頭縮寫(xiě)詞(NAVSTAR/GPS)的簡(jiǎn)稱(chēng)。它的含義是,利用衛(wèi)星的測(cè)時(shí)和測(cè)距進(jìn)行導(dǎo)航,以構(gòu)成全球衛(wèi)星定位系統(tǒng)?,F(xiàn)在國(guó)際上已經(jīng)公認(rèn):將這一全球定位系統(tǒng)簡(jiǎn)稱(chēng):GPS。 GPS系統(tǒng)的前身為美軍研制的一種“子午儀”導(dǎo)航衛(wèi)星系統(tǒng)(Transit),1958年研制,64年正式投入使用。該系統(tǒng)用5到6顆衛(wèi)星組成的星網(wǎng)工作,每天最多繞過(guò)地球13次,并且無(wú)法給出高度信息,在定位精度方面也不盡如人
4、意。然而,子午儀系統(tǒng)使得研發(fā)部門(mén)對(duì)衛(wèi)星定位取得了初步的經(jīng)驗(yàn),并驗(yàn)證了由衛(wèi)星系統(tǒng)進(jìn)行定位的可行性,為GPS系統(tǒng)的研制埋下了鋪墊。由于衛(wèi)星定位顯示出在導(dǎo)航方面的巨大優(yōu)越性及子午儀系統(tǒng)存在對(duì)潛艇和艦船導(dǎo)航方面的巨大缺陷。美國(guó)海陸空三軍及民用部門(mén)都感到迫切需要一種新的衛(wèi)星導(dǎo)航系統(tǒng)。為此,美國(guó)海軍研究實(shí)驗(yàn)室(NRL)提出了名為T(mén)inmation的用12到18顆衛(wèi)星組成10000km高度的全球定位網(wǎng)計(jì)劃,并于67年、69年和74年各發(fā)射了一顆試驗(yàn)衛(wèi)星,在這些衛(wèi)星上初步試驗(yàn)了原子鐘計(jì)時(shí)系統(tǒng),這是GPS系統(tǒng)精確定位的基礎(chǔ)。而美國(guó)空軍則提出了621-B的以每星群4到5顆衛(wèi)星組成3至4個(gè)星群的計(jì)劃,這些衛(wèi)星中除1
5、顆采用同步軌道外其余的都使用周期為24h的傾斜軌道 該計(jì)劃以偽隨機(jī)碼(PRN)為基礎(chǔ)傳播衛(wèi)星測(cè)距信號(hào),其強(qiáng)大的功能,當(dāng)信號(hào)密度低于環(huán)境噪聲的1%時(shí)也能將其檢測(cè)出來(lái)。偽隨機(jī)碼的成功運(yùn)用是GPS系統(tǒng)得以取得成功的一個(gè)重要基礎(chǔ)。海軍的計(jì)劃主要用于為艦船提供低動(dòng)態(tài)的2維定位,空軍的計(jì)劃能供提供高動(dòng)態(tài)服務(wù),然而系統(tǒng)過(guò)于復(fù)雜。由于同時(shí)研制兩個(gè)系統(tǒng)會(huì)造成巨大的費(fèi)用而且這里兩個(gè)計(jì)劃都是為了提供全球定位而設(shè)計(jì)的,所以1973年美國(guó)國(guó)防部將2者合二為一,并由國(guó)防部牽頭的衛(wèi)星導(dǎo)航定位聯(lián)合計(jì)劃局(JPO)領(lǐng)導(dǎo),還將辦事機(jī)構(gòu)設(shè)立在洛杉磯的空軍航天處。該機(jī)構(gòu)成員眾多,包括美國(guó)陸軍、海軍、海軍陸戰(zhàn)隊(duì)、交通部、國(guó)防制圖局、北
6、約和澳大利亞的代表。 1.2 GPS的組成 GPS主要由空間衛(wèi)星星座、地面監(jiān)控站及用戶設(shè)備三部分構(gòu)成 1.GPS空間衛(wèi)星星座由21顆工作衛(wèi)星和3顆在軌備用衛(wèi)星組成。24顆衛(wèi)星均勻分布在6個(gè)軌道平面內(nèi),軌道平面的傾角為55,衛(wèi)星的平均高度為20200 km,運(yùn)行周期為11 h 58 min。衛(wèi)星用L波段的兩個(gè)無(wú)線電載波向廣大用戶連續(xù)不斷地發(fā)送導(dǎo)航定位信號(hào),導(dǎo)航定位信號(hào)中含有衛(wèi)星的位置信息,使衛(wèi)星成為一個(gè)動(dòng)態(tài)的已知點(diǎn)。在地球的任何地點(diǎn)、任何時(shí)刻,在高度角15以上,平均可同時(shí)觀測(cè)到6顆衛(wèi)星,最多可達(dá)到9顆[1]。GPS 衛(wèi)星產(chǎn)生兩組電碼,一組稱(chēng)為C/ A 碼( Coarse/ Acq
7、uisition Code11023MHz),一組稱(chēng)為P 碼(Procise Code 10123MHz) 。 2. 地面控制部分由一個(gè)主控站,5 個(gè)全球監(jiān)測(cè)站和3 個(gè)地面控制站組成。監(jiān)測(cè)站均配裝有精密的銫鐘和能夠連續(xù)測(cè)量到所有可見(jiàn)衛(wèi)星的接受機(jī)。監(jiān)測(cè)站將取得的衛(wèi)星觀測(cè)數(shù)據(jù),包括電離層和氣象數(shù)據(jù),經(jīng)過(guò)初步處理后,傳送到主控站。主控站從各監(jiān)測(cè)站收集跟蹤數(shù)據(jù),計(jì)算出衛(wèi)星的軌道和時(shí)鐘參數(shù),然后將結(jié)果送到3 個(gè)地面控制站。地面控制站在每顆衛(wèi)星運(yùn)行至上空時(shí),把這些導(dǎo)航數(shù)據(jù)及主控站指令注入到衛(wèi)星。這種注入對(duì)每顆GPS衛(wèi)星每天一次,并在衛(wèi)星離開(kāi)注入站作用范圍之前進(jìn)行最后的注入。如果某地面站發(fā)生故障,那
8、么在衛(wèi)星中預(yù)存的導(dǎo)航信息還可用一段時(shí)間,但導(dǎo)航精度會(huì)逐漸降低。 3.GPS用戶設(shè)備由GPS接收機(jī)、數(shù)據(jù)處理軟件及其終端設(shè)備(如計(jì)算機(jī))等組成。GPS接收機(jī)可捕獲到按一定衛(wèi)星高度截止角所選擇的待測(cè)衛(wèi)星的信號(hào),跟蹤衛(wèi)星的運(yùn)行,并對(duì)信號(hào)進(jìn)行交換、放大和處理,再通過(guò)計(jì)算機(jī)和相應(yīng)軟件,經(jīng)基線解算、網(wǎng)平差,求出GPS接收機(jī)中心(測(cè)站點(diǎn))的三維坐標(biāo)。GPS 接收機(jī)的結(jié)構(gòu)分為天線單元和接收單元兩部分。目前各種類(lèi)型的接受機(jī)體積越來(lái)越小,重量越來(lái)越輕,便于野外觀測(cè)使用。 1.3 GPS的發(fā)展趨勢(shì) (1)陸地應(yīng)用,主要包括車(chē)輛導(dǎo)航、應(yīng)急反應(yīng)、大氣物理觀測(cè)、地球物 理資源勘探、工程測(cè)量、變形監(jiān)測(cè)、地殼運(yùn)
9、動(dòng)監(jiān)測(cè)、 市政規(guī)劃控制等;(2)海洋應(yīng)用,包括遠(yuǎn)洋船最佳航程航線測(cè)定、船只實(shí)時(shí)調(diào)度與導(dǎo)航、海洋救援、海洋探寶、水文地質(zhì)測(cè)量以及海洋平臺(tái)定位、海平面升降監(jiān)測(cè)等;(3)航空航天應(yīng)用,包括飛機(jī)導(dǎo)航、航空遙感姿態(tài)控制、低軌衛(wèi)星定軌、導(dǎo)彈制導(dǎo)、航空救援和載人航天器防護(hù)探測(cè)等,GPS技術(shù)也同樣應(yīng)用于特大橋梁的控制測(cè)量中。由于無(wú)需通視,可構(gòu)成較強(qiáng)的網(wǎng)形,提高點(diǎn)位精度,同時(shí)對(duì)檢測(cè)常規(guī)測(cè)量的支點(diǎn)也非常有效。GPS技術(shù)在隧道測(cè)量中也具有廣泛的應(yīng)用前景,GPS測(cè)量無(wú)需通視,減少了常規(guī)方法的中間環(huán)節(jié),因此,速度快、精度高,具有明顯的經(jīng)濟(jì)和社會(huì)效益。 國(guó)內(nèi)業(yè)界已有多家廠商投入GPS定位系統(tǒng)研制, 目前,業(yè)界普遍看好
10、汽車(chē)導(dǎo)航定位系統(tǒng)市場(chǎng)及未來(lái)的個(gè)人手機(jī)(Cell Phone)定位系統(tǒng)市場(chǎng),這也正是GPS定位系統(tǒng)研制商的未來(lái)商機(jī)所在。 1.4 Globalsat和HOLUX的EB-3531 公司代理臺(tái)灣環(huán)天(Globalsat)和長(zhǎng)天(HOLUX)及ProGin的GPS系列產(chǎn)品,主營(yíng)GPS模塊, GPS接收器, GSM/GPRS模塊,GPS天線等, GPS模塊以SIRF3及MTK芯片的為主,在價(jià)格和質(zhì)量、技術(shù)上等都有很大的優(yōu)勢(shì),歡迎長(zhǎng)期生產(chǎn)GPS車(chē)載導(dǎo)航、監(jiān)控產(chǎn)品的廠家來(lái)電咨詢及業(yè)務(wù)方面的洽談。 GPS接收器: BR-355,BU-353,BR-305,MR-350,BT-359S,BT-359W
11、,BC-337,BC-307,SD-502,BT-338,BT-318,BT-328,DG-100,BT-335,TR-151,TR-101,TR-102,GH-615B,GR-213,M-215,GPSlim236,GR-271,GR-240,M-1000,M-241,M-1200,SBT-268,SGM-108,GP-138 SIRF系列的GPS模塊: ET-314,ET-316,ET-318 ,ET-661, EB-3531, EB-3631,ET-332,EM-411(帶內(nèi)置天線),EM-408(帶內(nèi)置天線), GR-86, GR-87,GR-89, SR-87,SR-92, GM
12、-318等 MTK系列的GPS模塊:M-89,M-87 , M-90,M-91,MT-661, MT-662,MT-285等 MSTAR系列模塊:MS-363,MS-363S GSM/GPRS模塊:SIM300Z,SIM300CZ,SIM300DZ,SIM340Z,SIM340CZ,SIM340DZ,SIM508Z,SIM548 GPS接收器: BR-355,BU-353,BR-305,MR-350,BT-359S,BT-359W,BC-337,BC-307,SD-502,BT-338,BT-318,BT-328,DG-100,BT-335,TR-151,TR-101,TR-102
13、,GH-615B,GR-213,M-215,GPSlim236,GR-271,GR-240,M-1000,M-241,M-1200,SBT-268,SGM-108,GP-138 1.5 EB-3531的特點(diǎn) EB-3531的特點(diǎn)如下: 1、 SiRF star III高性能GPS芯片組 2、 跟蹤靈敏度: -159dBm 3、 超快TTFF(第一固定時(shí)間)低信號(hào)水平 4、 2串口 5、 4MB閃存 6、 內(nèi)置LNA 7、 緊湊尺寸適合空間敏感應(yīng)用 8、 1尺寸組件,便于安裝到PCB板 9、 支持NMEA 0183 & SiRF雙協(xié)議 GPS模塊EB-
14、3531如圖1.1所示: 圖1.1 GPS模塊EB-3531 第二章 硬件電路設(shè)計(jì) 本系統(tǒng)選用Microchip公司的PIC8位單片機(jī)16F877作為主控元件,選用國(guó)產(chǎn)GPS導(dǎo)航模塊E580接收GPS衛(wèi)星號(hào)。E580是16通道的高感GPS接收模塊,可以多跟蹤16顆GPS衛(wèi)星,跟蹤靈敏度可達(dá)-158dBm,數(shù)據(jù)跟新率可達(dá)1次/s,而且功耗較小。D/A轉(zhuǎn)換芯片選用美國(guó)MAXIM公司的8位串行D/A芯片MAX518。電平轉(zhuǎn)換芯片選用2片MAX232。圖2.1為系統(tǒng)電路原理框圖所示: 圖2.1 系統(tǒng)電
15、路原理框圖 2.1 電源轉(zhuǎn)換電路設(shè)計(jì) 本系統(tǒng)選用2種供電方式,分別為+12V和+5V供電。選用L7805CV實(shí)現(xiàn)+12V向+5V的轉(zhuǎn)變,分別供電給單片機(jī)、MAX518和LED數(shù)碼管,其兩端的電容可消除瞬間干擾脈沖,如圖2.2所示: 圖2.2 L7805電源轉(zhuǎn)換電路圖 復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)正處欲死鎖狀態(tài)時(shí),為了擺脫困境,也需要按服位鍵以重新啟動(dòng)[2]。 單片機(jī)在RESET為高電平控制下,程序計(jì)數(shù)器(PC)和特殊功能寄存器的復(fù)位如表
16、2.1所示。在復(fù)位有效期間內(nèi),ALE、PSEN將輸出高電平。 表2.1 復(fù)位后寄存器狀態(tài) 本次設(shè)計(jì)復(fù)位電路,如圖2.3所示: 圖2.3 復(fù)位電路設(shè)計(jì) 2.2 GPS接收模塊與單片機(jī)接口電路設(shè)計(jì) 單片機(jī)與GPS模塊通過(guò)工作在異步方式的串行通訊接口(SCI)實(shí)現(xiàn)通訊[3]。E580模塊外圍電路連接如圖2.4所示: 圖2.4 外圍電路連接 2.3 單片機(jī)控制系統(tǒng)的硬件電路 系統(tǒng)的電路原理如圖2.5所示: 圖2.5 系統(tǒng)電路原理圖 第三章 軟件設(shè)計(jì)
17、 軟件設(shè)計(jì)包括MCU的程序設(shè)計(jì)和PC機(jī)端的軟件設(shè)計(jì)。在MUC上的程序包括主要由A/D轉(zhuǎn)換模塊、單片機(jī)內(nèi)部數(shù)據(jù)處理模塊和溫度顯示模塊等3部分構(gòu)成,便于修改和維護(hù)。 3.1 串口通行模塊 串口通信的主要功能是:接收時(shí),把外部單線輸入的數(shù)據(jù)變成一個(gè)字節(jié)的并行數(shù)據(jù)送入MCU內(nèi)部:把需要發(fā)送的一個(gè)字節(jié)的并行數(shù)據(jù)轉(zhuǎn)為單線輸出。圖3.1為SCI的編程模型。 圖3.1 編程模型 3.3.1 A/D轉(zhuǎn)換模塊 A/D轉(zhuǎn)換模塊它的功能是將電壓信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的數(shù)字信號(hào)。這個(gè)電壓量是由壓力傳感器把壓力轉(zhuǎn)換過(guò)來(lái),為了使采樣數(shù)據(jù)更準(zhǔn)確。該系統(tǒng)是取多次中值采樣值再取平均值的方法獲得數(shù)據(jù),大大
18、的提高了采樣數(shù)據(jù)的精度。流程如圖所示: 3.3.2信息接受處理 在串口收到信息以后,先判別是否為語(yǔ)句引導(dǎo)頭“$”,然后再接受信息內(nèi)容,然后根據(jù)語(yǔ)句標(biāo)識(shí)區(qū)分出信息類(lèi)別以對(duì)收到進(jìn)行處理顯示。串口中斷程序如圖3.2所示: 圖3.2串口中斷流程圖 3.2 主程序設(shè)計(jì) 主程序主要包括以下幾個(gè)部分:初始化、接受GPS數(shù)據(jù)、GPS信息處理、超時(shí)處理判斷等[4]。其目的是保證GPS提供的位置、時(shí)間用戶信息與用戶的可視信息同步。主程序流程圖如圖3.2所示: 圖3.3 主程
19、序流程 第四章 調(diào)試 調(diào)試是一個(gè)不斷地找出其中的錯(cuò)誤,并進(jìn)行解決,然后再重復(fù),直至系統(tǒng)可以正常運(yùn)行為止。系統(tǒng)的硬件調(diào)制與軟件調(diào)試是分不開(kāi)的,許多硬件故障是在調(diào)試軟件時(shí)才被發(fā)現(xiàn)和糾正的。 4.1 硬件調(diào)試 第一步:在沒(méi)通電之前,先用萬(wàn)用表檢查線路的正確性,并核對(duì)元器件的型號(hào)、規(guī)格是否符合要求。并特別注意電源的正負(fù)極以及電源之間是否有短路,并重點(diǎn)檢查地址總線、數(shù)據(jù)總線、控制總線是否存在相互間的短路或其他信號(hào)線的短路。晶體振蕩器和電容應(yīng)盡可能靠近單片機(jī)芯片安裝,以減少寄生電容,更好是保證振蕩器穩(wěn)定和可靠地工作。 第二步:通電后檢查個(gè)引腳的電位
20、,仔細(xì)測(cè)量各點(diǎn)電位是否正常,尤其應(yīng)注意單片機(jī)的插座上各點(diǎn)電位,若有高壓,將有可能損壞單片機(jī)仿真器。 第三步:在斷電情況下,用仿真插頭將所連接電路與單片機(jī)仿真器的仿真借口相連,為軟件調(diào)試做好準(zhǔn)備。 4.2 軟件調(diào)試 該系統(tǒng)的軟件調(diào)試,是把程序輸入單片機(jī),然后連接單片機(jī)仿真器進(jìn)行模擬調(diào)試,在調(diào)試時(shí)程序因該以模塊的形式進(jìn)行調(diào)試,這樣可以方便解決軟件的問(wèn)題,進(jìn)行及時(shí)修改,最后再將調(diào)試好的小段程序連接在一起進(jìn)行整體調(diào)試,當(dāng)整個(gè)程序都沒(méi)錯(cuò)誤時(shí),軟件調(diào)試已成功。 程序中出現(xiàn)的及解決方法: 1.有時(shí)候程序沒(méi)有錯(cuò)誤,但就是運(yùn)行不出結(jié)果,可能由于程序中某些書(shū)寫(xiě)不規(guī)范導(dǎo)致,在此時(shí)應(yīng)仔細(xì)檢查改正不足。
21、 2.程序中的跳轉(zhuǎn)指令的運(yùn)用很重要,為保險(xiǎn)起見(jiàn),都用LJMP,我們就遇到過(guò)跳轉(zhuǎn)指令用程序無(wú)法正常運(yùn)行的現(xiàn)象。 3.在編程過(guò)程中方便后續(xù)工程檢查,應(yīng)標(biāo)明各個(gè)程序段的作用,以及對(duì)部 程序介紹其作用。 4.先擬定一些模擬變量,將其加如程序,檢驗(yàn)出程序最終出現(xiàn)的結(jié)果。 第五章 總結(jié) 在完成畢業(yè)實(shí)踐報(bào)告的過(guò)程中也遇到了許多問(wèn)題,對(duì)GPS定位的知識(shí)了解不夠全面,因此設(shè)計(jì)中仍存在不足之處。在實(shí)習(xí)指導(dǎo)老師、同學(xué)的幫助下及通過(guò)自己翻閱各類(lèi)專(zhuān)業(yè)書(shū)籍,許多問(wèn)題得到解決,也有部分疑難還沒(méi)攻克
22、??赡苁亲陨砟芰€有待提高,相信通過(guò)自己的努力,在以后的工作中不斷積累經(jīng)驗(yàn)、擴(kuò)展知識(shí)、完善自我,必定能夠擁有一技之長(zhǎng),做到學(xué)有所用、學(xué)有所成。 致 謝 要感謝大學(xué)三年來(lái)給我傳道授業(yè)、答疑解惑的老師們,是您們使我的知識(shí)得以豐富,授業(yè)業(yè)三年卻終生受用;同時(shí),要感謝指導(dǎo)我完成此次畢業(yè)實(shí)踐報(bào)告的鄧柳老師,感謝您百忙之中給予我耐心的輔導(dǎo),對(duì)我報(bào)告中匡架設(shè)計(jì)、結(jié)構(gòu)布局的提出的要求,報(bào)告中內(nèi)容的修改,您都一絲不茍、精益求精,不得不讓我對(duì)你淵博的專(zhuān)業(yè)知識(shí)、嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)由生敬佩之情;此外,還要感謝我大學(xué)同窗好友們的支持
23、與幫助,你們誠(chéng)懇的建議給予了我莫大的幫助。 正是由于你們熱誠(chéng)的幫助,我的畢業(yè)實(shí)踐報(bào)告才能夠順利完成,在此向你們表示由衷的感謝。 參考文獻(xiàn) 【1】 沈慶陽(yáng),郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用[M].北京:清華大學(xué)出版社,2002.9 【2】Microchip Technology,PIC16F87x EEPROM Memory Progra-mming Specificatian 【3】劉瑞華.MCS-51單片機(jī)與GPS-OEM板串行通信[J].電訊技術(shù),2004:194~202 【4】Hugentoble
24、r U, Dach R, Fridez P. Document s of Bernese Soft2ware Ver sion 5.O[R].Berne:University of Berne ,2005 附錄: 部分源程序 以下是GPS定位信息顯示器單片機(jī)控制源程序: ;********************************************* ;* GPS定位顯示系統(tǒng) * ;***************************************
25、****** ;用AT89C51單片機(jī) ;本程序接受GPS的¥GPGGA信息中的時(shí)間數(shù)據(jù),采用12MHz晶振,接收4800波特率 ;使用資源:R0、R1、R2、R3、R4、R5、R6、R7,定時(shí)器T2,20H單元 現(xiàn)實(shí)緩沖單元在68H之7FH,時(shí)間接收數(shù)據(jù)在7AH之7BH(秒),7CH之7DH(分) ;7EH之7FH(時(shí)) ; ;定時(shí)器T2定義 T2CON EQU 0C8H ;T2控制寄存器 T2MOD EQU 0C9H TL2 EQU 0CCH
26、 ;T2計(jì)數(shù)寄存器低字節(jié) TH2 EQU 0CDH ;T2計(jì)數(shù)寄存器高字節(jié) TR2 EQU 0CAH ;T2啟動(dòng)位 RCAP2L EQU 0CAH ;T2計(jì)數(shù)重載寄存器低字節(jié) RCAP2LH EQU 0CBH ;T2計(jì)數(shù)重載寄存器高字節(jié) DISPSP EQU 2FH ;顯示首地指針 SFLAG BIT 00H
27、 ;信息頭標(biāo)志OK GIFLAG BIT 01H ;G1 OK PFLAG BIT 02H ;P OK G2FLAG BIT 03H ;G2 OK G3FLAG BIT 04H ;G3 OK AFLAG BIT 05H ;A OK ; ; ;********************************************* ;;
28、 中斷入口程序 ;; ;********************************************* ; ORG 0000H LJMP START ORG 0003H RET1 ORG 0013H RET1 ORG 0023H LJMP INTS ORG 002BH RET1 ; ;***
29、****************************************** ;; 主程序 ;; ;********************************************* ; START; MOV PSW,#00H ;設(shè)第0組寄存器 MOV SP,#30H ;設(shè)置指針 MOV SCON,#01010000B ;串口工作方式1允許接受 MOV A,#02BH MOV TL2,A
30、 ;設(shè)置波特率(4800) MOV RCAP2L,A MOV A,#0FFH MOV TH2,A MOV RCAP2H,A MOV R0,#40H ;清40之7FH內(nèi)存單元 MOV R7,#40H CLEARDISP: MOV @R0,#00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H ;清標(biāo)志單元 MOV R0,#5FH ;GPS數(shù)據(jù)在40到5FH MOV
31、R3,#20H ;接受32數(shù)據(jù) DETB ES ;允許串口中斷 MOV IP,#00H ;低級(jí)優(yōu)先 SETB REN ;啟動(dòng)串口接收 CLR T1 ;清串口發(fā)送中斷標(biāo)志位 CLR R1 ;清串口接收中斷標(biāo)志位 SETB TR2 ;啟動(dòng)定時(shí)計(jì)數(shù)器2 SETB EA ;發(fā)送所有中斷 START1:
32、MOV DISPSP,#78H ;顯示地址為78H MOV R2,#03H ;現(xiàn)實(shí)首址變化次數(shù)3 START2: LCALL DISPLAY MOV A,DISPSP SUBB A,#08H MOV DISPSP,A ;顯示首址減8 DJNZ R2,START2 MOV R3,#03H SJMP START1 ; ; ;*****************************************
33、**** ;; 顯示程序 ;; ;********************************************* ; DISPLAY: MOV R4,#0FFH DISPLAY1: MOV R1,DISPSP MOV R5,#0FEH PLAY: MOV A,R5 MOV P2,A MOV A,@R1 MOV DTR,#TAB MOVC A@A+DPTR MOV 0,A LCALL D L 1MS INC R1 MOV A
34、 ,R5 JNB ACC7,ENDOUT RL A MOV R5,A AJMP PLAY ENDOUT: DJNZ R4,DISPLAY1 MOV P2,#0FFH MOV P0,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,086H,0C8H ; ;********************************************* ;; 延時(shí)程序 ;; ;****************
35、***************************** ; DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R7,DL1 RET ; ;********************************************* ;; 中斷接收程序 ; ;********************************************* INTS: PUSH ACC JBC R1,RXINTS
36、 CLR T1 LJMP INTSOUT ; RXINTS: MOV A,SBUF JB DFLAG,DF ;是$GPGGA,轉(zhuǎn)AF接收時(shí)間數(shù)據(jù) JB AFLAG,AF ;判斷是否是”,” JB G3FLAG,G3F ;判斷是否是A JB G2FLAG,G2F ;判斷是否是第3個(gè)G JB PFLAG,PF ;判斷是否是第2個(gè)G JB G1FLAG,G1F ;判斷是否是P JB
37、 SFLAG,SF ;判斷是否是第1個(gè)G XRL A,#24H ;判斷是否是“$” JZ SYES MOV 20H,#00H ;不是$,清所有標(biāo)志 LJMP INYSOUT SYES: SETB SFLAG ;是$,設(shè)標(biāo)志 LJMP INTSOUT ; ; SF: XRL A,#47H ;是第一個(gè)GM嗎? JZ G1YES ;是G,轉(zhuǎn)YES
38、 MOV 20H,#00H LJMP INTSOUT G1YES: SETB G1FLAG INT SOUT: POP ACC RET1 ; G1F: XRL A,#50H ;是P嗎? JZ PYES ;是P,轉(zhuǎn)PYES MOV 20H,#00H LJMP INTSOUT PYES: SETB PFLAG LJMP INTSOUT PF: XRL
39、A,#47H ;是第二個(gè)G嗎? JZ G2YES ;是G,轉(zhuǎn)2PYES MOV 20H,#00H LJMP INTSOUT G2YES: SETB G2FLAG LJMP INTSOUT ; G2F: XRL A,#47H ;是第三個(gè)G嗎? JZ G2YES ;是G,轉(zhuǎn)G2YES MOV
40、 20H,#00H LJMP INTSOUT G3F: XRL A,#47H ;是A嗎? JZ G2YES ;是A,轉(zhuǎn)AYES MOV 20H,#00H LJMP INTSOUT AYES: SETB AFLAG LJMP INTSOUT AF: XRL A,#2CH ;是”,”嗎
41、? JZ DYES ;是”,”,轉(zhuǎn)DYES MOV 20H,#00H LJMP INTSOUT DYES: SETB DFLAG LJMP INTSOUT ;接收GPS時(shí)間數(shù)據(jù),共32字節(jié),在40到5FH單元 DF: MOV @R0,A DEC R0 DJNZ R3,INTSOUT MOV
42、 R3,#20H ;數(shù)字ASCII碼轉(zhuǎn)換數(shù)字 MOV R0,#40H DF: MOV A,@R0 CLR C SUBB A,#30H MOV @R0,A ;數(shù)字ASCII碼轉(zhuǎn)換數(shù)字 INC R0 DJNZ R3,DF1 MOV A,5FH ;格林威治時(shí)間轉(zhuǎn)換成北京時(shí)間(時(shí)加8) MOV B,#10 MUL AB ADD
43、 A,5EH ADD A,#08H CLR C CJNE A,#18H,DF2 ;是否大于24 DF: JC DF3 SUBB A,#18H ;大于24減24 DF3: MOV B,#10 ;時(shí)十位、個(gè)位恢復(fù)為BCD DIV AB MOV 5FH,A MOV 5FH,B MOV 7FH,5FH ;將收到數(shù)據(jù)移入顯示單元 MOV 7EH,5EF
44、MOV 7DH,5DF MOV 7CH,5CF MOV 7BH,5BF MOV 7AH,5AF MOV 79H,#0AH MOV 78H,#0AH MOV 77H,58F MOV 76H,#0AH MOV 74H,56F MOV 73H,55F MOV 72H,#0AH MOV 71H,#OAH MOV 70H,#0CH MOV 6FH,4CH MOV 6EH,4BH MOV 6DH,4AH MOV 6CH,#0AH MOV 6BH,49H MOV 6AH,48H MOV 69H,#0AH MOV 68H,#0BH MOV R3,#20H MOV R0,#5FH MOV 20H,#00H LJMP INSOUT END - 28 -
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案