版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> BACHELOR DISSERTATION</p><p> 論文題目: 基于單片機(jī)的GPS定位信息顯示系統(tǒng)設(shè)計(jì) </p><p> 學(xué)位類別:____ _ _____工 學(xué) 學(xué) 士_____________ ___</p><p
2、> 年級(jí)專業(yè)(班級(jí)):__ 08級(jí)自動(dòng)化(1)班 ___</p><p> 作者姓名:____ _ __ __________ _ ____</p><p> 導(dǎo)師姓名:____ _ __ ____________ _ ___</p><p> 完成時(shí)間:__
3、_ _ ___ 2012年5月20日_____ __ _ ___ </p><p> 基于單片機(jī)的GPS定位信息顯示系統(tǒng)設(shè)計(jì)</p><p><b> 中 文 摘 要</b></p><p> GPS全球定位系統(tǒng)在實(shí)際生活中被廣泛應(yīng)用,是當(dāng)今信息時(shí)代發(fā)展中的重要組成部分。因其具有性能好、精度高、應(yīng)用廣的特點(diǎn),使其成為了
4、迄今為止最好的定位導(dǎo)航系統(tǒng)。</p><p> 本論文詳細(xì)介紹了一種基于單片機(jī)、GPS接收模塊、12864液晶顯示模塊等器件的GPS實(shí)時(shí)顯示功能的實(shí)現(xiàn)。分別從硬件設(shè)計(jì)和軟件設(shè)計(jì)等方面對(duì)其作了詳細(xì)的闡述,并且結(jié)合硬件的特點(diǎn)研究了MCS-51系列單片機(jī)如何與GPS接收模塊實(shí)現(xiàn)串行通信,該系統(tǒng)是根據(jù)GPS模塊數(shù)據(jù)輸出基本原理設(shè)計(jì)而成的。它是一臺(tái)體積小巧、攜帶方便、可以獨(dú)立使用的全天候?qū)崟r(shí)的定位導(dǎo)航設(shè)備。</p&
5、gt;<p> 關(guān)鍵詞: GPS;單片機(jī);GPS接收模塊;12864液晶屏 </p><p> Microcontroller-based GPS Positioning Information Display System Design </p><p><b> ABSTRACT</b></p><p> GPS Gl
6、obal Positioning System is widely used in real life, is an important part in the development of today's information age. Because of its good performance, high accuracy, wide application, making it by far the best nav
7、igation and positioning system. </p><p> This thesis is described in detail based on microcontroller GPS receiver module, 12,864 LCD displays and other devices GPS real-time display function implementation.
8、 From hardware and software implementation gave a detailed exposition of the design, and combined with the hardware features of the MCS-51 series microcontroller GPS receiver module to achieve serial communication, the s
9、ystem design is based on the basic principle of the GPS module data output . It is a compact, portable, and can be </p><p> KEY WORD:GPS; microcontroller;GPS receiver module; 12864 LCD</p><p>&
10、lt;b> 目 錄</b></p><p><b> 第一章 緒論1</b></p><p> 1.1 課題背景及意義1</p><p> 1.2 論文主要內(nèi)容2</p><p> 第二章 GPS定位信息顯示系統(tǒng)方案設(shè)計(jì)3</p><p> 2.1 G
11、PS全球定位系統(tǒng)簡(jiǎn)介3</p><p> 2.2 GPS信號(hào)接收方案選擇5</p><p> 2.3 GPS接收模塊的研究5</p><p> 2.4 總體方案的設(shè)計(jì)6</p><p> 第三章 基于單片機(jī)的GPS硬件電路設(shè)計(jì)8</p><p> 3.1 基于單片機(jī)的GPS硬件電路總體結(jié)構(gòu)8<
12、;/p><p> 3.2 基于單片機(jī)的GPS定位信息顯示系統(tǒng)設(shè)計(jì)硬件電路簡(jiǎn)介8</p><p> 3.2.1 STC89C52簡(jiǎn)介8</p><p> 3.2.2 SiRF Star II GPS信號(hào)接收模塊12</p><p> 3.2.3 12864液晶顯示模塊介紹13</p><p> 3.3 基于
13、單片機(jī)的GPS硬件連接介紹15</p><p> 第四章 基于單片機(jī)的GPS軟件設(shè)計(jì)17</p><p> 4.1 NMEA-0183數(shù)據(jù)格式17</p><p> 4.1.1 輸入語(yǔ)句17</p><p> 4.1.2 輸出語(yǔ)句18</p><p> 4.2 基于單片機(jī)的GPS定位系統(tǒng)軟件開發(fā)環(huán)境
14、―Keil uVision220</p><p> 4.2.1 8051開發(fā)工具20</p><p> 4.2.2 uVision2集成開發(fā)環(huán)境20</p><p> 4.2.3 編輯器和調(diào)試器21</p><p> 4.2.4 測(cè)試程序22</p><p> 4.2.5 Keil C編譯步驟23
15、</p><p> 4.3 基于單片機(jī)的GPS軟件設(shè)計(jì)思路25</p><p> 4.4 模塊軟件設(shè)計(jì)26</p><p> 4.4.1 液晶模塊初始化模塊26</p><p> 4.4.2 GPS數(shù)據(jù)接收模塊28</p><p> 第五章 系統(tǒng)調(diào)試與實(shí)驗(yàn)結(jié)果30</p><p&
16、gt; 5.1 硬件調(diào)試30</p><p> 5.2 軟件調(diào)試30</p><p> 5.3 實(shí)驗(yàn)結(jié)果31</p><p> 5.4 實(shí)驗(yàn)結(jié)果分析32</p><p><b> 第六章 總結(jié)33</b></p><p><b> 致謝34</b>&l
17、t;/p><p><b> 參考文獻(xiàn)35</b></p><p><b> 附錄36</b></p><p><b> 第一章 緒論</b></p><p> 1.1 課題背景及意義</p><p> 1978年2月22日第一顆GPS試驗(yàn)衛(wèi)星的
18、入軌運(yùn)行,開創(chuàng)了以導(dǎo)航衛(wèi)星為動(dòng)態(tài)已知點(diǎn)的無(wú)線電導(dǎo)航定位的新時(shí)代。GPS衛(wèi)星所發(fā)送的導(dǎo)航定位信號(hào),是一種可供無(wú)數(shù)用戶共享的空間信息資源[1]。陸地、海洋和空間的廣大用戶,只要持有一種能夠接收、跟蹤、變換和測(cè)量GPS信號(hào)的接收機(jī),就可以全天時(shí)、全天候和全球性的測(cè)量運(yùn)動(dòng)載體的七維狀態(tài)參數(shù)和三維狀態(tài)參數(shù)。其用途之廣,影響之大,是其他無(wú)線電接收裝置都望塵莫及的。不僅如此,GPS衛(wèi)星的入軌運(yùn)行,還為大地測(cè)量學(xué)、地球動(dòng)力學(xué)、地球物理學(xué)、天體力學(xué)、載人
19、航天學(xué)、全球海洋學(xué)和全球氣象學(xué)提供了一種高精度、全天時(shí)、全天候的測(cè)量新技術(shù)。縱觀現(xiàn)狀,GPS技術(shù)有如下用途。</p><p> GPS技術(shù)的陸地應(yīng)用</p><p> GPS技術(shù)在陸地上的開發(fā)應(yīng)用可以體現(xiàn)在許多方面,如:各種車輛的行駛狀態(tài)監(jiān)控;旅游者或旅游車的景點(diǎn)導(dǎo)游;應(yīng)急車輛的快速引導(dǎo)行駛;高精度時(shí)間比對(duì)和頻率控制;大氣物理觀測(cè);地球物理資源勘探;工程建設(shè)的施工放樣測(cè)量;大型建筑和煤
20、氣田的沉降檢測(cè);板內(nèi)運(yùn)動(dòng)狀態(tài)和地殼形變測(cè)量;陸地以及海洋大地測(cè)量基準(zhǔn)的測(cè)定;工程、區(qū)域、國(guó)家等各種類型大地測(cè)量控制網(wǎng)的測(cè)量和建設(shè)等。</p><p> GPS技術(shù)的海洋應(yīng)用</p><p> GPS技術(shù)在海洋方面有著極其重要的作用,比如:遠(yuǎn)洋船舶的最佳航線測(cè)定;遠(yuǎn)洋船隊(duì)在途中航行的實(shí)時(shí)調(diào)度和監(jiān)測(cè);內(nèi)河船只的實(shí)時(shí)調(diào)度和自主導(dǎo)航測(cè)量;海洋救援的搜索和定點(diǎn)測(cè)量;遠(yuǎn)洋漁船的結(jié)隊(duì)航行和作業(yè)調(diào)度;
21、海洋油氣平臺(tái)的就位和復(fù)位測(cè)定;海底沉船位置的精確探測(cè);海底管道鋪設(shè)測(cè)量;海岸地球物理勘探;水文測(cè)量;海底大地測(cè)量控制網(wǎng)的布測(cè);海底地形的精細(xì)測(cè)量;船運(yùn)貨物失竊報(bào)警;凈化海洋;海洋糾紛或海損事故的定點(diǎn)測(cè)定;港口交通管制;海洋災(zāi)難檢測(cè)等。</p><p> GPS技術(shù)的航空應(yīng)用</p><p> GPS技術(shù)在航空方面的應(yīng)用主要體現(xiàn)在:民航飛機(jī)的在途自主導(dǎo)航;飛機(jī)精密著陸;飛機(jī)空中加油控制;
22、飛機(jī)編隊(duì)飛行的安全保護(hù);航空援救的搜索和定點(diǎn)測(cè)量;機(jī)載地球物理勘探;飛機(jī)探測(cè)災(zāi)區(qū)大小和標(biāo)定測(cè)量;攝影和遙感飛機(jī)的七維狀態(tài)參數(shù)和三維姿態(tài)參數(shù)測(cè)量等。</p><p> GPS技術(shù)的航天應(yīng)用</p><p> GPS技術(shù)在航天方面同樣也有著很重要的作用:低軌道通訊衛(wèi)星群的實(shí)時(shí)軌道測(cè)量;衛(wèi)星入軌和衛(wèi)星回收的實(shí)時(shí)點(diǎn)位測(cè)量;載入航天器的在軌防護(hù)探測(cè);星載GPS的遮掩天體大小和大氣參數(shù)測(cè)量;對(duì)地觀
23、測(cè)衛(wèi)星的七維狀態(tài)參數(shù)和三維狀態(tài)參數(shù)測(cè)量[2]。</p><p> 由此可見,GPS技術(shù)已經(jīng)延伸到各個(gè)領(lǐng)域的方方面面,但是要完成以上所述的各種用途,最基本的就是要具備能夠接收GPS信號(hào)并且能夠調(diào)制輸出的設(shè)備,而這種設(shè)備最基本的功能就是能夠顯示當(dāng)時(shí)所處地點(diǎn)的經(jīng)緯度以及UTC標(biāo)準(zhǔn)時(shí)間?,F(xiàn)在世面上已經(jīng)有許多基于GPS接收模塊所開發(fā)的產(chǎn)品,如GPS手持機(jī)、車載GPS導(dǎo)航儀等等,雖然其功能強(qiáng)大,但價(jià)格相對(duì)而言比較昂貴,而且
24、對(duì)于普通應(yīng)用沒有必要。所以基于這種情況下,本次設(shè)計(jì)針對(duì)普通用戶使用GPS的切實(shí)需要,設(shè)計(jì)并制作基于單片機(jī)的GPS定位信息顯示系統(tǒng)。</p><p> 1.2 論文主要內(nèi)容</p><p> 本次設(shè)計(jì)的主要任務(wù)是在GPS和單片機(jī)的理論知識(shí)基礎(chǔ)上,選擇合適的單片機(jī)提取GPS接收模塊接收的數(shù)據(jù)并且由液晶顯示模塊顯示接收的數(shù)據(jù)。</p><p> 在此次設(shè)計(jì)過程中,主
25、要熟悉所選用的GPS接收模塊的性能指標(biāo),學(xué)習(xí)NMEA封包并懂得如何使用NMEA輸出命令,結(jié)合單片機(jī)的相關(guān)知識(shí)能實(shí)現(xiàn)對(duì)GPS接收到的衛(wèi)星信息進(jìn)行提取,并在液晶顯示器上選擇性的顯示需要的數(shù)據(jù)。</p><p> 第二章 GPS定位信息顯示系統(tǒng)方案設(shè)計(jì)</p><p> 2.1 GPS全球定位系統(tǒng)簡(jiǎn)介 </p><p> 全球定位系統(tǒng)(GPS)是本世紀(jì)70年代由美
26、國(guó)陸??杖娐?lián)合研制的新一代空間衛(wèi)星導(dǎo)航定位系統(tǒng)。其主要目的是為陸、海、空三大領(lǐng)域提供實(shí)時(shí)、全天候和全球性的導(dǎo)航服務(wù),并用于情報(bào)收集、核爆監(jiān)測(cè)和應(yīng)急通訊等一些軍事目的,是美國(guó)獨(dú)霸全球戰(zhàn)略的重要組成部分。</p><p> 全球定位系統(tǒng)由三部分構(gòu)成:</p><p> (1) 地面控制部分,由主控站(負(fù)責(zé)管理、協(xié)調(diào)整個(gè)地面控制系統(tǒng)的工作)、地面天線(在主控站的控制下,向衛(wèi)星注入尋電文)、
27、監(jiān)測(cè)站(數(shù)據(jù)自動(dòng)收集中心)和通訊輔助系統(tǒng)(數(shù)據(jù)傳輸)組成。</p><p> (2) 空間部分,由24顆衛(wèi)星組成,分布在6個(gè)軌道平面上。</p><p> (3) 用戶裝置部分,主要由GPS接收機(jī)和衛(wèi)星天線組成[3]。這三部分的相互關(guān)系如圖2.1所示。</p><p> 圖2.1 GPS全球定位系統(tǒng)組成</p><p> 1978年2
28、月22日,第一顆GPS試驗(yàn)衛(wèi)星的發(fā)射成功,標(biāo)志著工程研制階段的開始。1989年2月14日,第一顆GPS工作衛(wèi)星的發(fā)射成功,宣告GPS系統(tǒng)進(jìn)入了生產(chǎn)作業(yè)階段。GPS系統(tǒng)經(jīng)過16年的發(fā)射試驗(yàn)衛(wèi)星,到開發(fā)GPS信號(hào)應(yīng)用,進(jìn)而發(fā)射工作衛(wèi)星,終于在1994年3月建成了信號(hào)覆蓋率達(dá)到了98%的GPS工作星座,它由24顆Block2衛(wèi)星衛(wèi)星組成。Block2衛(wèi)星如圖2.2所示。</p><p> 圖2.2 Block2衛(wèi)星圖
29、</p><p> 全球定位系統(tǒng)有很多特點(diǎn),其主要特點(diǎn)如下:</p><p><b> (1) 全天候;</b></p><p><b> (2) 全球覆蓋;</b></p><p> (3) 三維定速定時(shí)高精度;</p><p> (4) 快速省時(shí)高效率;<
30、/p><p> (5) 應(yīng)用廣泛多功能。</p><p> 24顆GPS衛(wèi)星在離地面2萬(wàn)公里的高空上,以12小時(shí)的周期環(huán)繞地球運(yùn)行,使得在任意時(shí)刻,在地面上的任意一點(diǎn)都可以同時(shí)接收到6顆以上GPS衛(wèi)星的定位信息。只要有4顆衛(wèi)星的定位信息,GPS接收機(jī)就能向用戶提供三維坐標(biāo)、時(shí)間及移動(dòng)速度等信息參數(shù)。</p><p> 由于衛(wèi)星的位置精確可知,在GPS觀測(cè)中,我們可
31、得到衛(wèi)星到接收設(shè)備的距離,根據(jù)三維坐標(biāo)中的距離公式,利用3顆衛(wèi)星,就可以組成3個(gè)方程式,解出觀測(cè)點(diǎn)的位置(X,Y,Z)。考慮到衛(wèi)星的時(shí)鐘與接收機(jī)時(shí)鐘之間的誤差,實(shí)際上有4個(gè)未知數(shù),X、Y、Z和鐘差,因而需要引入第4顆衛(wèi)星,形成4個(gè)方程式進(jìn)行求解,從而得到觀測(cè)點(diǎn)的經(jīng)緯度和高程。 </p><p> 由于衛(wèi)星運(yùn)行軌道、衛(wèi)星時(shí)鐘存在誤差,大氣對(duì)流層、電離層對(duì)信號(hào)的影響,以及人為的SA保護(hù)政策,使得民用GPS的定位精度
32、只有100米。美國(guó)政府宣布從2000年起,在保證美國(guó)國(guó)家安全不受威脅的前提下,取消SA政策,GPS民用信號(hào)精度在全球范圍內(nèi)得到改善,利用C/A碼進(jìn)行單點(diǎn)定位的精度由100米提高到20米。為了達(dá)到更高的定位精度,往往還采用了差分GPS(DGPS)技術(shù),建立基準(zhǔn)站(差分臺(tái))進(jìn)行GPS觀測(cè),利用已知的基準(zhǔn)站精確坐標(biāo),與觀測(cè)值進(jìn)行比較,從而得出一修正數(shù),并對(duì)外發(fā)布。接收機(jī)收到該修正數(shù)后,與自身的觀測(cè)值進(jìn)行比較,消去大部分誤差,得到一個(gè)比較準(zhǔn)確的
33、位置。實(shí)驗(yàn)表明,利用差分GPS,定位精度可提高到5米。</p><p> 2.2 GPS信號(hào)接收方案選擇</p><p> 要實(shí)現(xiàn)在液晶顯示器上顯示出接收到的GPS數(shù)據(jù)信息,首先要實(shí)現(xiàn)GPS信號(hào)的接收。在接收GPS信號(hào)方案上可以有兩種選擇。</p><p> 第一種方案是選擇GPS接收芯片然后再根據(jù)芯片設(shè)計(jì)標(biāo)準(zhǔn),設(shè)計(jì)外圍電路和安裝天線等,選擇這個(gè)方案的優(yōu)點(diǎn)是可
34、以掌握到GPS接收部分的電路設(shè)計(jì)技術(shù),但是這個(gè)方案的缺點(diǎn)也是顯而易見的,首先實(shí)現(xiàn)的難度較大,不容易成功,其次由于GPS接收芯片一般都是廠商直接供貨,單獨(dú)采購(gòu)價(jià)格會(huì)很高。</p><p> 第二種方案是選擇成品的GPS接收模塊,采用這個(gè)方案的優(yōu)點(diǎn)是由于現(xiàn)階段GPS接收模塊的制造技術(shù)已經(jīng)相當(dāng)成熟,性能穩(wěn)定并且使用非常方便,定位成功后直接就可以通過模塊輸出GPS相關(guān)信息。并且在經(jīng)過大規(guī)模的商業(yè)化生產(chǎn)后價(jià)格已經(jīng)能被我們
35、所接受,這樣的模塊在市面上也能夠容易的購(gòu)買到。</p><p> 從上面的分析可以知道,選擇GPS接收模塊就能夠很好的作為本次設(shè)計(jì)接收GPS定位信息的解決方案,因此我選擇第二種方案來完成本次設(shè)計(jì)。</p><p> 2.3 GPS接收模塊的研究</p><p> GPS接收模塊是接收機(jī)的關(guān)鍵部分,而且型號(hào)很多,功能各異,一般組成結(jié)構(gòu)主要由低噪聲下變頻器、并行信
36、號(hào)通道、CPU、儲(chǔ)存器等組成。</p><p> GPS接收模塊通過它的接收天線獲取衛(wèi)星信號(hào),經(jīng)過變頻、放大、濾波、相關(guān)、混頻等一系列處理,可以實(shí)現(xiàn)對(duì)天線視界內(nèi)衛(wèi)星的跟蹤、鎖定和測(cè)量。在獲取了衛(wèi)星的位置信息和測(cè)算出衛(wèi)星信號(hào)傳播時(shí)間之后,即可計(jì)算出天線位置。用戶通過輸入輸出接口,與GPS接收模塊進(jìn)行信息交換,實(shí)現(xiàn)功能。GPS接收模塊內(nèi)部結(jié)構(gòu)如圖2.3所示。</p><p> 圖2.3 G
37、PS接收模塊內(nèi)部結(jié)構(gòu)</p><p> 2.4 總體方案的設(shè)計(jì)</p><p> 本次設(shè)計(jì)要求通過單片機(jī)控制GPS器件實(shí)現(xiàn)定位信息顯示功能。在這里使用常見的MCS-51型單片機(jī)作為處理器,利用MCS-51單片機(jī)的串行接口接收SiRF Star II GPS信號(hào)接收模塊輸出的數(shù)據(jù)信號(hào),并通過軟件方法篩選出其中有用的定位數(shù)據(jù),最后通過單片機(jī)的并行接口輸出至液晶顯示模塊顯示的方案。該GPS定
38、位信息顯示系統(tǒng)硬件部分主要由以下幾個(gè)部分組成: </p><p> (1) 接收部分:以SiRF Star II GPS接收模塊為核心的GPS接收機(jī); </p><p> (2) 控制電路:由51單片機(jī)作為微處理器控制GPS信號(hào); </p><p> (3) 顯示部分:12864LCD液晶顯示模塊; </p><p> (4) 電源電
39、路部分:用以提供系統(tǒng)工作時(shí)所必須的電。 </p><p> 單片機(jī)系統(tǒng):本次設(shè)計(jì)使用51單片機(jī)作為微處理器,控制GPS數(shù)據(jù)的讀取和傳輸過程。利用其串行接口接收SiRF Star II GPS接收模塊輸出的NMEA-0183語(yǔ)句數(shù)據(jù),并將接收到的數(shù)據(jù)經(jīng)過篩選和處理后發(fā)送到12864液晶顯示器顯示。 </p><p> 外圍電路:外圍電路一部分是由GPS接收器件及其輔助電路組成,一部分是L
40、CD液晶顯示模塊的電源電路和顯示電路。SiRF Star II GPS接收模塊主要由變頻器、信號(hào)通道、存儲(chǔ)器、中央處理器和輸入輸出接口構(gòu)成。它接收天線獲取的衛(wèi)星信號(hào),經(jīng)過變頻、放大、濾波、相關(guān)、混頻等一系列處理,可以實(shí)現(xiàn)對(duì)天線視界內(nèi)衛(wèi)星的跟蹤、鎖定和測(cè)量定位。 </p><p> 單片機(jī)控制程序:編寫程序,實(shí)現(xiàn)單片機(jī)控制系統(tǒng)的初始化,控制GPS器件完成數(shù)據(jù)的采集,進(jìn)行相應(yīng)的信號(hào)處理,并通過單片機(jī)接口輸出至液晶顯
41、示模塊顯示必要的數(shù)據(jù)。</p><p> 由此可知:GPS接收模塊將接收到的GPS衛(wèi)星導(dǎo)航電文調(diào)制解碼,轉(zhuǎn)換為標(biāo)準(zhǔn)格式后,送給單片機(jī),當(dāng)單片機(jī)接收到GPS發(fā)送過來的導(dǎo)航電文后,經(jīng)過片內(nèi)程序的識(shí)別篩選,將篩選出來的導(dǎo)航電文送到顯示模塊,并且最后通過液晶顯示器按照要求顯示出來。</p><p> 第三章 基于單片機(jī)的GPS硬件電路設(shè)計(jì)</p><p> 3.1 基
42、于單片機(jī)的GPS硬件電路總體結(jié)構(gòu)</p><p> 根據(jù)總體設(shè)計(jì)方案,該基于單片機(jī)的GPS硬件電路設(shè)計(jì)主要由GPS信號(hào)接收部分(SiRF Star II GPS信號(hào)接收模塊)、控制芯片(STC89C52單片機(jī))、顯示部分(12864LCD液晶顯示模塊)這幾部分構(gòu)成。其大體結(jié)構(gòu)框圖如圖3.1所示。</p><p> 圖3.1 基于單片機(jī)的GPS硬件總體結(jié)構(gòu)框圖</p>&l
43、t;p> 3.2 基于單片機(jī)的GPS定位信息顯示系統(tǒng)設(shè)計(jì)硬件電路簡(jiǎn)介</p><p> 3.2.1 STC89C52簡(jiǎn)介</p><p> STC89C52是一個(gè)低電壓,高性能CMOS 8 位單片機(jī),采用40引腳雙列直插封裝方式。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容[4]。</p><p>
44、 STC89C52引腳如圖3.2所示:</p><p> 圖3.2 STC89C52引腳圖</p><p><b> 其引腳說明如下:</b></p><p> 主電源引腳(2根):</p><p> VCC(Pin40):電源輸入,接+5V電源;</p><p> GND(Pin20)
45、:接地線。</p><p> 外接晶振引腳(2根):</p><p> XTAL1(Pin19):片內(nèi)振蕩電路的輸入端;</p><p> XTAL2(Pin18):片內(nèi)振蕩電路的輸出端。</p><p><b> 控制引腳(4根):</b></p><p> RST (Pin9):復(fù)位
46、引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位;</p><p> ALE/PROG(Pin30):地址鎖存允許信號(hào);</p><p> PSEN(Pin29):外部存儲(chǔ)器讀選通信號(hào);</p><p> EA/VPP(Pin31):程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。</p><
47、p> 可編程輸入/輸出引腳(32根):</p><p> STC89C52單片機(jī)有4組8位的可編程I/O口,分別為P0、P1、P2、P3口,每個(gè)口有8根引腳,共32根。</p><p> P0口(Pin39~Pin32):8位雙向I/O口線,名稱為P0.0~P0.7;</p><p> P1口(Pin1~Pin8):8位準(zhǔn)雙向I/O口線,名稱為P1.0
48、~P1.7;</p><p> P2口(Pin21~Pin28):8位準(zhǔn)雙向I/O口線,名稱為P2.0~P2.7;</p><p> P3口(Pin10~Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0~P3.7。</p><p> STC89C52主要功能如表3.1所示。</p><p> 表3.1 STC89C52主要功能<
49、;/p><p><b> 時(shí)鐘電路</b></p><p> STC89C52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時(shí)鐘電路如圖3.3(a) 所示,在RXD和TXD引腳上外接定時(shí)元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時(shí)元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振
50、蕩頻率可以在1.2~12MHz之間選擇,電容值在5~30pF之間選擇,電容值的大小可對(duì)頻率起微調(diào)的作用[5]。</p><p> 外部方式的時(shí)鐘電路如圖3.3(b)所示,RXD接地,TXD接外部振蕩器。對(duì)外部振蕩信號(hào)無(wú)特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號(hào)。片內(nèi)時(shí)鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個(gè)兩相時(shí)鐘P1和P2,供單片機(jī)使用。</p><p> (a)內(nèi)
51、部方式時(shí)鐘電路 (b)外部方式時(shí)鐘電路</p><p><b> 圖3.3 時(shí)鐘電路</b></p><p><b> (2) 復(fù)位</b></p><p> 復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常
52、初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)[6]。</p><p> 除PC之外,復(fù)位操作還對(duì)其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表3.2所示。</p><p> 表3.2 一些寄存器的復(fù)位狀態(tài)</p><p> RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期(即二個(gè)機(jī)器
53、周期)以上。若使用頗率為6MHz的晶振,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過4us才能完成復(fù)位操作。</p><p> 整個(gè)復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(hào)(RST)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對(duì)施密特觸發(fā)器的輸出進(jìn)行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號(hào)[7]。</p><p> 3.2.2 SiRF Star II GPS信號(hào)接收模塊&l
54、t;/p><p> 該設(shè)計(jì)中GPS信號(hào)接收模塊所選用的是SiRF Star II GPS接收模塊,該模塊是由美國(guó)瑟孚科技有限公司所生產(chǎn)。主要使用到的引腳如圖3.4所示。該模塊具有12通道并行接收能力,所接收的GPS信號(hào)屬于民用頻段的L1信號(hào)(1575.42MHz),在沒有SA干擾的情況下平均定位誤差為10米,動(dòng)態(tài)速度誤差為0.1米/秒,信號(hào)靈敏度達(dá)到-142dBm,冷啟動(dòng)定位時(shí)間為42秒,熱啟動(dòng)時(shí)間為38秒,重新定
55、位時(shí)間僅僅需要8秒。</p><p> 圖3.4 SiRF Star II引腳圖</p><p> GPS數(shù)據(jù)輸出格式為標(biāo)準(zhǔn)的NMEA-0183標(biāo)準(zhǔn),采集地理信息的更新速率為每?jī)擅胍淮危貓D坐標(biāo)系為WGS-84坐標(biāo)系[8]。</p><p> 該模塊天線采用的是體積小、可靠性高、靈敏度高的微帶天線,該天線封裝在模塊內(nèi)部,更進(jìn)一步的提高了整個(gè)模塊的可靠性。該模
56、塊實(shí)物圖如圖3.5所示。</p><p> 圖3.5 GPS接收模塊</p><p> 它的工作電壓為2.7V-3.3V,工作電流僅為75mA,它由GSP2e數(shù)字IC、GRF2i射頻IC和GSW2模塊化軟件組成。</p><p> GSP2e主要集成了一個(gè)增強(qiáng)型GPS內(nèi)核、一個(gè)50MHz 的ARM7 CPU、獨(dú)立的內(nèi)部總線和外部總線、1Mb EDO DRAM、
57、高精度實(shí)時(shí)時(shí)鐘、GPS接收機(jī)外部設(shè)備和2個(gè)UART。</p><p> GRF2i主要由片內(nèi)壓控振蕩器和基準(zhǔn)振蕩器、集成中頻濾波器(IF)、集成LNA和數(shù)字接口等組成。GSW2模塊化軟件很容易集成到現(xiàn)有系統(tǒng)中,并提供功能強(qiáng)大的開發(fā)環(huán)境。</p><p> SiRF Star II除增加了中央處理器和衛(wèi)星信號(hào)追蹤引擎, SiRF Star II在芯片組中集成了兆位存儲(chǔ)器(DRAM) ,
58、這個(gè)是其它同類產(chǎn)品的八倍。這使其不僅可執(zhí)行各項(xiàng)GPS 功能,還能為用戶應(yīng)用提供額外存儲(chǔ)。將IF濾波器集成到射頻芯片內(nèi)而無(wú)需新增外部濾波器, 從而進(jìn)一步降低了元件的數(shù)目并增加了可靠性。該芯片的主要特征如表3.3所示。</p><p> 表3.3 SiRF Star II主要特征</p><p> 3.2.3 12864液晶顯示模塊介紹</p><p> (1)
59、液晶顯示模塊概述 </p><p> 12864液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字(16X16 點(diǎn)陣)、128 個(gè)字符(8X16 點(diǎn)陣)及64X256 點(diǎn)陣顯示RAM(GDRAM)。12864液晶顯示模塊引腳如圖3.6所示。</p><p> 圖3.6 12864液晶顯示電路圖</p><p> 主要技術(shù)參數(shù)和顯示特性: </p>
60、;<p> 電源:VDD 3.3V~5V( 內(nèi)置升壓電路,無(wú)需負(fù)壓); </p><p> 顯示內(nèi)容:128 列× 64 行; </p><p><b> 顯示顏色:黃綠; </b></p><p> 顯示角度:6:00鐘直視;</p><p> LCD 類型:STN; </p&g
61、t;<p> 與MCU 接口:8位或4位并行/3位串行;</p><p> 配置LED 背光; </p><p> 多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等;</p><p> 邏輯工作電壓(VDD):4.5~5.5V; </p><p> 電源地(GND):0V; </p><p&
62、gt; 工作溫度(Ta):0~60℃(常溫) / -20~75℃(寬溫)[9]。</p><p> 12864有20接口引腳,引腳說明如表3.4所示。</p><p> 表3.4 12864引腳說明</p><p> 3.3 基于單片機(jī)的GPS硬件連接介紹</p><p> 整個(gè)硬件設(shè)計(jì)要求GPS接收模塊輸出的信號(hào)通過單片機(jī)STC8
63、9C52、GPS信號(hào)接收模塊、12864液晶顯示模塊、電源相連接實(shí)現(xiàn)系統(tǒng)功能。硬件電路設(shè)計(jì)如圖3.7所示。</p><p> 圖3.7 GPS硬件電路圖</p><p> 第四章 基于單片機(jī)的GPS軟件設(shè)計(jì)</p><p> 4.1 NMEA-0183數(shù)據(jù)格式</p><p> NMEA-0183是美國(guó)國(guó)家海洋電子協(xié)會(huì)(Nationa
64、l Marine Electronics Association)為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式。它是在過去海用電子設(shè)備的標(biāo)準(zhǔn)格式0180和0182的基礎(chǔ)上,增加了GPS接收機(jī)輸出的內(nèi)容而完成的。目前廣泛采用的是Ver 2.00版本?,F(xiàn)在除少數(shù)早期的GPS接收機(jī)外,幾乎所有的GPS接收機(jī)均采用了這一格式。此協(xié)議是為了在不同的GPS導(dǎo)航設(shè)備中建立統(tǒng)一的RTCM標(biāo)準(zhǔn)。這種格式的廣泛使用使得GPS接收模塊的通用化和互換性大大提高。</p&
65、gt;<p> 這種格式所輸出的語(yǔ)句采用的是ASCII字符碼,包含了緯度、經(jīng)度、速度、日期、時(shí)間、航向、以及衛(wèi)星信號(hào)情況等信息。其串行通信默認(rèn)參數(shù)為:波特率=9600bps,數(shù)據(jù)位=8bit,開始位=1bit,停止位=1bit,無(wú)奇偶校驗(yàn)。</p><p> 幀格式形如:$aaccc,ddd,ddd,…,ddd*hh<CR><LF> </p><p
66、> (1) “$”:幀命令起始位; </p><p> (2) aaccc:地址域,前兩位為識(shí)別符,后三位為語(yǔ)句名; </p><p> (3) ddd…ddd:數(shù)據(jù); </p><p> (4) “*”:校驗(yàn)和前綴; </p><p> (5) hh:校驗(yàn)和(check sum),$與*之間所有字符ASCII碼的
67、校驗(yàn)和(各字節(jié)做異或運(yùn)算,得到校驗(yàn)和后,再轉(zhuǎn)換16進(jìn)制格式的ASCII字符。) </p><p> (6) <CR><LF>:CR(Carriage Return) + LF(Line Feed)幀結(jié)束,回車和換行。</p><p> 4.1.1 輸入語(yǔ)句</p><p> NMEA-0183輸入語(yǔ)句是指GPS接收模塊可以接收的語(yǔ)句
68、。輸入語(yǔ)句包括初始位置,時(shí)間,秒脈沖狀態(tài),差分模式,NMEA輸出間隔等設(shè)置信息。這些語(yǔ)句是GPS接收機(jī)可以接受的語(yǔ)句。一般情況下初始化信息語(yǔ)句為PGRMI。 </p><p> $GPRMI,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<CR><LF></p><p&g
69、t; <1>緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸); </p><p> <2>緯度半球N(北半球)或S(南半球); </p><p> <3>經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸); </p><p> <4>經(jīng)度半球E(東經(jīng))或W(西經(jīng)); </p>&l
70、t;p> <5>UTC日期,ddmmyy(日月年)格式; </p><p> <6>UTC時(shí)間,hhmmss(時(shí)分秒)格式; </p><p> <7>接收機(jī)命令,A=自動(dòng)定位,R=機(jī)器重新啟動(dòng)。</p><p> 4.1.2 輸出語(yǔ)句</p><p> SiRF Star II的輸出語(yǔ)句有
71、十余種 ,其主要語(yǔ)句有GPALM(歷書數(shù)據(jù))、GPGGA(GPS標(biāo)準(zhǔn)數(shù)據(jù),定位數(shù)據(jù))、GPGSV(衛(wèi)星狀態(tài))、GPGSA、GPRMC、GPVTG、PGRME、PGRMF、PGRMT、PGRMV(GARMIN定義的語(yǔ)句,3D速度信息)、LCGLL、LCVTG(NMEA標(biāo)準(zhǔn)語(yǔ)句)等??赏ㄟ^GPS串口調(diào)試軟件發(fā)送相應(yīng)的命令語(yǔ)句給SiRF Star II芯片,此后芯片會(huì)根據(jù)命令語(yǔ)句設(shè)置參數(shù)。</p><p> 幾種常用
72、的數(shù)據(jù)格式如下:</p><p> (1) GPS標(biāo)準(zhǔn)數(shù)據(jù)(GPGGA),其結(jié)構(gòu)為:</p><p> $GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,&
73、lt;14>*<15><CR><LF> </p><p> <1> UTC時(shí)間,格式為hhmmss.sss;</p><p> <2> 緯度,格式為ddmm.mmmm(前導(dǎo)位數(shù)不足則補(bǔ)0);</p><p> <3> 緯度半球,N或S(北緯或南緯);</p><
74、;p> <4> 經(jīng)度,格式為dddmm.mmmm(前導(dǎo)位數(shù)不足則補(bǔ)0);</p><p> <5> 經(jīng)度半球,E或W(東經(jīng)或西經(jīng));</p><p> <6> 定位質(zhì)量指示,0=定位無(wú)效,1=定位有效;</p><p> <7> 使用衛(wèi)星數(shù)量,從00到12(前導(dǎo)位數(shù)不足則補(bǔ)0);</p>&
75、lt;p> <8> 水平精確度,0.5到99.9;</p><p> <9> 天線離海平面的高度,-9999.9到9999.9米 ;</p><p> <10> 高度單位,M表示單位米;</p><p> <11> 大地橢球面相對(duì)海平面的高度,-999.9到9999.9米;</p><
76、p> <12> 高度單位,M表示單位米; </p><p> <13> 差分GPS數(shù)據(jù)期限(RTCM SC-104),最后設(shè)立RTCM傳送的秒數(shù)量; </p><p> <14> 差分參考基站標(biāo)號(hào),從0000到1023(前導(dǎo)位數(shù)不足則補(bǔ)0); </p><p><b> <15> 校
77、驗(yàn)和。</b></p><p> ?。?) 可視衛(wèi)星狀態(tài)輸出語(yǔ)句(GPGSV),其結(jié)構(gòu)為:</p><p> $GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*<8><
78、CR><LF> </p><p> <1> 總的GSV語(yǔ)句電文數(shù); </p><p> <2> 當(dāng)前GSV語(yǔ)句號(hào); </p><p> <3> 可視衛(wèi)星總數(shù),00至12; </p><p> <4> 衛(wèi)星編號(hào),01至32; </p>&
79、lt;p> <5> 衛(wèi)星仰角,00至90度; </p><p> <6> 衛(wèi)星方位角,000至359度,實(shí)際值; </p><p> <7> 信噪比(C/No),00至99dB;無(wú)表未接收到訊號(hào); </p><p><b> <8> 校驗(yàn)和。</b></p>
80、<p> (3) 推薦最小GPS/TRANSIT數(shù)據(jù)(GPRMC),其結(jié)構(gòu)為:</p><p> $GPRMC,<1>,<2>,<2>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
81、</p><p> 其中“GP”為交談識(shí)別符;“RMC”為語(yǔ)句識(shí)別符;“hh”為校驗(yàn)和,其代表了“$”與“*”之間所有字符的按位異或值(不包括這兩個(gè)字符)。</p><p> $GPRMC語(yǔ)句數(shù)據(jù)區(qū)的內(nèi)容為:</p><p> <1>定位點(diǎn)的協(xié)調(diào)世界時(shí)間(UTC),hhmmss(時(shí)分秒)格式;</p><p> <2
82、>定位狀態(tài),A=有效定位,V=無(wú)效定位;</p><p> <3>定位點(diǎn)緯度,ddmm.mmmm(度分)格式;</p><p> <4>緯度半球,N(北半球)或S(南半球);</p><p> <5>定位點(diǎn)經(jīng)度,dddmm.mmmm(度分)格式;</p><p> <6>經(jīng)度半球,
83、E(東經(jīng))或W(西經(jīng));</p><p> <7>地面速率,000.0~999.9節(jié);</p><p> <8>地面航向,000.0~359.9度;</p><p> <9>UTC日期,ddmmyy(日月年)格式;</p><p> <10>磁偏角,000.0~180度;</p&g
84、t;<p> <11>磁偏角方向,E(東)或W(西);</p><p> <12>工作模式:A=自主,D=差分,E=評(píng)估,N=數(shù)據(jù)無(wú)效[10]。</p><p> 4.2 基于單片機(jī)的GPS定位系統(tǒng)軟件開發(fā)環(huán)境―Keil uVision2</p><p> 4.2.1 8051開發(fā)工具</p><p&
85、gt; Keil uVision2是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)C語(yǔ)言的語(yǔ)法來開發(fā),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),它還能嵌入?yún)R編,您可以在關(guān)鍵的位置嵌入。KeilC51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開發(fā)提供了C語(yǔ)言環(huán)境,同時(shí)保留了匯編代碼高效,快速的特點(diǎn)。C51編譯器功能的不斷增強(qiáng),使我們可以更加貼近CPU本身及其他的衍生品。C
86、51已被完全集成到uVision2的集成開發(fā)環(huán)境中,這個(gè)集成開發(fā)環(huán)境包括:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVision2 IDE可為它們提供單一而靈活的開發(fā)環(huán)境[11]。</p><p> Keil uVision2與同類開發(fā)環(huán)境具有以下優(yōu)點(diǎn):</p><p> (1) 真正的集成調(diào)試環(huán)境,集成了編緝器、編譯器、調(diào)試器;</p><p>
87、(2) 眾多強(qiáng)大軟硬件調(diào)試手段,包括邏輯分析儀、跟蹤器、邏輯筆、波形發(fā)生器、影子存儲(chǔ)器、記時(shí)器、程序時(shí)效分析、 數(shù)據(jù)時(shí)效分析、硬件測(cè)試儀、事件觸發(fā)器;</p><p> (3) 所有類型的單片機(jī)集成在一個(gè)調(diào)試環(huán)境下,支持匯編、C、PL/M源程序混合調(diào)試;</p><p> (4) 支持軟件模擬,支持項(xiàng)目管理;</p><p> (5) 支持點(diǎn)屏功能,直接點(diǎn)擊屏
88、幕就可以觀察變量的值,方便快捷;</p><p> (6) 功能強(qiáng)大的觀察窗口,支持所有的數(shù)據(jù)類型;</p><p> (7) 樹狀結(jié)構(gòu)顯示,一目了然;</p><p> (8) 在線直接修改、編譯、調(diào)試源程序,錯(cuò)誤指令定位[12]。</p><p> 4.2.2 uVision2集成開發(fā)環(huán)境</p><p>
89、<b> (1) 項(xiàng)目管理</b></p><p> 工程(project)是由源文件、開發(fā)工具選項(xiàng)以及編程說明三部分組成的。一個(gè)單一的uVision2工程能夠產(chǎn)生一個(gè)或多個(gè)目標(biāo)程序。產(chǎn)生目標(biāo)程序的源文件構(gòu)成“組”。開發(fā)工具選項(xiàng)可以對(duì)應(yīng)目標(biāo),組或單個(gè)文件。</p><p> uVision2包含一個(gè)器件數(shù)據(jù)庫(kù)(device database),可以自動(dòng)設(shè)置匯編器
90、、編譯器、連接定位器及調(diào)試器選項(xiàng),來滿足用戶充分利用特定 微控制器的要求。此數(shù)據(jù)庫(kù)包含:片上存儲(chǔ)器和外圍設(shè)備的信息,擴(kuò)展數(shù)據(jù)指針(extra data pointer)或者加速器(mathaccelerator)的特性。uVision2可以為片外存儲(chǔ)器產(chǎn)生必要的連接選項(xiàng):確定起始地址和規(guī)模[13]。 </p><p><b> (2) 集成功能</b></p><p&g
91、t; uVision2的強(qiáng)大功能有助于用戶按期完工。 </p><p> 集成源極瀏覽器利用符號(hào)數(shù)據(jù)庫(kù)使用戶可以快速瀏覽源文件。用詳細(xì)的符號(hào)信息來優(yōu)化用戶變數(shù)存儲(chǔ)器;</p><p> 文件尋找功能:在特定文件中執(zhí)行全局文件搜索; </p><p> 工具菜單:允許在V2集成開發(fā)環(huán)境下啟動(dòng)用戶功能; </p><p> 可配置SVC
92、S接口:提供對(duì)版本控制系統(tǒng)的入口; </p><p> PC-LINT接口:對(duì)應(yīng)用程序代碼進(jìn)行深層語(yǔ)法分析; </p><p> Infineon的EasyCase接口:集成塊集代碼產(chǎn)生; </p><p> Infineon的DAVE功能:協(xié)助用戶的CPU和外部程序。DAVE工程可被直接輸入uVision2。</p><p> 4.
93、2.3 編輯器和調(diào)試器</p><p> (1) 源代碼編輯器 </p><p> uVision2編輯器包含了所有用戶熟悉的特性。彩色語(yǔ)法顯像和文件辯識(shí)都對(duì)C源代碼進(jìn)行和優(yōu)化??梢栽诰庉嬈鲀?nèi)調(diào)試程序,它能提供一種自然的調(diào)試環(huán)境,使你更快速地檢查和修改程序。 </p><p><b> (2) 斷點(diǎn) </b></p><
94、;p> uVision2允許用戶在編輯時(shí)設(shè)置程序斷點(diǎn)(甚至在源代碼未經(jīng)編譯和匯編之前),用戶啟動(dòng)V2調(diào)試器之后,斷點(diǎn)即被激活。斷點(diǎn)可設(shè)置為條件表達(dá)式,變量或存儲(chǔ)器訪問,斷點(diǎn)被觸發(fā)后,調(diào)試器命令或調(diào)試功能即可執(zhí)行。 </p><p> 在屬性框(attributes column)中可以快速瀏覽斷點(diǎn)設(shè)置情況和源程序行的位置,代碼覆蓋率信息可以讓你區(qū)分程序中已執(zhí)行和未執(zhí)行的部分。 </p>&
95、lt;p><b> 調(diào)試函數(shù)語(yǔ)言 </b></p><p> uVision2中,你可以編寫或使用類似C的數(shù)語(yǔ)言進(jìn)行調(diào)試。 </p><p> 內(nèi)部函數(shù):如printf, memset, rand及其它功能的函數(shù); </p><p> 信號(hào)函數(shù):模擬產(chǎn)生CPU的模擬信號(hào)和脈沖信號(hào); </p><p> 用
96、戶函數(shù):擴(kuò)展指令范圍,合并重復(fù)動(dòng)作。 </p><p><b> 變量和存儲(chǔ)器 </b></p><p> 用戶可以在編輯器中選中變呈來觀察其取值。雙層窗口顯示,可進(jìn)行以下調(diào)整: </p><p> 當(dāng)前函數(shù)的局部變量; </p><p> 用戶在兩個(gè)不同watch窗口頁(yè)面上的自定義變量;</p>
97、<p> 堆棧調(diào)用(call stack)頁(yè)面上的調(diào)用記錄(樹)(call tree); </p><p> 不同格式的四個(gè)存儲(chǔ)區(qū)[14]。 </p><p> 4.2.4 測(cè)試程序</p><p> uVision2調(diào)試器具備所有常規(guī)源極調(diào)試,符號(hào)調(diào)試特性以及歷史跟蹤,代碼覆蓋,復(fù)雜斷點(diǎn)等功能。DDE界面和shift語(yǔ)言支持自動(dòng)程序測(cè)試。<
98、/p><p> CPU和外設(shè)模擬裝置 </p><p> uVision2為8051及衍生產(chǎn)品提供了高速CPU模擬功能和片上擴(kuò)展口.在對(duì)話框內(nèi)可直接觀察和修改I/O值,也可以用預(yù)裝的C-LIKE宏指令書寫符號(hào)函數(shù)來提供動(dòng)態(tài)輸入。 </p><p> (2) 目標(biāo)監(jiān)控器 </p><p> uVision2含一個(gè)可配置的監(jiān)控器,可測(cè)試目標(biāo)器
99、件上的軟件體。監(jiān)控器用uVision2的調(diào)試器直接工作,可支持代碼區(qū)。它要求目標(biāo)系統(tǒng)具備6字節(jié)堆棧空間,6KB的代碼ROM和256字節(jié)Xdata RAM。 </p><p> (3) MCB517/251啟動(dòng)工具包 </p><p> 在開始一項(xiàng)8051工程時(shí),MCB啟動(dòng)工具會(huì)對(duì)你有很大幫助。每一個(gè)啟動(dòng)工具包括一套2K字節(jié)的開發(fā)工具和許多可快速運(yùn)行的舉例程序。用戶可在檢測(cè)8051性能
100、的同時(shí),查看開發(fā)工具的可行性。 </p><p> MCB517AC板含高性能InfineonC517A單片機(jī),它提供標(biāo)準(zhǔn)8052外圍設(shè)備和A/D轉(zhuǎn)換器,PWM,搜索/比較,8位數(shù)據(jù)指針,一個(gè)高速運(yùn)算單元[15]。同時(shí)包含對(duì)81C90CAN控制器和代碼區(qū)的支持。本次設(shè)計(jì)軟件采用了C語(yǔ)言程序編寫,并在Keil uVision2開發(fā)環(huán)境下編譯、調(diào)試。</p><p> 4.2.5 Keil
101、 C編譯步驟</p><p> Keil uVision2 C51軟件是目前功能最強(qiáng)大的單片機(jī)C語(yǔ)言集成開發(fā)環(huán)境,這里介紹簡(jiǎn)單的編譯步驟。</p><p> 運(yùn)行Keilc51進(jìn)入編輯界面,如圖4.1所示。</p><p> 圖4.1 Keilc51編輯界面</p><p> 首先進(jìn)入菜單project/new project建立一個(gè)
102、新工程,如圖4.2所示。</p><p> 圖4.2 建立新工程</p><p> 選擇要保存的路徑,輸入工程文件的名字,如圖4-3所示。</p><p><b> 圖4.3 保存路徑</b></p><p> 根據(jù)使用的單片機(jī)選擇相應(yīng)的型號(hào),如圖4.4所示。</p><p> 圖4.4
103、 選擇單片機(jī)型號(hào)</p><p> (5) 單擊“Target 1”前面的“+”號(hào),然后在“Source Group 1”上單擊右鍵,彈出如圖4.5所示界面加入源文件。如還沒有源文件請(qǐng)先進(jìn)入菜單File/New生成一個(gè)*.C格式的文件。</p><p> 圖4.5 加入源文件界面</p><p> (6) 進(jìn)行輸出文件設(shè)置,進(jìn)入菜單project/option
104、s for target選擇OUTPUT選項(xiàng)卡,勾選Crest HEX File項(xiàng),如圖4.6所示。</p><p> 圖4.6 輸出文件設(shè)置</p><p> (7) 程序編寫完成后進(jìn)入菜單Project/Build target編譯工程,如圖4.7所示。生成的*.HEX文件即可作為下載程序使用[13]。</p><p><b> 圖4.7 生成文
105、件</b></p><p> 4.3 基于單片機(jī)的GPS軟件設(shè)計(jì)思路</p><p> 該GPS設(shè)計(jì)的核心部分是GPS接收模塊與單片機(jī)的通訊,以及單片機(jī)將收到的信息篩選編排顯示位置后送到LCD液晶顯示模塊顯示。</p><p> 在設(shè)計(jì)該軟件時(shí)采用了模塊化的思想,之所以采用模塊化的設(shè)計(jì)思想,主要是想到了軟件模塊化后方便軟件的調(diào)試,同時(shí)也方便了該軟件
106、的移植,在不同的硬件平臺(tái)上運(yùn)行該軟件只需要更改相應(yīng)的軟件模塊就可以實(shí)現(xiàn)。該軟件模塊設(shè)計(jì)分為液晶模塊初始化模塊,GPS數(shù)據(jù)接收模塊,單片機(jī)模塊這三個(gè)主要模塊。其程序流程圖如圖4.8所示。</p><p> 圖 4.8軟件程序流程圖</p><p> 4.4 模塊軟件設(shè)計(jì)</p><p> 4.4.1 液晶模塊初始化模塊</p><p>
107、 在該設(shè)計(jì)中所使用的是12864液晶顯示模塊,其初始化程序如下所示:</p><p> #include "LCD.h"</p><p> void clr_screen()</p><p><b> {</b></p><p> Lcd_WriteCmd(0x34); //擴(kuò)充指
108、令操作</p><p> delay(5); </p><p> Lcd_WriteCmd(0x30); //基本指令操作</p><p> delay(5); </p><p> Lcd_WriteCmd(0x01); //清屏 </p><p> delay(5); &l
109、t;/p><p><b> }</b></p><p> void Lcd_WriteCmd(uchar cmd)</p><p> { </p><p> LCD_RS = 0;</p><p> LCD_RW = 0;</p>
110、<p> LCD_EN = 0;</p><p><b> _nop_();</b></p><p><b> _nop_(); </b></p><p><b> P0 = cmd;</b></p><p> DelayNOP();</p>
111、<p> LCD_EN = 1;</p><p> DelayNOP();</p><p> LCD_EN = 0; </p><p><b> }</b></p><p> void Lcd_WriteDat(uchar dat)</p><p> {
112、 </p><p> LCD_RS = 1;</p><p> LCD_RW = 0;</p><p> LCD_EN = 0;</p><p><b> P0 = dat;</b></p><p> DelayNOP();</p><
113、;p> LCD_EN = 1;</p><p> DelayNOP();</p><p> LCD_EN = 0; </p><p><b> }</b></p><p> void Lcd_Init(void)</p><p><b> { </b><
114、;/p><p> LCD_PSB = 1; //并口方式</p><p> Lcd_WriteCmd(0x34); //擴(kuò)充指令操作</p><p><b> delay(5);</b></p><p> Lcd_WriteCmd(0x30); //基本指令操作</p&
115、gt;<p><b> delay(5);</b></p><p> Lcd_WriteCmd(0x0C); //顯示開,關(guān)光標(biāo)</p><p><b> delay(5);</b></p><p> Lcd_WriteCmd(0x01); //清除LCD的顯示內(nèi)容</p&g
116、t;<p><b> delay(5);</b></p><p><b> }</b></p><p> void Lcd_SetPos(uchar X,uchar Y)</p><p> { </p><p> uchar
117、 pos;</p><p><b> if (X==0)</b></p><p><b> {X=0x80;}</b></p><p> else if (X==1)</p><p><b> {X=0x90;}</b></p><p> el
118、se if (X==2)</p><p><b> {X=0x88;}</b></p><p> else if (X==3)</p><p><b> {X=0x98;}</b></p><p> pos = X+Y ; </p><p> Lcd_WriteC
119、md(pos); //顯示地址</p><p><b> }</b></p><p> void Lcd_DispLine(uchar line, uchar pos, uchar *str)</p><p><b> {</b></p><p> int i = 0;</p&
120、gt;<p> Lcd_SetPos(line, pos);</p><p> while (str[i] != '\0')</p><p><b> {</b></p><p> Lcd_WriteDat(str[i]);</p><p><b> i++;</b
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的gps定位信息顯示系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的gps定位信息顯示系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的gps定位信息顯示系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的gps定位信息顯示系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---單片機(jī)控制的gps定位系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的交通信息顯示系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的交通信息顯示系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)gps定位系統(tǒng)的設(shè)計(jì)
- 基于單片機(jī)的gps定位系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 基于單片機(jī)的gps定位系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 基于單片機(jī)的gps定位系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的旋轉(zhuǎn)顯示系統(tǒng)
- 基于單片機(jī)的gps定位系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 基于單片機(jī)的gps定位系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)led滾動(dòng)顯示系統(tǒng)設(shè)計(jì)
- 簡(jiǎn)易gps定位信息顯示系統(tǒng)的畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的gps畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的公交報(bào)站顯示系統(tǒng)
- 基于單片機(jī)的gps定位信息系統(tǒng)
- 單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)控制的模擬電梯顯示
評(píng)論
0/150
提交評(píng)論