數(shù)字羅盤的設(shè)計_第1頁
數(shù)字羅盤的設(shè)計_第2頁
數(shù)字羅盤的設(shè)計_第3頁
數(shù)字羅盤的設(shè)計_第4頁
數(shù)字羅盤的設(shè)計_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

目錄0前言11總體方案設(shè)計21.1電子羅盤測量根本原理21.2課題分析21.3系統(tǒng)方案論證31.3.1數(shù)據(jù)采集模塊31.3.2主機控制模塊31.3.3結(jié)果顯示模塊42硬件電路設(shè)計52.1單片機系統(tǒng)52.2按鍵電路62.3GY—26模塊電路2.3GY—26模塊電路62.4液晶顯示模塊電路73軟件設(shè)計83.1主程序設(shè)計83.2GY-26模塊程序設(shè)計94調(diào)試分析104.1硬件調(diào)試104.2軟件調(diào)試115結(jié)論及進一步設(shè)想11參考文獻11課設(shè)體會13附錄1電路原理圖14附錄2程序清單15數(shù)字羅盤的設(shè)計王某某沈陽航空航天大學(xué)自動化學(xué)院摘要:本文設(shè)計了一種基于單片機控制的精確定向數(shù)字羅盤系統(tǒng)。使用GY—26羅盤模塊作為傳感器,并詳細介紹了其測向原理。系統(tǒng)采用8位STC89C52單片機作為主控芯片,LCD1602液晶顯示作為主輸出設(shè)備,外加幾個按鍵進行人機交互式操作。設(shè)定以正北方向為0o的一周。單片機獲取傳感器信息,經(jīng)過分析后通過液晶屏顯示模塊箭頭所指的正前方與地理北極的夾角,角度以順時針方向累加,實現(xiàn)0—360以0.1度的精度顯示。由按鍵控制模塊進行校準或者是恢復(fù)出廠設(shè)置,由程序設(shè)定磁補償角度的大小。該系統(tǒng)低功耗體積小,反響時間短,抗干擾能力強,便于攜帶,適用于各種應(yīng)用場合。關(guān)鍵詞:STC89C52單片機;GY—26模塊;LCD1602液晶顯示;磁補償前言現(xiàn)在應(yīng)用最為廣泛的導(dǎo)航儀器主要有兩種:陀螺儀和磁羅盤。能對地磁場測量偏離角度的儀器叫做磁羅盤。我國古代的四大創(chuàng)造之一指南針就是一個簡易的磁羅盤,它對整個人類社會開展做出了巨大奉獻,直到現(xiàn)在依然具有深遠的意義。到20世紀初,隨著工業(yè)的開展,羅盤制造工藝也得到了飛速的開展,材料的選擇和機械制造使得羅盤的性能有了顯著地提高。尤其是是機械式磁羅盤,現(xiàn)在某些情況下依然使用機械式磁羅盤。到了20世紀末,陀螺羅盤的問世,對于羅盤導(dǎo)航又是一場革命。羅盤感應(yīng)著地球的自轉(zhuǎn),磁性物質(zhì)對其幾乎沒有影響。使得陀螺羅盤的標度盤非常穩(wěn)定,讀取數(shù)據(jù)更加精確。當(dāng)代GPS雖然有廣泛的應(yīng)用,但是信號經(jīng)常被物體所遮擋,使其精度大打折扣。有效性也大大降低。據(jù)有關(guān)資料統(tǒng)計,在高樓林立城區(qū)和植被茂密的林區(qū),GPS信號的有效性僅為60%。并且在靜止的情況下,GPS也無法給出航向信息。因此迫切需要研究出一種低功耗,便于攜帶,內(nèi)置磁場感應(yīng)器,系統(tǒng)穩(wěn)定,并且能完成精確定向的微系統(tǒng),而本課題設(shè)計就是研究出一個數(shù)字電子羅盤,采用地磁場的工作原理,由于地磁大小和方向隨地點不同而不同,無論何時何地磁場的水平分量都嚴格的指向地磁北極,所以環(huán)境適應(yīng)性好,可以對GPS信號進行有效補償,保證導(dǎo)航定向信息100%有效,即使是在GPS信號失鎖后也能正常工作,做到“丟星不丟向”。本設(shè)計系統(tǒng)基于單片機開發(fā)平臺,選取GY-26型號的平面數(shù)字羅盤模塊,使用以51為內(nèi)核的超低功耗控制器STC89C52RC單片機作為控制系統(tǒng),設(shè)計出低功耗數(shù)字羅盤系統(tǒng),實現(xiàn)角度實時顯示的軟硬件設(shè)計方法。未來科技開展更加快速,相對磁場技術(shù)也會越來成熟,電子羅盤系統(tǒng)將朝著先進性、經(jīng)濟性、實用性、功能型的成熟完善的系統(tǒng)而開展!總體方案設(shè)計1.1電子羅盤測量根本原理磁場是一種看不見,而又摸不著的特殊物質(zhì),它具有波粒的輻射特性。磁體周圍存在磁場,磁體間的相互作用就是以磁場作為媒介的。電流、運動電荷、磁體或變化電場周圍空間存在的一種特殊形態(tài)的物質(zhì)。由于磁體的磁性來源于電流,電流是電荷的運動,因而概括地說,磁場是由運動電荷或電場的變化而產(chǎn)生的。而地球本身及其周圍空間存在著磁場,其主要局部是一個偶極場.地心磁偶極子軸線與地球外表的2個交點叫地磁極,地磁的南(北)極實際上是地心磁偶極子的北(南)極。地磁極與地理極相近但不重合,二者夾角約為11.5o。地磁場的強度為0.5至0.6高斯,其大小和方向隨地點(甚至隨時間)而異,無論何地磁場的水平分量永遠指向磁北,這是所有電子羅盤的制作根底。通過測量物體相對于地磁北的方位實現(xiàn)定向。早期利用地磁北定向的是機械式指南針,隨著數(shù)字技術(shù)的開展和磁傳感器研制水平的提高,電子羅盤獲得了較快開展。本次設(shè)計所用的電子羅盤通過磁傳感器中兩個相互垂直軸同時感應(yīng)地球磁場的磁分量,從而得出方位角度。圖1地球磁場分布圖1.2課題分析本次設(shè)計利用51單片機開發(fā)板及電子指南針模塊實現(xiàn)一數(shù)字羅盤的設(shè)計。要求掌握電子指南針模塊及其方位角度測量的工作原理,設(shè)計LCD顯示電路及指南針模塊的接口電路。在LCD顯示器上實現(xiàn)方位角度的實時顯示。另外,需要添加必要數(shù)量的按鍵進行人機交互操作。1.3系統(tǒng)方案論證數(shù)據(jù)采集模塊傳感器是本系統(tǒng)信號采集的關(guān)鍵部件,因此傳感器的選擇變的尤為重要。目前的電子羅盤傳感器主要分為磁通門、磁阻式和霍爾元件三種。磁通門傳感器是由一套環(huán)繞磁芯的線圈組成,該磁芯配有勵磁電路,能夠提供低本錢的磁場探測方法,但它們體積偏大、易碎、響應(yīng)時間慢?;魻栃?yīng)磁傳感器的優(yōu)點是體積小,重量輕,功耗小,價格廉價,接口電路簡單,特別適用于強磁場的測量。但是,它又有靈敏度低、噪聲大、溫度性能差等缺點。雖然有些高靈敏度或采取了聚磁措施霍爾器件也能用于測量地磁場,但一般都是用于要求不高的場合。磁阻傳感器現(xiàn)在已經(jīng)可以做成標準的集成芯片,并且產(chǎn)品也形成了系列。而使用磁阻傳感器的電子羅盤克服了磁通門羅盤的缺乏,具有體積小、重量輕、精度高、可靠性強、響應(yīng)速度快等優(yōu)點,是未來電子羅盤的開展方向。所以選擇磁阻傳感器。方案一:GY-26是一款低本錢平面數(shù)字羅盤模塊。輸入電壓低,功耗小,體積小。具有高性價比串口及IIC輸出格式。其工作原理是通過磁傳感器中兩個相互垂直軸同時感應(yīng)地球磁場的磁分量,從而得出方位角度,此羅盤以RS232協(xié)議,及IIC協(xié)議與其他設(shè)備通信。該產(chǎn)品精度高,穩(wěn)定性高。并切具有重新標定的功能,能夠在任意位置得到準確的方位角,其輸出的波特率是9600bps,有連續(xù)輸出與詢問輸出兩種方式,具有磁偏角補償功能,可適應(yīng)不同的工作環(huán)境。方案二:HMC5883磁阻傳感器。HMC5883是霍尼韋爾公司推出的三軸數(shù)字羅盤傳感器,專門為帶有一個數(shù)字接口的低場磁傳感器而設(shè)計,應(yīng)用于諸如低本錢羅盤和測磁學(xué)領(lǐng)域。采用三軸磁阻傳感器進行地球磁場矢量測量,雙軸加速傳感器可以傳感地球重力場中測量載體的姿態(tài),然后通過姿態(tài)坐標變換將磁阻傳感器沿載體坐標的測量信號變換到地平坐標系。其輸出為3路的差分模擬電壓值,差分值大約為幾毫伏,信號經(jīng)過調(diào)理電路把信號進行放大,再由模數(shù)轉(zhuǎn)換器進行放大和模數(shù)轉(zhuǎn)換。方案三:霍尼韋爾HMR3300?;裟犴f爾HMR3300擁有三軸磁場測量,兩軸加速度傳感器進行傾斜角補償,通過中央處理器實時解算航向,可以在任何方向上提供精確的航向信息,具有補償硬磁干擾,鐵磁物體干擾和離散磁場的功能,輸出校準后的高精度測量值,使得在極其惡劣的環(huán)境下也能提供準確的航向數(shù)據(jù)。另外其具有體積小、工作電壓范圍大,多種輸出方式,功耗低,高性價比等特點,可以將其安裝固定在多種方向和位置。根據(jù)設(shè)計要求,低本錢,功耗小,體積小,控制起來比擬簡單的平面數(shù)字羅盤GY-26更適合,所以選擇方案一。主機控制模塊現(xiàn)在的控制系統(tǒng)非常多,通常根據(jù)我們的實際需要,選擇控制系統(tǒng)??刂破魇窃O(shè)計數(shù)字電子羅盤的核心局部,MCU負責(zé)對傳感器采集的信號進行實時分析、處理,可以得到載體的姿態(tài)參數(shù),一般計算量較大。單片機是一種微型的控制器,是一個完整控制體系。單片機主要優(yōu)點有:控制功能強大、穩(wěn)定性好、價格廉價,在各行各業(yè)應(yīng)用都很普遍,單片機推動了各行各業(yè)的開展,使工業(yè)控制方法更加先進。有幾種不同系列型號的單片機可供選擇。方案一:AT89C52為系統(tǒng)控制器。兼容MCS—51指令系統(tǒng),8kB可反復(fù)擦寫(大于1000次〕FlashROM;32個雙向I/O口;256x8bit內(nèi)部RAM;3個16位可編程定時/計數(shù)器中斷;時鐘頻率0-24MHz;2個串行中斷,可編程UART串行通道;2個外部中斷源,共8個中斷源;2個讀寫中斷口線,3級加密位;低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;單片機處理數(shù)據(jù)能力強,編程自由,方便,可用實現(xiàn)算法和邏輯方面的控制,并且由于其低功耗、尺寸小、性能穩(wěn)定、價格廉價,使其在各個領(lǐng)域應(yīng)用廣泛。方案二:飛思卡爾的MC9S12XS128單片機。MC9S12系列MCU是以高速CPU12內(nèi)核為根底的微型控制器系列簡稱S12系列。典型的HC12總線頻率為25Hz。16位S12系列可以提供512KB的第三代FLASH存儲技術(shù)提供快速編程能力靈活的時鐘保護和平安性幫助客戶保護軟件編碼中的知識產(chǎn)權(quán)。集成度高,片內(nèi)資源豐富。片內(nèi)資源包括8KBRAM,128KBFLASH,2KBEEPROM,接口模塊包括SPI、SCI、IIC、A/D和4路8位或2路16位PWM。方案三:采用MSP430作為系統(tǒng)的CPU。MSP430系列單片機是一個16位單片機,采用了精簡指令集〔RISC〕結(jié)構(gòu),具有豐富的尋址方式〔7種源操作數(shù)尋址、4種目的操作數(shù)尋址〕,簡潔的27條內(nèi)核指令以及大量的模擬指令,大量的存放器以及片內(nèi)數(shù)據(jù)存儲器都可參加多種運算,還有高效的查表處理指令,高速度的處理能力。本設(shè)計為了做到精致小巧低功耗,而又不浪費主控芯片的資源,需要一種低功耗的功能一般的單片機。51單片機完全能夠滿足設(shè)計要求,而且編程簡單,I/O資源豐富,所以選擇了方案一。結(jié)果顯示模塊方案一:7段式數(shù)碼管。采用7段數(shù)碼管作為系統(tǒng)的輸出顯示。數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其根本單元是發(fā)光二極管。數(shù)碼管模塊化設(shè)計,安裝維護方便,顯示穩(wěn)定,本錢低,但是存在亮度一致性的問題。顯示清晰可靠,價格廉價,使用時間長,只是只能顯示出一些簡單的數(shù)字,無法滿足本設(shè)計中可能用到的字符串顯示。方案二:LCD1602顯示模塊。液晶顯示器簡稱LCD顯示器,它是利用液晶經(jīng)過處理后能改變光線的傳輸方向的特性顯示信息的。液晶顯示器具有體積小、重量輕、數(shù)字式接口、功耗極低、顯示內(nèi)容豐富等特點,在單片機應(yīng)用系統(tǒng)中得到了日益廣泛的應(yīng)用。液晶顯示器按其功能可分為三類:筆段式液晶顯示器、字符點陣式液晶顯示器和圖形點陣式液晶顯示器。前兩種可顯示數(shù)字、字符和符號等,而圖形點陣式液晶顯示器還可以顯示漢字和任意圖形,到達圖文并茂的效果。字符型液晶顯示器模塊是一種專門用于顯示字母、數(shù)字、符號等的點陣式液晶顯示模塊。它是由假設(shè)干個5*7或5*11等點陣符位組成的,每一個點陣字符位都可以顯示一個字符。點陣字符位之間有一定點距的間隔,這樣就起到了字符間距和行距的作用??紤]以上兩種方案,數(shù)碼管雖然顯示清晰可靠,價格廉價,使用時間長,但是只能顯示出一些簡單的數(shù)字,無法滿足本設(shè)計中可能用到的字符串顯示。所以選擇方案二。整個電路的工作原理是傳感器感應(yīng)地磁場轉(zhuǎn)變成電信號經(jīng)過傳送到達主控機,然后主控機把傳回的數(shù)據(jù)進行算法處理,輸送到顯示模塊上顯示出來。2硬件電路設(shè)計2.1單片機系統(tǒng)該系統(tǒng)是由STC89C52芯片構(gòu)成單片機最小系統(tǒng),是數(shù)字羅盤系統(tǒng)的核心局部,主要對各種信號及信息進行處理,并對電路進行控制。單片機最小系統(tǒng)主要由電源、復(fù)位、振蕩電路以及擴展局部等局部組成。單片機的置位和復(fù)位,都是為了把電路初始化到一個確定的狀態(tài),一般來說,單片機復(fù)位電路作用是把一個例如狀態(tài)機初始化到空狀態(tài)。我們采用按鍵復(fù)位電路,如圖2所示,按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個開關(guān),當(dāng)開關(guān)按下時電容被放電、RST也被拉到高電平。而且由于電容的充電,會保持一段時間的高電平來使單片機復(fù)位。單片機系統(tǒng)里都有晶振,全稱叫晶體振蕩器。它結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,單片機運行速度就越快,單片機的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率之上。如圖2所示,STC89C52使用11.0592MHz的晶體振蕩器作為振蕩源。由于單片機內(nèi)部帶有振蕩電路,所以外部只要連接一個晶振和兩個電容即可,電容容量一般在15pF至50pF之間。電路中采用22pF的瓷片電容。圖2STC89C52復(fù)位及時鐘電路2.2按鍵電路如圖3所示,有四個按鍵接在單片機的P3口上,分別為P3.2、P3.3、P3.4、P3.5,當(dāng)?shù)谝粋€按鍵按下時,單片機檢測到P3.2口為低電平,此時,向GY—26模塊發(fā)出校準命令。第二個按鍵按下時,發(fā)出停止校準命令,第三個按鍵按下時,發(fā)送恢復(fù)出廠命令,第四個按鍵按下時,發(fā)送設(shè)定的磁偏角補償。圖3按鍵電路圖2.3GY—26模塊電路GY—26平面數(shù)字羅盤模塊可以進行地磁場感應(yīng),其工作原理是通過磁傳感器中兩個相互垂直軸同時感應(yīng)地球磁場的磁分量,從而得出方位角度,此羅盤以RS232協(xié)議,及IIC協(xié)議與其他設(shè)備通信。該產(chǎn)品精度高,穩(wěn)定性高。并且具有重新標定的功能,能在任意位置得到準確的方位角,其輸出的波特率是9600bps,有連續(xù)輸出與詢問輸出兩種方式,具有磁偏角補償功能,可適應(yīng)不同的工作環(huán)境。在這里使用其RS232協(xié)議,通過串口實現(xiàn)數(shù)據(jù)的傳送。之后將信號經(jīng)過單片機處理后送給1602液晶顯示器顯示出來。如圖4所示,是GY—26模塊的引腳圖。其中VCC均接到+5V電源上,GND均接到單片機的地上,TX接到單片機上的P3.0RXD上,RX接到單片機上的P3.1TXD上,作為串口數(shù)據(jù)的傳送線,SCL與SDA是IIC的數(shù)據(jù)口,CAL接一按鍵至電源負極〔GND〕,當(dāng)?shù)谝淮伟聪掳存I時,進入校準狀態(tài),LED常亮起。保持模塊水平,緩慢旋轉(zhuǎn)1周〔旋轉(zhuǎn)1周時間大約1分鐘〕。再次按下按鍵LED滅,校準結(jié)束。圖4GY-26數(shù)字羅盤模塊2.4液晶顯示模塊電路如圖5所示,LCD1602液晶顯示器與單片機的接口電路,其中P0口為液晶顯示器的數(shù)據(jù)輸出口,en是液晶的使能端由P1.6控制,給高電平的時候液晶顯示器使能。dula與wela是P2.6與P2.7口,這兩個是開發(fā)板內(nèi)部定義的數(shù)碼管段碼和位碼鎖存器的鎖存端,由于要液晶顯示,所以為了防止數(shù)碼管出現(xiàn)亂碼影響整個羅盤系統(tǒng)的角度顯示,特意在程序中關(guān)閉了數(shù)碼管的位鎖存端,這樣就相當(dāng)于關(guān)閉了所有的數(shù)碼管,即使P0口持續(xù)不斷的輸送數(shù)據(jù),數(shù)碼管也不會有任何顯示。圖5LCD1602液晶顯示器電路圖3軟件設(shè)計3.1主程序設(shè)計在主程序大循環(huán)中,首先進行各種初始化,其中包括串口初始化,設(shè)置為工作方式1,發(fā)送接收數(shù)據(jù)允許,定時器1設(shè)置為工作方式2,初值高8位低8位均設(shè)定為0xfd,波特率設(shè)定為9600bps。工作方式2是8位自動重裝初值模式,不需要在中斷效勞函數(shù)里重新賦給初值,甚至于在本設(shè)計中就沒有添加定時器的中斷效勞函數(shù),串口中斷定時器中斷都翻開,總中斷允許。然后,主控制器向模塊發(fā)送采集數(shù)據(jù)的命令,在接收到模塊采集的數(shù)據(jù)后進行分析處理,送給LCD1602實時顯示出來,之后進行按鍵掃描,如果有按鍵按下時,進行相應(yīng)的操作,主要是判斷是否進行校準,假設(shè)是需要校準就需要把模塊水平放置,緩慢的旋轉(zhuǎn)一周,時間大概是一分鐘,這期間串口指示燈常亮,說明沒有數(shù)據(jù)發(fā)送,顯示器也沒有示數(shù)。旋轉(zhuǎn)一周校準結(jié)束后,模塊內(nèi)部自動給定相應(yīng)的磁補償量,把新的值送于LCD顯示。如果對應(yīng)恢復(fù)出廠設(shè)置的按鍵被按下,就會發(fā)送恢復(fù)出廠設(shè)置的命令給模塊,給出新的補償量,否那么繼續(xù)進行循環(huán)檢測數(shù)據(jù)。NNYY初始化模塊采集數(shù)據(jù)數(shù)據(jù)處理數(shù)據(jù)顯示鍵盤掃描給定新的補償值是否校準恢復(fù)出廠設(shè)置主程序N給定磁補償值輸出新的測量值圖6主程序流程圖3.2GY-26模塊程序設(shè)計程序一開始,先對模塊初始化,其實就是翻開串口中斷和總的中斷。然后通過按鍵控制發(fā)給模塊的命令字節(jié)。模塊通過串口與主機通信,每幀數(shù)據(jù)包含8個字節(jié),其中包括N個校驗位,8個數(shù)據(jù)位以及1個停止位。輸出格式如下:①Byte0:0x0D〔ASCII碼回車〕②Byte1:0x0A〔ASCII碼換行〕③Byte2:0x30—0x33角度百位〔ASCII0—3〕④Byte3:0x30—0x39角度十位〔ASCII0—9〕⑤Byte4:0x30—0x39角度個位〔ASCII0—9〕⑥Byte5:0x2E〔ASCII碼小數(shù)點〕⑦Byte6:0x30—0x39角度小數(shù)位〔ASCII0—9〕⑧Byte7:0x00—0xFF校驗和〔僅低8bit〕 它的命令字節(jié),由外部控制器以十六進制發(fā)送至模塊,其格式如下:①0x31:進行一次角度測量②0xC0:校準磁場開始③0xC1:校準磁場結(jié)束④0xA0-0XAA-0XA5-0XC5:恢復(fù)出廠設(shè)定⑤0xA0-0XAA-0XA5-IIC_ADDR:模塊的IIC地址修改⑥0x03+磁偏高8位:磁偏角設(shè)定,正北方向設(shè)定⑦0x04+磁偏低8位:磁偏角設(shè)定,正北方向設(shè)定模塊初始化模塊初始化發(fā)送讀取數(shù)據(jù)命令發(fā)送讀取數(shù)據(jù)命令接收按鍵處理函數(shù)的命令接收按鍵處理函數(shù)的命令執(zhí)行相應(yīng)的操作執(zhí)行相應(yīng)的操作圖7GY—26模塊程序流程圖調(diào)試分析4.1硬件調(diào)試硬件調(diào)試過程中遇到的最大的困難就是液晶顯示器不顯示,雖然通過LED燈的亮滅已經(jīng)驗證了模塊和主機通信成功,并且發(fā)送的數(shù)據(jù)完全正確。好長時間一直覺得是液晶顯示器的時序沒有把握好,于是花費了好長時間調(diào)節(jié)液晶的時序,方法就是找到原來開發(fā)板上的液晶源程序,下載運行,發(fā)現(xiàn)顯示正常完全沒有錯誤。之后自己又稍加改動依然沒有錯誤,于是我不得不考慮是別的方面出現(xiàn)了過失。早在熟悉器件的時候就已經(jīng)知曉模塊不能離的磁場太近,但是在實際的運用當(dāng)中不能很好地把握,所以在認真分析了各局部之后,我終于明白是電腦磁盤的磁場在影響。在用電池供電,系統(tǒng)遠離電腦測試的時候,液晶屏上終于有了正確的示數(shù)。之后系統(tǒng)運行相當(dāng)?shù)姆€(wěn)定可靠,精度也完全到達了設(shè)計要求。電子羅盤有兩種工作模式,一種是正常工作模式,另一種是出廠設(shè)置模式,出場設(shè)置模式是為了消除硬鐵干擾。永久磁鐵,和被磁化的金屬產(chǎn)生硬鐵干擾。這些干擾大小恒定,相對羅盤位置固定,與羅盤指向無關(guān)。羅盤運行時,周圍的硬鐵干擾根本固定不變,對羅盤校正一次就好。本設(shè)計是利用按鍵選定校準開始與結(jié)束,手動緩慢旋轉(zhuǎn)模塊一周來完成的。4.2軟件調(diào)試利用KEIL軟件和STC_ISP_V479程序下載燒寫軟件對系統(tǒng)軟件進行了編寫和調(diào)試,過程中遇到的問題是液晶顯示模塊有時候會出現(xiàn)顯示不穩(wěn)定的現(xiàn)象,用KEIL進行了軟件單步調(diào)試,發(fā)現(xiàn)是有時候串口中斷會把液晶寫入命令字的命令給中斷掉,也就是說在寫命令字的時候可能正好串口中斷來臨,然后在執(zhí)行中斷效勞程序的過程中可能會把寫命令的程序給耽誤,即相當(dāng)于延時,處理方法是在主函數(shù)初始化的時候多寫入幾次命令字,事實證明連續(xù)屢次寫入能有效防止上述情況的發(fā)生。結(jié)論及進一步設(shè)想通過長達兩周時間的設(shè)計與調(diào)試,本設(shè)計完全到達了設(shè)計要求,能在大局部場合下測量出模塊設(shè)定的正方向與地理磁場所成的夾角,并在LCD1602液晶顯示器上實時顯示。本文設(shè)計的數(shù)字羅盤尺寸小,本錢低,性能穩(wěn)定,在導(dǎo)航領(lǐng)域上有遠大的應(yīng)用前景。隨著控制技術(shù)的開展,傳感器的精度測量將有很大的提高。雖然該系統(tǒng)完全滿足了本課程設(shè)計的各項要求,但是在兩周的仔細專研后發(fā)現(xiàn)還有一些有待提高的地方,只是限于時間精力有限,未能在本文實現(xiàn)。該系統(tǒng)在應(yīng)用過程中原那么上是需要水平放置,實驗證明,在非水平狀態(tài)下,精度會明顯的下降。還有不能在強磁場或者是靠近磁場的場合使用,假設(shè)是換成三軸的立體傳感器應(yīng)該能實現(xiàn)任何方位的精確測量。地磁場在任何地方任何時間都不相同,然而本系統(tǒng)中給出的系統(tǒng)磁補償是一個固定值,如果能加上一個更加精確的磁場傳感器的話,應(yīng)該能實現(xiàn)動態(tài)磁補償,實現(xiàn)更精確的導(dǎo)航定位。我相信,在未來的許多領(lǐng)域,必將大規(guī)模,大批量的使用數(shù)字羅盤。參考文獻[1]催嵐波.船舶通信與導(dǎo)航[M].哈爾濱:哈爾濱工程大學(xué)出版社,2007:35-37[2]高光天.傳感器與信號調(diào)理器件應(yīng)用技術(shù)[M].北京:科學(xué)出版社.2002.7:168-170[3]TAMARABRATLANDROBERTBICKING和BHARATB.PANT.為什么選擇磁性傳感器.[4]孫希延,紀元法,施滸立.卡爾曼濾實現(xiàn)車載GPS/DR組合導(dǎo)航[J].現(xiàn)代電子技術(shù).2006.11[5]王勇軍、李智、李翔.車載電子羅盤中的一種新型抗干擾設(shè)計[J],單片機與嵌入式系統(tǒng)應(yīng)用,2010,5:8-10[6]姜益民.基于單片機與可編程邏輯控制器的控制系統(tǒng)的分析與設(shè)計[D].北京郵電大學(xué),2007[7]文樺.單片機教學(xué)與應(yīng)用平臺的研究[D].同濟大學(xué)軟件學(xué)院,2009[8]丁保華,張有忠,陳軍.單片機原理與接口技術(shù)實驗教學(xué)改革與實踐[J].實驗技術(shù)與管理,2010,27(1)課設(shè)體會在本次設(shè)計中,我們對專業(yè)課的學(xué)習(xí)有了新的認識,以前上課注重理論的比擬多,真正自己動手做的時候比擬少,所以在設(shè)計的過程中,遇到了很多的困難。但是還是在老師和同學(xué)的幫助以及自己的不懈努力下成功地完成了本次設(shè)計。通過對該課題的研究,加深對所學(xué)知識的理解,提高對課外知識的學(xué)習(xí)能力,增強知識的應(yīng)用能力,提高解決實際問題的能力,培養(yǎng)自我創(chuàng)新意識。積累實踐經(jīng)驗,為以后的開展打下根底,也為以后我們自己在這方面的開展打下根底,并能夠在這方面培養(yǎng)自己的興趣。在設(shè)計中我們必須首先熟悉和掌握單片機的結(jié)構(gòu)及工作原理,單片機的接口技術(shù)及相關(guān)外圍芯片的外特性,控制方法。以單片機核心的電路設(shè)計的根本方法和技術(shù)。單片機不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格廉價、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機了解計算機原理與結(jié)構(gòu)的最正確選擇。課程設(shè)計能培養(yǎng)學(xué)生綜合運用所學(xué)知識,提高發(fā)現(xiàn),提出,分析和解決實際問題的能力,是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程。通過這次設(shè)計,無論從選題到定稿,從理論到實踐都使我學(xué)到了很多東西,它不僅可以穩(wěn)固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。同時也明白了理論與實踐相結(jié)合的重要性,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會效勞,從而提高自己的實際動手能力和獨立思考的能力。最后,特別感謝在兩周課設(shè)里高老師給予的技術(shù)上和硬件上的大力支持,同時課程設(shè)計也大大提高了我的實際運用能力。[2013年7月12日完成]附錄1電路原理圖附錄2程序清單#include<reg52.h> #include<math.h>#include<stdio.h> #include<intrins.h>#defineucharunsignedchar#defineuintunsignedint #defineshujuP0 //LCD1602P0輸出顯示數(shù)據(jù)sbitrs=P2^1;//LCD1602忙碌檢測 sbitrw=P1^5;//LCD1602讀寫控制 sbiten=P1^6;//LCD1602使能端sbitwela=P2^7; //數(shù)碼管位選鎖存端sbitkey1=P3^2; //發(fā)送校準命令sbitkey2=P3^3; //停止校準sbitkey3=P3^4; //發(fā)送恢復(fù)出廠命令sbitkey4=P3^5; //發(fā)送設(shè)定磁偏角//********定義變量*****************************uchartable[8];//數(shù)據(jù)緩存區(qū)ucharcount;//接收數(shù)據(jù)的累計值//********中斷定時器初始化*************voidinit(void){ TMOD=0x21; //定時器1工作方式2 TH1=0xfd; //波特率為9600 TL1=0xfd; //定時初值〔65535-65021=514〕 SCON=0x50;//串口工作方式設(shè)置模式1,8-bitUART,使能接收 PS=1;//串口中斷設(shè)為高優(yōu)先級別 TR0=1; //啟動定時器0 TR1=1; //啟動定時器1 ET0=1;//翻開定時器0中斷 ES=1; //翻開串口中斷}//**********延時函數(shù)***************voiddelayus(uchart){while(--t);}voiddelay(uchart)//大致延時1mS{while(t--){delayus(235); delayus(235);}} //**********檢測忙信號************************bitcemang(void) { shuju=0xff; rs=0; rw=1; en=0; _nop_(); en=1; return(bit)(shuju&0x80); } //**********寫命令至LCD***********************voidcommand(ucharcom){ while(cemang()); { rs=0; rw=0; en=1; shuju=com; _nop_(); en=0; }}//**********LCD初始化*************** voidLCD_Init(void){command(0x38);//顯示模式設(shè)置delay(5);command(0x38);delay(5);command(0x38);delay(5);command(0x38);command(0x08);//顯示關(guān)閉command(0x01);//顯示清屏command(0x06);//顯示光標移動設(shè)置delay(5);command(0x0C);//顯示開及光標設(shè)置} //**********寫數(shù)據(jù)至LCD************************voidlcddata(uchardataa){ while(cemang());//忙那么等待 { rs=1; rw=0; en=1; shuju=dataa; _nop_(); en=0; }}//*********寫一個字符數(shù)據(jù)到指定的目標*********** voidwrite_Char(ucharx,uchary,ucharz){if(y==0) { command(0x80+x); }else { command(0xC0+x); }lcddata(z);}//*********寫入字符串函數(shù)***********voidwritestring(ucharx,uchary,uchar*s){if(y==0) { command(0x80+x); }else { command(0xC0+x); }while(*s) {lcddata(*s);s++; }} //*********串口數(shù)據(jù)發(fā)送******************voidsend(ucharsenddata){SBUF=senddata; while(!TI); { TI=0; } }//*******************數(shù)據(jù)接收并顯示**********************voiddisplay(void){ucharsum;uinti;for(i=0;i<3000;i++);//傳送數(shù)據(jù)延時 if(table[0]==0X0D&&table[1]==0X0A) //幀頭判斷 { sum=table[6]+table[5]+table[4]+table[3]+table[2]+table[1]+table[0];//校驗和 if(table[7]==sum) {//校驗和判斷 write_Char(5,1,table[2]);//角度百位值寫入LCD write_Char(6,1,table[3]);//角度十位值寫入LCD write_Char(7,1,table[4]);//角度個位值寫入LCD write_Char(8,1,table[5]);//小數(shù)點 write_Char(9,1,table[6]);//角度小數(shù)位值寫入LCD }//endif }}//*******獨立按鍵檢測**********************voidkey(void){EA=0;if(key1==0) {delay(15);if(key1==0) {send(0XC0);//發(fā)送校準命令。 display();while(key1==0);//等待按鍵放開}}if(key2==0) {delay(15);if(key2==0) {send(0XC1);//發(fā)送停止校準命令。 display();while(key2==0);//等待按鍵放開}}if(key3==0) {delay(15);if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論