




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 密級: 題 目:四軸飛行器的GPS導航系統設計學 院: 系 專業班級: 學生姓名: 學號: 指導教師: 職稱: 起訖日期: 目錄摘 要1第一章 緒論31.1 四軸飛行器定義31.2 國內外研究現狀及發展趨勢3第二章 四軸飛行器GPS導航模塊分析實現設計52.1 GPS導航系統整體實現程序流程圖52.2 GPS導航系統實現方向框圖52.3 GPS導航模塊介紹62.4 GPS導航模塊協議信息接收分析設計62.5 GPS導航模塊協議信息提取設計92.6 LCD12864液晶顯示設計102.7 按鍵響應設計10第三章 四軸飛行器GPS導航模塊硬件設計113.1 最小系統硬件設計113.1.1 單片機
2、STC89C52113.1.2 單片機晶振部分123.1.3 單片機復位部分133.1.4 電源模塊部分133.1.5 輕觸按鍵控制部分143.2 12864液晶顯示硬件設計143.3 GPS導航模塊硬件設計17第四章 結束語184.1 展望184.2 小結與體會18參考文獻19附錄20目錄內容:中文宋體,英文和數字Times New Roman,小四頁碼編號:摘要,Abstract使用頁碼“I,II,”;正文開始使用頁碼“1,2,3,”;小節標題左側縮進1字符;頁碼數字居中對齊 摘要四軸飛行器的GPS導航系統設計摘 要在四軸飛行器誕生之前,如某地發生災害,救援人員到達現場路途艱辛,派無人機探
3、路雖可以節省時間成本很高,動輒幾十萬。而且一些地方要求微小的操作空間,這時四軸飛行器的優勢就凸顯出來。但同時,在一些如氣象部門或者測繪部門等等的四軸飛行器的使用中,四軸飛行器的一些短板就日益凸現出來。例如飛行器的續航問題,飛行規劃問題等。在一些沒有導航儀的飛行器上我們想知道飛行器的位置我們都無從知曉。對于此問題的解決辦法就是給飛行器安裝一個GPS導航儀并配備自動導航系統。下文就是關于基于GPS的四軸飛行器的導航系統的設計。本文致力于研究四軸飛行器在GPS導航的前提下能夠實時顯示飛行器的當前時間,位置有經度和緯度,海拔和速度信息。為以后四軸飛行器的自主導航研究打下基礎。本文的重要步驟如下:(1)
4、 讀取U-blox公司的VK1612U7M3型GPS導航模塊從衛星接收的數據并分析提取我們需要的時間、位置、速度等信息。(2) 把從GPS模塊提取的信息經過MCU處理后由LCD12864液晶直觀的顯示出來,并且能通過按鍵切換不同的顯示界面。關鍵詞:GPS,LCD12864,四軸飛行器注意格式1AbstractThe Design of GPS navigation system for QuadrotorAbstractAbstract: Before the invention of quadrotor, It's hard for rescue workers to arrive
5、if a disaster occurs. Sending an UAV can be quick but it usually costs a lot, even hundreds of thousands. Some places require small operating space, then the advantages quadrotor would stand out.The use of quadrotor has been in lots of area such as the meteorological department or surveying and mapp
6、ing departments. But at the same time, its disadvantages such as endurance and path planning come out gradually. We have no way to figure out the location of some aircrafts without navigator. We can solve this problem by installing a GPS navigator on the aircraft with an automatic navigation system.
7、 In the next, I give my design on GPS-based navigation system of the quadrotor.In this paper, we were devoted to find out if the quadrotor equipped with GPS navigation able to show the real-time and the position including longitude ,latitude, altitude and speed information during the flight. My rese
8、arch will lay great foundation for future research of quadrotor autonomous navigation. I do it as follows:(1) Read the U-blox company's GPS navigation data of VK1612U7M3 received from the satellite and analyze the extraction time we need, location, speed and other information.(2) Handle the info
9、rmation extracted from the GPS module with MCU, then visual displays it with LCD12864, switching the key can get different displays.Keywords: GPS,LCD12864,quadrotor.2第一章 緒論第一章 緒論1.1 四軸飛行器定義圖1-1 四軸飛行器四軸飛行器是微型飛行器的其中一種,也是一種智能機器人。其構造特點是在它的四個角上各裝有一旋翼,由電機分別帶動,葉片可以正傳,也可以反轉。為了保持飛行器的穩定飛行,在四軸飛行器上裝有3個方向的陀螺儀和3軸
10、加速度傳感器組成慣性導航模塊,通過電子調控器來保證其快速飛行。1.2 國內外研究現狀及發展趨勢四軸飛行器可搭載GPS、北斗導航系統、高清攝像頭、各種科研設備甚至武器系統,民用型的飛行器可執行災情調查救援任務;各種通訊中繼等。軍用的飛行器可執行高空定點偵查,情報搜尋以及武裝攻擊等高風險任務。在中國有一家世界級的全球頂尖的無人機飛行平臺和影像系統自主研發和制造商深圳市大疆創新科技有限公司(DJI),其成立于2006年,作為一家在無人飛行器控制系統及無人機解決方案的研發和生產商在全球處于領先地位,在全球有40多個國家都有它的客戶。通過大疆不斷的努力并致力于為無人機工業、行業用戶以及專業航拍應用提供性
11、能最、體驗最好的革命性智能解決方案和飛控產品。作為全球頂尖的無人機飛行平臺和影像系統自主研發和制造商,DJI大疆創新始終以領先的技術和尖端的產品為發展核心。從最早的商用飛行控制系統起步,逐步研發推出了ACE直升機飛控系統、多旋翼飛控系統、S1000筋斗云高畫質專業飛行平臺、多旋翼一體機Phantom、Ronin三軸手持云臺系統等產品系列。不僅填補了國內外多項技術空白,并成為全球同行業中領軍企業。目前,DJI以“飛行影像系統”為核心發展方向,通過多層次的空中照相機方案,帶給人類全新的飛行感官體驗,使得飛行在普羅大眾中皆能隨心所欲。下圖1-2為大疆無人機的幾款無人機產品。圖1-2 大疆無人機的幾款
12、無人機產品在國外,在德國,由德國MICRODRONES公司生產的型號MD4-200四旋翼飛行器如圖1-3,機體采用碳塑材料,因而它兼具輕巧和高強度的特點,同時該材料也使MD4-200可以抗電磁干擾。其AAHRS(高度、姿態和航向參考系統)使用了如下幾種傳感器:加速計、陀螺儀、磁力計、氣壓計、濕度計、溫度計。通過使用4個同步無刷直驅電馬達,飛行器的噪音非常小(當轉速小于2000轉/分鐘,在3米處噪音小于63分貝)。選配的GPS系統能夠實現空間位置鎖定與自動航點導航功能,還可以選擇以microSD卡作為記錄器的飛行記錄儀來實時記錄和分析飛行數據,所有重要的飛行數據都可以下載到數據中心,包括電池狀態
13、、高度、姿態、位置、飛行時間等。MD4-200還具有安全保護措施以避免墜毀,它能夠在電量不足和失去控制信號時自主降落。目前MD4-200可以完成一次充電不低于20分鐘的飛行時間。2006年4月在德國上市以來,短短的16個月里,在歐洲已經銷售了超過250套MD4-200四旋翼飛行器系統,它們被用于許多不同領域:航空攝影、空中考古、空中監視、植被調查、消防救災、邊境控制、警察、特種部隊和軍隊等等。圖1-3 德國MICRODRONES公司生產的型號MD4-200四旋翼飛行器31第二章 四軸飛行器GPS導航模塊分析實現設計第二章 四軸飛行器GPS導航模塊分析實現設計2.1 GPS導航系統整體實現程序流
14、程圖程序流程圖是人們對解決程序問題的方法,思路或者算法的一種描述。流程圖的優點是:采用簡單規范的符號,畫法簡單。結構清晰,邏輯性強。便與描述,容易理解。程序流程圖不能隨意畫,一旦隨意畫就會顯得程序結構雜亂無章,這樣的程序讓人非常難以理解和接受,并且容易出錯。因此程序必須遵守三個結構:順序結構,選擇結構,循環結構。在流程圖中,不同的圖形代表著不同的含義。圖2-1為本設計的程序流程:圖2-1 程序流程圖2.2 GPS導航系統實現方向框圖GPS導航系統的實現方案框圖如圖2-2所示,系統采用STC89C52RC單片機作為控制器。顯示界面采用12864點陣液晶顯示屏顯示GPS芯片接收到的定位數據、時間數
15、據以及單片機發出的導航數據。GPS模塊型號為U-blox公司的VK1612U7M3型。圖2-2 GPS導航系統的實現方案框圖在本課題中,主要研究內容有3個方面:GPS導航系統設計、按鍵響應設計、LCD12864同步顯示設計。2.3 GPS導航模塊介紹GPS導航模塊設計:GPS模塊型號為U-blox公司的VK1612U7M3型。該模塊的優勢是靈敏度高,跟蹤靈敏度-165dBm,捕捉靈敏度-148dBm,功耗在60mw左右,通訊方式是TTL電平(默認波特率9600)。冷啟動平均33秒,熱啟動平均只要1秒。在自動模式下精度小于2.5m,在SBAS模式下精度小于3m。設置一個按鍵,用以切換不同界面。圖
16、2-3為GPS導航模塊實物圖:圖2-3 GPS導航模塊實物圖2.4 GPS導航模塊協議信息接收分析設計在上文中已經介紹了GPS導航模塊,在下文中主要介紹GPS導航模塊的工作方式,數據分析提取方式。GPS定位系統的工作原理是由地面主控站收集各監測站的觀測資料和氣象信息,計算各衛星的星歷表及衛星鐘改正數,按規定的格式編輯導航電文,通過地面上的注入站向GPS衛星注入這些信息。測量定位時,用戶可以利用接收機的儲存星歷得到各個衛星的粗略位置。根據這些數據和自身位置,由計算機選擇衛星與用戶聯線之間張角較大的四顆衛星作為觀測對象。觀測時,接收機利用碼發生器生成的信息與衛星接收的信號進行相關處理,并根據導航電
17、文的時間標和子幀計數測量用戶和衛星之間的偽距。將修正后的偽距及輸入的初始數據及四顆衛星的觀測值列出3個觀測方程式,即可解出接收機的位置,并轉換所需要的坐標系統,以達到定位目的。如此GPS芯片就能接收從衛星發來的一系列GPS數據信息。我們需要的就是從這些數據中分析提取出我們需要的時間、位置、速度信息。該協議信息包括GGA位置測定系統的定位資料、GSV導航衛星資料、RMC導航衛星特定精簡資料、VTG方向及速度等相關資料。這里以接收GGA數據為例,給出的格式如下:$GPGGA,hhmmss,dddmm.mmmm,a,dddmm.mmmm,a,x,xx,x.x,x.x,M,M,x.x,xxxx*CS例
18、1:$GPGGA,153925.00,2839.70832,N,11547.48216,E,1,05,1.96,58.0,M,-4.3,M,*78圖2-4.1 坐標定位通過下文所述可讀出上面例子中的位置信息為:北緯28度39.70832分,西經115度47.48216分,格林威治時間為:15點39分25.00秒。GPS數據格式:、GPS固定數據輸出語句($GPGGA);這是一幀GPS定位的主要數據,也是使用最廣的數據。$GPGGA語句包括17個字段:語句標識頭,世界時間,緯度,緯度半球,經度,經度半球,定位質量指示,使用衛星數量,水平精確度,海拔高度,高度單位,大地水準面高度,高度單位,差分G
19、PS數據期限,差分參考基站標號,校驗和結束標記(用回車符<CR>和換行符<LF>),分別用14個逗號進行分隔。該數據幀的結構及各字段釋義如下:$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF>$GPGGA:起始引導符及語句格式說明(本句為GPS定位數據);<1>UTC時間,格式為hhmmss.sss;
20、<2>緯度,格式為ddmm.mmmm(第一位是零也將傳送);<3>緯度半球,N或S(北緯或南緯);<4>經度,格式為dddmm.mmmm(第一位零也將傳送);<5>經度半球,E或W(東經或西經);<6>定位質量指示,0=定位無效,1=定位有效;<7>使用衛星數量,從00到12(第一個零也將傳送);<8>水平精確度,0.5到99.9;<9>天線離海平面的高度,-9999.9到9999.9米,M指單位米;<10>大地水準面高度,-9999.9到9999.9米,M指單位米;<11>
21、差分GPS數據期限(RTCMSC-104),最后設立RTCM傳送的秒數量;<12>差分參考基站標號,從0000到1023(首位0也將傳送);*語句結束標志符;xx從$開始到*之間的所有ASCII碼的異或校驗和;<CR>回車;<LF>換行;、可視衛星狀態輸出語句($GPGSV);例2:$GPGSV,3,1,11,02,28,279,26,03,14,040,27,05,06,215,06,57,331,27*79標準格式:$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<
22、;7>,<4>,<5>,<6>,<7>*hh<CR><LF>各部分含義為:<1>總的GSV語句電文數:3;<2>當前GSV語句號:1;<3>可視衛星總數:11;<4>衛星號:02;<5>仰角:28度;<6>方位角:279度;<7>信噪比:26dB(后面依次為第03,05,06號衛星的信息);*總和校驗域;hh總和校驗數:79;<CR>回車;<LF>換行;注:每條語句最多包括四顆衛星的信息,每顆衛星的信息有四個數
23、據項,即:<4>衛星號,<5>仰角,<6>方位角,<7>信噪比。、GPRMC(建議使用最小 GPS 數據格式);例3:$GPRMC,153925.00,A,2839.70832,N,11547.48216,E,0.189,260415,A*7C通過下文可讀出:當前日期為2015年04月26日,相對位移速度為0.189m/s。$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<1
24、1><CR><LF><1>標準定位時間(UTCtime)格式:時時分分秒秒.秒秒秒(hhmmss.sss);<2>定位狀態,A=數據可用,V=數據不可用;<3>緯度,格式:度度分分.分分分分(ddmm.mmmm);<4>緯度區分,北半球(N)或南半球(S);<5>經度,格式:度度分分.分分分分;<6>經度區分,東(E)半球或西(W)半球;<7>相對位移速度,0.0至1851.8knots<8>相對位移方向,000.0至359.9度。實際值;<9>日期,格式:
25、日日月月年年(ddmmyy);<10>磁極變量,000.0至180.0;<11>度數;<12>Checksum.(檢查位);從衛星接收到的每一條協議信息就可以根據以上表格對應查詢。$做信息接收標志位進行中斷。圖2-4為GPS導航模塊從衛星接收的協議信息通過串口調試助手顯示出來。圖2-4.2 調試接收數據2.5 GPS導航模塊協議信息提取設計在接收并分析了GPS導航模塊與衛星之間的協議信息后,接下來就是提取接受信息中的我們需要的時間、位置、速度信息,如圖2-4。時間信息包含年月日、時分秒,分別可以根據GPS數據格式$GPRMC和$GPGGA中提取;位置信息包含
26、緯度和經度可分別在$GPGGA中提取;速度信息可在$GPRMC中提取。故在單片機中可設置串口中斷,當串口接收到$這個字符時代表單片機接收到協議信息并開始準備接收從GPS模塊傳送過來的數據,單片機串口中斷中含有寄存器可以保存接收到的數據信息,當接收到一定量的數據后停止接收并從中提取對應字符數據。2.6 LCD12864液晶顯示設計把GPS導航模塊接收到的協議信息經過處理后得到我們需要的時間、位置、速度信息后通過12864顯示出來。并通過按鍵來切換不同的顯示界面。2.7 按鍵響應設計通過按鍵來切換12864不同的顯示界面。第三章 四軸飛行器GPS導航模塊硬件設計第三章 四軸飛行器GPS導航模塊硬件
27、設計3.1 最小系統硬件設計3.1.1 單片機STC89C52STC89C52是STC公司生產的一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。STC89C52使用經典的MCS-51內核,但也做了很多改進使得芯片具有傳統51單片機不具備的功能。STC89C52具有8k字節Flash,512字節RAM,32位I/O口線,看門狗定時器,內置4KB EEPROM,MAX810復位電路,3個16位定時器/計數器,4個外部中斷,一個7向量4級中斷結構,全雙工串行口,如圖3-1-1所示。圖3-1-1 單片機STC89C52以下為STC89C52的管腳說明:P0口:P0口為一個
28、8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫“1”時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的低八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。 P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器
29、可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,
30、P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為STC89C52的一些特殊功能口:P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2 /INT0(外部中斷0);P3.3 /INT1(外部中斷1);P3.4 T0(記時器0外部輸入);P3.5T1(記時器1外部輸入);P3.6 /WR(外部數據存儲器寫選通);P3.7 /RD(外部數據存儲器讀選通);P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節。在FL
31、ASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP:當/EA保持低電平
32、時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高
33、低電平要求的寬度。3.1.2 單片機晶振部分如圖3-1-2所示,為單片機的晶振電路部分。其中C1、C2為33pF的電容,它是振蕩回路交聯電容,如果沒這兩個電容的話,振蕩部分會因為沒有回路而停振。電路就不能正常工作。Y1就是11.0592MHZ的晶振。一般來說單片機內部有一個帶反饋的線性反相放大器,外界晶振(或接陶瓷振蕩器)和電容就可組成振蕩器,晶振結合單片機內部的電路,產生單片機所必須的時鐘頻率,單片機的一切指令的執行都是建立在這個基礎上的。可以說晶振就是單片機的心臟,為單片機工作提供動力。圖3-1-2 單片機晶振電路部分3.1.3 單片機復位部分如圖3-1-3所示,為單片機的復位電路部分。復
34、位電路,就是利用它把電路恢復到起始狀態。當電源低于單片機正常工作電壓,影響單片機工作;程序跑飛,時鐘失步等情況下需要使單片機復位。該復位電路為按鍵復位,按鍵復位需要人為在復位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源VCC之間接一個按鈕。當人為按下按鈕時,則VCC的+5V電平就會直接加到RST端。按鍵復位的電路如所示。由于人的動作再快也會使保持按鈕接通達幾十毫秒,所以完全能夠滿足復位的時間要求。圖3-1-3 單片機復位電路部分3.1.4 電源模塊部分如圖3-1-4所示,為單片機的電源模塊部分。電源模塊包括一個四腳直排針(P2),一個藍白自鎖開關(K1),一個1K限流電阻(R5
35、)和一個發光二極管(L1)。電源模塊能夠為電路提供電源。圖3-1-4 電源模塊部分3.1.5 輕觸按鍵控制部分如圖3-1-5所示,為輕觸按鍵控制部分。其中S1為12864顯示界面切換按鈕,按下12864會從時分秒、緯度和經度顯示界面切換到年月日和速度顯示界面。其余按鍵為備用按鍵圖3-1-5 輕觸按鍵控制部分3.2 12864液晶顯示硬件設計液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來連接微處理機:8-位并行及
36、串行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。外觀尺寸:93×70×12.5mm。視域尺寸:73×39mm,如圖3-1-6.1所示為12864液晶外形尺寸圖。圖3-1-6.1 外形尺寸圖LCD12864引腳說明:引腳號引腳名稱方向功能說明1VSS-模塊的電源地2VDD-模塊的電源正端3V0-LCD驅動電壓輸入端4RS(CS)H/L并行的指令/數據選擇信號;串行的片選信號5R/W(SID)H/L并行的讀寫選擇信號;串行的數據口6E(CLK)H/L并行的使能信號;串行的同步時鐘7DB0H/L數據08DB1H/L數據19DB2H/L數據210DB3H/
37、L數據311DB4H/L數據412DB5H/L數據513DB6H/L數據614DB7H/L數據715PSBH/L并/串行接口選擇:H-并行;L-串行16NC空腳17/RETH/L復位(低電平有效)18NC空腳19LED_A-背光源正極(LED+5V)20LED_K-背光源負極(LED-OV)如圖3-1-6.2所示,為本實驗的12864液晶顯示部分。圖3-1-6.2 12864液晶顯示部分當模塊在接受指令前,微處理順必須先確認模塊內部處于非忙碌狀態,即讀取BF標志時BF需為0,方可接受新的指令;如果在送出一個指令前并不檢查BF標志,(一般在輸入每天指令前加個delay)那么在前一個指令和這個指令
38、中間必須延遲一段較長的時間,即是等待前一個指令確實執行完成。使用的液晶具體指令集如下:1、 清除顯示RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLLH功能:清除顯示屏幕,把DDRAM位址計數器調整為“00H”。2、位址歸位RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLHX功能:把DDRAM位址計數器調整為“00H”,游標回原點,該功能不影響顯示DDRAM。3、位址歸位RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLHI/DS功能:執行該命令后,所設置的行將顯示在屏幕的第一行。顯示起始行是由Z地址計數器控制的,該命令自動將
39、A0-A5位地址送入Z地址計數器,起始地址可以是0-63范圍內任意一行。Z地址計數器具有循環計數功能,用于顯示行掃描同步,當掃描完一行后自動加一。4、顯示狀態開/關RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLHDCB功能:D=1;整體顯示ONC=1;游標ONB=1;游標位置ON。5、游標或顯示移位控制RWRSDB7DB6DB5DB4DB3DB2DB1DB0LLLLLHS/CR/LXX功能:設定游標的移動與顯示的移位控制位:這個指令并不改變DDRAM的內容。6、讀取忙碌狀態(BF)和位址RWRSDB7DB6DB5DB4DB3DB2DB1DB0LHBFAC6AC5AC4AC
40、3AC2AC1AC0功能:讀取忙碌狀態(BF)可以確認內部動作是否完成,同時可以讀出位址計數器(AC)的值。其中漢字顯示坐標為:X坐標Line180H81H82H83H84H85H86H87HLine290H91H92H93H94H95H96H97HLine388H89H8AH8BH8CH8DH8EH8FHLine498H99H9AH9BH9CH9DH9EH9FH使用這些代碼可以使LCD12864顯示出我們需要的數據。如圖3-1-6.3為實際效果顯示。圖3-1-6.3 12864液晶實際效果顯示3.3 GPS導航模塊硬件設計GPS導航模塊是從外購買所得,直接拿來使用即可。使用+5V供電,模塊R
41、XD口與51單片機TXD口相連,模塊TXD口與單片機RXD口相連。另初次定位需要一定時間,請耐心等待,當板子上的D2信號指示燈由暗變為閃爍后表示已經接收到定位信息,可通過串口調試助手來觀察接收到的數據。如圖2-3所示。第四章 結束語第四章 結束語4.1 展望目前使用的GPS導航模式還太單一,在多干擾和遠距等復雜環境下還顯無力。還有例如慣性導航,視覺導航等等由于時間和成本限制這些功能都沒有,以后有機會希望可以做出一架功能完整的四軸飛行器。4.2 小結與體會本文為四軸飛行器GPS導航模塊設計,首先對市場上的四軸飛行器的導航模式進行考察,大致了解了四軸飛行器的導航方式和原理,然后決定了四軸飛行器導航
42、模式,軟硬件設計。基于本科在熊劍老師實驗室學習的經驗使用自己最熟悉的51單片機,使用串口進行通訊。從這次畢業設計中體會到當今高精尖技術也是最基本的技術一點一滴的積累起來的,只有把最基本的技術學習通透才能慢慢向高精尖技術發展。時刻鞭策著在這條路上奮斗的我。參考文獻參考文獻1 蔡體菁,劉瑩,宋軍,等.嵌入式GPS/MIMU/磁羅盤組合導航系統J.儀器儀表學報,2010,31(12):26952699.2 古月徐,楊忠,龔華軍.基于DSP的飛行控制器的設計,J.自動化技術與應用.2005,24(2):2832.3 朱文華.GPS定位精度誤差的分析研究J.電子元器件應用,2010(6):7274.4
43、劉曉杰,趙曉暉,顧海軍等.微小型四旋翼無人機實時嵌入式控制系統設計與實現J.電子技術應用,2009(5):3538.5 嚴雋,高金源,屠巴寧.小型無人機水平導航研究J.飛行力學,2000,18,2427.6 陳亞萍,陳明.基于DSP和CPLD的液晶顯示控制器的設計.J.計算機測量與控制,2007,15(4):482484.7 嚴雋,高金源,屠巴寧.小型無人機水平導航研究J.飛行力學,2000,18,2427.8 謝昭莉,蔣濤,劉亮.基于ARM嵌入式系統的VGA接口的研究與設計.J.液晶與顯示,2007,22(6):761764.參考文獻內容:中文宋體,英文Times New Roman,四號,
44、1.35倍行距,參考文獻應在文中相應地方按出現順序標引。附錄附錄程序太多,主要內容不夠。編寫的部分C語言程序如下:#include "main.h"#include "LCD12864.h"#include "GPS.h"/定義變量unsigned char KEY_NUM = 0;bit Page = 0;sbit P12=P12;unsigned char xdata Display_GPGGA_Buffer68;unsigned char xdata Display_GPRMC_Buffer68;bit Flag_OV = 0;
45、bit Flag_Calc_GPGGA_OK = 0;bit Flag_Calc_GPRMC_OK = 0;/*/主函數/*void main()unsigned char i = 0;LCD12864_Reset();/初始化液晶LCD12864_HAIZI_SET();/設置為普通模式Delay_ms(100);LCD12864_NoWaitIdle_COM_Write(0x80);/指針設置LCD12864_write_word("歡迎使用GPS 導航");LCD12864_NoWaitIdle_COM_Write(0x90);/指針設置LCD12864_write_
46、word(" 初始化進行中 ");LCD12864_NoWaitIdle_COM_Write(0x88);/指針設置LCD12864_write_word(" Loading.");LCD12864_NoWaitIdle_COM_Write(0x98);/指針設置LCD12864_write_word(" (*_*) ");Uart_Init();while(1)Scan_Key();if(Flag_GPS_OK = 1 && RX_Buffer4 = 'G' && RX_Buffer6
47、 = ',' && RX_Buffer13 = '.')/確定是否收到"GPGGA"這一幀數據for( i = 0; i < 68 ; i+)Display_GPGGA_Bufferi = RX_Bufferi;Hour = (Display_GPGGA_Buffer7-0x30)*10+(Display_GPGGA_Buffer8-0x30)+8;/UTC時間轉換到北京時間UTC+8/0X30為ASCII碼轉換為數字if( Hour >= 24)/溢出Hour %= 24;/獲取當前HourFlag_OV = 1
48、;/日期進位elseFlag_OV = 0;Min_High = Display_GPGGA_Buffer9;Min_Low = Display_GPGGA_Buffer10;Sec_High = Display_GPGGA_Buffer11;Sec_Low = Display_GPGGA_Buffer12;Flag_Calc_GPGGA_OK = 1;if(Page = 0 && Flag_Calc_GPGGA_OK = 1)LED1 = LED1;Flag_Calc_GPGGA_OK = 0;LCD12864_NoWaitIdle_COM_Write(0x80);/設置指針
49、LCD12864_write_word("");/顯示內容LCD12864_Data_Write(Hour/10+0x30);LCD12864_Data_Write(Hour%10+0x30);LCD12864_write_word("時");LCD12864_Data_Write(Min_High);LCD12864_Data_Write(Min_Low);LCD12864_write_word("分");LCD12864_Data_Write(Sec_High);LCD12864_Data_Write(Sec_Low);LCD12
50、864_write_word("秒");LCD12864_write_word("");LCD12864_NoWaitIdle_COM_Write(0x90);/設置指針LCD12864_write_word("緯度:");/顯示內容LCD12864_Data_Write(Display_GPGGA_Buffer28);/N 或者 SLCD12864_Data_Write(' ');LCD12864_Data_Write(Display_GPGGA_Buffer17);/緯度LCD12864_Data_Write(Di
51、splay_GPGGA_Buffer18);/緯度LCD12864_write_word("°");LCD12864_Data_Write(Display_GPGGA_Buffer19);/緯度LCD12864_Data_Write(Display_GPGGA_Buffer20);/緯度LCD12864_write_word("' ");LCD12864_NoWaitIdle_COM_Write(0x88);/設置指針LCD12864_write_word("經度:");/顯示內容LCD12864_Data_Writ
52、e(Display_GPGGA_Buffer42);/E 或者 WLCD12864_Data_Write(Display_GPGGA_Buffer30);/經度LCD12864_Data_Write(Display_GPGGA_Buffer31);LCD12864_Data_Write(Display_GPGGA_Buffer32);LCD12864_write_word("°");LCD12864_Data_Write(Display_GPGGA_Buffer33);LCD12864_Data_Write(Display_GPGGA_Buffer34);LCD1
53、2864_write_word("' ");LCD12864_NoWaitIdle_COM_Write(0x98);/設置指針LCD12864_write_word("海拔: ");/顯示內容LCD12864_Data_Write(Display_GPGGA_Buffer54);LCD12864_Data_Write(Display_GPGGA_Buffer55);LCD12864_Data_Write(Display_GPGGA_Buffer56);LCD12864_Data_Write(Display_GPGGA_Buffer57);LCD1
54、2864_write_word("米");if(Flag_GPS_OK = 1 && RX_Buffer4 = 'M' && RX_Buffer52 = ',' && RX_Buffer59 = ',')/確定是否收到"GPRMC"這一幀數據for( i = 0; i < 68 ; i+)Display_GPRMC_Bufferi = RX_Bufferi;Year_High = Display_GPRMC_Buffer57;Year_Low = Dis
55、play_GPRMC_Buffer58;Month_High = Display_GPRMC_Buffer55;Month_Low = Display_GPRMC_Buffer56;Day_High = Display_GPRMC_Buffer53;Day_Low = Display_GPRMC_Buffer54;if(Flag_OV = 1)/有進位UTCDate2LocalDate();/UTC日期轉換為北京時間Flag_Calc_GPRMC_OK = 1;if(Page = 1 && Flag_Calc_GPRMC_OK = 1)LED1 = LED1;Flag_Calc_GPRMC_OK = 0;LCD12864_NoWaitIdle_COM_Writ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論