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