畢業(yè)設(shè)計(jì)基于單片機(jī)的電子指南針設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)基于單片機(jī)的電子指南針設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)基于單片機(jī)的電子指南針設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)基于單片機(jī)的電子指南針設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)基于單片機(jī)的電子指南針設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 學(xué)科分類號(hào) 0806 本科生畢業(yè)設(shè)計(jì)報(bào)告書(shū)題目(中文): 基于單片機(jī)的電子指南針設(shè)計(jì) (英文): the design of electronic compass based on mcu 學(xué)生姓名: 學(xué)號(hào):0810404019 系別:物理與信息工程系 專業(yè):通信工程 指導(dǎo)教師: 起止日期:2011年12月2012年5月2012年5月18日 目 錄摘要 關(guān)鍵詞 abstract key words1 引言 12 系統(tǒng)總體方案設(shè)計(jì) 32.1系統(tǒng)總體框圖 32.2 信號(hào)采集處理的原理 43 硬件電路設(shè)計(jì) 73.1 主控電路 73.2 串口通信電路 103.3 指南針模塊和接口電路 113.4 實(shí)

2、時(shí)時(shí)鐘電路 143.5 液晶顯示電路 153.6 按鍵輸入電路 164 軟件設(shè)計(jì) 174.1 主監(jiān)控程序 174.2 實(shí)時(shí)時(shí)鐘驅(qū)動(dòng) 184.3 人機(jī)界面驅(qū)動(dòng) 194.3.1 液晶模塊驅(qū)到 194.3.2 鍵盤驅(qū)動(dòng) 194.4指南針模塊驅(qū)動(dòng) 195 測(cè)試結(jié)果 206 總結(jié) 21參考文獻(xiàn) 22致 謝 23附 錄 24基于單片機(jī)的電子指南針設(shè)計(jì)摘 要指南針是我國(guó)的四大發(fā)明之一,早期的指南針采用了磁化指針和方位盤的組合方式,這樣的指南針攜帶起來(lái)很不方便,且指示靈敏度上有一定不足,準(zhǔn)確性很差。本文通過(guò)對(duì)電子指南針基本工作原理的研究分析,采用磁阻(gmr)傳感器采集某一方向磁場(chǎng)強(qiáng)度,然后通過(guò)mcu控制器對(duì)

3、其進(jìn)行處理并顯示上傳,達(dá)到了顯示當(dāng)前所指方向的目的。實(shí)際測(cè)試指南針模塊精度達(dá)到1,能夠在lcd上顯示當(dāng)前方位,并能通過(guò)鍵盤控制上傳數(shù)據(jù)到上位機(jī)。這樣的指南針精度更高,更智能,在大大提高了精度的同時(shí),也降低了成本和設(shè)計(jì)難度。關(guān)鍵詞:電子指南針;磁阻傳感器;單片機(jī);液晶顯示器the design of electronic compass based on mcuabstractone of the chinas four great inventions is a compass, early compass pointer and orientation using magnetic disk

4、 combination, it is not convenient to carry such a compass. and instructions to have insufficient sensitivity and accuracy is poor. this article through to the electronic compass basic on working principle of research and analysis, using magnetic resistance (gmr) sensors to collect a certain directi

5、on magnetic field intensity, and then through the mcu controller for the treatment and display the upload to display the current pointed direction of purpose. the actual test compass module, up to 1 accuracy, it can be displayed on lcd and the current position, and through the keyboard control uploa

6、d data to the pc. such a compass not only higher accuracy, more intelligent, greatly improving the accuracy, but also reduce the cost and difficulty of design.key wordselectronic compass; gmr; mcu; lcd1引言指南針是用以判別方位的一種簡(jiǎn)單儀器,又稱指北針。指南針的前身是中國(guó)古代四大發(fā)明之一的司南。主要組成部分是一根裝在軸上可以自由轉(zhuǎn)動(dòng)的磁針。磁針在地磁場(chǎng)作用下能保持在磁子午線的切線方向上。磁針的北

7、極指向地理的北極,利用這一性能可以辨別方向。中國(guó)是世界上公認(rèn)發(fā)明指南針的國(guó)家。指南針的發(fā)明是我國(guó)漢族勞動(dòng)人民在長(zhǎng)期的實(shí)踐中對(duì)物體磁性認(rèn)識(shí)的結(jié)果。由于生產(chǎn)勞動(dòng),人們接觸了磁鐵礦,開(kāi)始了對(duì)磁性質(zhì)的了解。人們首先發(fā)現(xiàn)了磁石吸引鐵的性質(zhì),后來(lái)又發(fā)現(xiàn)了磁石的指向性。經(jīng)過(guò)多方面的實(shí)驗(yàn)和研究,終于發(fā)明了實(shí)用的指南針。最早的指南針是用天然磁體做成的,據(jù)古書(shū)記載,遠(yuǎn)在春秋戰(zhàn)國(guó)時(shí)期,由于正處在奴隸制社會(huì)向封建社會(huì)過(guò)渡的大變革時(shí)期,生產(chǎn)力有了很大的發(fā)展,特別是農(nóng)業(yè)生產(chǎn)更是興盛發(fā)達(dá),因而促使了采礦業(yè)、冶煉業(yè)的發(fā)展。在長(zhǎng)期的生產(chǎn)實(shí)踐中,人們從鐵礦石中認(rèn)識(shí)了磁石。它是用天然磁石制成的。樣子象一把湯勺,圓底,可以放在平滑的

8、“地盤”上并保持平衡,且可以自由旋轉(zhuǎn)。當(dāng)它靜止的時(shí)候,勺柄就會(huì)指向南方。古人稱它為“司南”。司南由青銅盤和天然磁體制成的磁勺組成,青銅盤上刻有二十四向,置磁勺于盤中心圓面上,靜止時(shí),勺尾指向?yàn)槟?。但司南也有許多缺陷,天然磁體不易找到,在加工時(shí)容易因打擊、受熱而失磁。所以司南的磁性比較弱,而且它與地盤接觸處要非常光滑,否則會(huì)因轉(zhuǎn)動(dòng)摩擦阻力過(guò)大,而難于旋轉(zhuǎn),無(wú)法達(dá)到預(yù)期的指南效果。而且司南有一定的體積和重量,攜帶很不方便,使得司南長(zhǎng)期未得到廣泛應(yīng)用。隨著人們對(duì)指南針原理認(rèn)識(shí)的不斷深入,指南針也由先前笨重的“司南”發(fā)展到現(xiàn)在的便攜式的指南針。但其基本構(gòu)造是沒(méi)有改變的,都是屬于機(jī)械的指針式,其指示的機(jī)

9、械結(jié)構(gòu)基本上沒(méi)有改變,都是利用某種支撐使得磁針能夠受到地磁場(chǎng)的影響而自由的旋轉(zhuǎn)。由于機(jī)械的先天因素導(dǎo)致了指針式指南針在便攜性、靈敏度、精度以及使用壽命上都有一定的限制。由于國(guó)內(nèi)外電子技術(shù)的飛速發(fā)展,特別是在磁傳感器和專用芯片(asic)上的發(fā)展使能指南針的基本實(shí)現(xiàn)機(jī)理有了質(zhì)的改變,不再是機(jī)械結(jié)構(gòu)而采用了磁場(chǎng)傳感器和專用處理器對(duì)磁場(chǎng)進(jìn)行測(cè)量和處理后指示方向,這就是當(dāng)前應(yīng)用較為廣泛的電子式指南針。電子指南針全部采用固態(tài)元件,可以用簡(jiǎn)單的方法與其它電子系統(tǒng)進(jìn)行連接,完成新產(chǎn)品的開(kāi)發(fā)。電子指南針具有體積小、精度高、穩(wěn)定性好等特點(diǎn),因?yàn)樗倪@些優(yōu)異性,在工業(yè)、軍事、生活等領(lǐng)域都有著廣泛的應(yīng)用,并且它可以

10、替代舊式的針式指南針或羅盤式指南針。本課題針對(duì)電子指南針的各個(gè)功能部件對(duì)電子指南針的關(guān)鍵部分做了詳細(xì)的研究。采用單片機(jī)做為系統(tǒng)的核心控制芯片,而單片機(jī)的接口是數(shù)字信號(hào)的,想要它能夠處理地球的磁場(chǎng)狀況,必須要把磁場(chǎng)信號(hào)轉(zhuǎn)化成電信號(hào)(電壓或電流),然后經(jīng)過(guò)模數(shù)轉(zhuǎn)換,把模擬的電信號(hào)轉(zhuǎn)化成單片機(jī)可以處理的數(shù)字信號(hào)。把所得的數(shù)字信息通過(guò)主控制器進(jìn)行處理,然后用人機(jī)界面表現(xiàn)出來(lái),供我們來(lái)讀取和應(yīng)用。電子指南針系統(tǒng)是一個(gè)典型的單片機(jī)系統(tǒng),了解其工作原理及其信號(hào)處理流程有利于研究更加復(fù)雜的嵌入式系統(tǒng),特別是系統(tǒng)中采用進(jìn)口的磁傳感器及其相關(guān)信號(hào)的采集芯片更是有利于研究磁場(chǎng)傳感器的實(shí)現(xiàn)機(jī)理,以便將其更加廣泛的應(yīng)用

11、。2 系統(tǒng)總體方案設(shè)計(jì)2.1 系統(tǒng)總體框圖本系統(tǒng)采用磁阻(gmr)傳感器采集磁場(chǎng)強(qiáng)度,然后把磁場(chǎng)強(qiáng)度轉(zhuǎn)換成數(shù)字量,單片機(jī)再對(duì)這些數(shù)字量進(jìn)行處理,最后將處理得到的結(jié)果進(jìn)行顯示。電子指南針的系統(tǒng)主要由前端磁阻傳感器、磁場(chǎng)測(cè)量專用轉(zhuǎn)換芯片、單片控制器、輔助擴(kuò)展電路、鍵盤、顯示模塊以及系統(tǒng)電源幾個(gè)部分組成1,系統(tǒng)結(jié)構(gòu)如圖2.1所示。整個(gè)系統(tǒng)中前端的磁阻傳感器負(fù)責(zé)測(cè)量地磁場(chǎng)的大小并將磁場(chǎng)的變化轉(zhuǎn)化為微弱的電流的變化,專用的磁場(chǎng)測(cè)量芯片負(fù)責(zé)把磁阻傳感器變化的電流(模擬量)轉(zhuǎn)換成微控制器可以識(shí)別的數(shù)字量,然后將該數(shù)字信號(hào)即采集到的數(shù)據(jù)通過(guò)spi總線上傳給微控制器。微控制器將表征當(dāng)前磁場(chǎng)大小的數(shù)字量按照方位進(jìn)

12、行歸一化等處理后通過(guò)直觀的lcd進(jìn)行方位顯示,同時(shí)可以通過(guò)鍵盤控制微控制器進(jìn)行相應(yīng)的操作,如將轉(zhuǎn)換后的數(shù)據(jù)通過(guò)串口的形式發(fā)送到上位機(jī)。整個(gè)系統(tǒng)中還包含了實(shí)時(shí)時(shí)鐘等一些輔助電路,使整個(gè)系統(tǒng)功能得到進(jìn)一步的擴(kuò)展,這使得電子指南針更具備實(shí)用價(jià)值。電子指南針包含如下功能: 精確地顯示所指的方向。 可以測(cè)量到的方向信息形象地顯示在lcd液晶屏上。 可以通過(guò)按鍵對(duì)電子指南針進(jìn)行實(shí)際的操作。 可將測(cè)量到的方向數(shù)據(jù)上傳到pc上。 可以顯示實(shí)時(shí)時(shí)間,更便于應(yīng)用。2.2 信號(hào)采集處理的原理圖 2.2 前端信號(hào)采集該部分主要完成對(duì)地磁場(chǎng)的測(cè)量、a/d轉(zhuǎn)換以及對(duì)數(shù)據(jù)的封包。整個(gè)前端的信號(hào)處理流程如圖2.2所示。整個(gè)磁

13、阻傳感器是系統(tǒng)中最前端的信號(hào)測(cè)量器件,傳統(tǒng)的磁場(chǎng)測(cè)量都是采用了電感線圈的形式,在所設(shè)計(jì)的系統(tǒng)中,由于需要測(cè)量的是非常微弱的地磁場(chǎng),地球表面赤道上的磁場(chǎng)強(qiáng)度在0.290.40高斯之間,兩極處的強(qiáng)度略大,地磁北極約0.61高斯,南極約0.68高斯。傳統(tǒng)的普通電感線圈的形式在如此微弱的磁場(chǎng)環(huán)境下感應(yīng)產(chǎn)生的電流是非常微弱的,不便于a/d采樣,增加了測(cè)量的難度?;谄胀姼芯€圈測(cè)量的不足,所設(shè)計(jì)的系統(tǒng)采用了磁阻傳感器來(lái)測(cè)量地址磁場(chǎng)的強(qiáng)度。磁阻傳感器是根據(jù)電場(chǎng)和磁場(chǎng)的原理,當(dāng)在鐵磁合金薄帶的長(zhǎng)度方向施加一個(gè)電流時(shí),如果在垂直于電流的方向再施加磁場(chǎng),鐵磁性材料中就有磁阻的非均質(zhì)現(xiàn)象出現(xiàn),從而引起合金帶自身的

14、阻值變化。如圖2.3所示。圖 2.3 磁阻傳感器原理及其外形由圖中我們可以看出當(dāng)磁場(chǎng)變化時(shí)鐵磁合金的電阻會(huì)跟著變化,如果此時(shí)的電流不變,那么鐵磁合金兩端的電壓將發(fā)生變化,這樣使用adc就可以很方便的測(cè)量出當(dāng)前對(duì)應(yīng)的磁場(chǎng)大小。該傳感器體積非常小,測(cè)量精度高,最小分辨率可達(dá)0.00015高斯,測(cè)量地磁場(chǎng)已經(jīng)足夠。通過(guò)磁阻效應(yīng)可以把磁場(chǎng)的變化轉(zhuǎn)換成對(duì)應(yīng)變化的電流,通過(guò)a/d轉(zhuǎn)換就可以得到對(duì)應(yīng)的數(shù)字量。adc這部分主要有專用的磁場(chǎng)測(cè)量芯片來(lái)完成。本次設(shè)計(jì)中使用了著名pni公司的pni11096磁場(chǎng)測(cè)量asic,該芯片能夠同時(shí)對(duì)3軸磁場(chǎng)強(qiáng)度(既x,y,z軸)進(jìn)行測(cè)量。這樣可以使用z軸來(lái)進(jìn)行傾角校正,提高

15、測(cè)量精度。在整個(gè)指南針模塊程序的設(shè)計(jì)過(guò)程中最主要的也就是其數(shù)據(jù)的處理,直接關(guān)系到系統(tǒng)的精度。在還沒(méi)有處理之前從pni11096讀取的數(shù)據(jù)真實(shí)的反應(yīng)了水平面內(nèi)地磁場(chǎng)的分布情況,均勻轉(zhuǎn)動(dòng)指南針模塊得到的地磁場(chǎng)強(qiáng)度分布,在不同的方向上是不同的,經(jīng)過(guò)歸一化后,可以很好的將其歸一化為圓,使得在各個(gè)方向上的磁場(chǎng)強(qiáng)度均勻,這樣既可以方便進(jìn)行角度計(jì)算又可以提高測(cè)量精度。指南針模塊在第一次使用前都必須校正,系統(tǒng)上電時(shí)將模塊的adjust引腳拉低即可進(jìn)入校正狀態(tài),將模塊在水平面內(nèi)均勻的轉(zhuǎn)動(dòng)一周后校正結(jié)束。校正時(shí)主要調(diào)整的系數(shù)就是本地的磁偏角。將磁場(chǎng)強(qiáng)度歸一化后,直接對(duì)x,y軸的強(qiáng)度進(jìn)行計(jì)算就可以得到當(dāng)前方向與正東

16、方向的夾角,如圖2.8所示。從圖5.7中可以看出夾角就是: (2.1) 圖2.8 角度的計(jì)算3 硬件電路設(shè)計(jì)3.1 主控電路本次設(shè)計(jì)中采用了高速51內(nèi)核mcu,具體型號(hào)為ds89c450,高速8051架構(gòu),每個(gè)機(jī)器周期一個(gè)時(shí)鐘,最高頻率33mhz,單周期指令30ns,雙數(shù)據(jù)指針,支持四種頁(yè)面存儲(chǔ)器訪問(wèn)模式。片內(nèi)64kb閃存,在應(yīng)用編程,可通過(guò)串口實(shí)現(xiàn)在系統(tǒng)編程,movx可訪問(wèn)的1kb sram。與8051系列端口兼容,四路雙向,8位i/o端口,三個(gè)16位定時(shí)器,256字節(jié)暫存ram。支持電源管理模式,可編程的時(shí)鐘分頻器,自動(dòng)的硬件和軟件退出低功耗。外設(shè)特性:兩路全雙工串口、可編程看門狗定時(shí)器、

17、13個(gè)中斷源、五級(jí)中斷優(yōu)先級(jí)、電源失效復(fù)位、電源失效早期預(yù)警中斷和可降低emi3。與51單片機(jī)相比,ds89c450還具有一些增強(qiáng)的功能。 ds89c450的引腳分配如圖3.1所示。例如,ds89c450的p2口的某些位可以配置成特殊功能來(lái)使用,像p20,p21,p22可以配置成spi總線接口。spi接口可以配置成主模式,配置方法可參照表31。 表31 spi接口配置端口增強(qiáng)功能ss(從模式選擇輸入)接高電平p20mosi(主模式數(shù)據(jù)輸出從模式數(shù)據(jù)輸入)p21miso(主模式數(shù)據(jù)輸入從模式數(shù)據(jù)輸出)p22sck(主時(shí)鐘輸出從時(shí)鐘輸入)由表31可知,主/從模式的選取是直接通過(guò)接高電平來(lái)決定,低電

18、平為從模式,高電平為主模式。在本設(shè)計(jì)中選擇主模式,p2口的0到2口作為spi接口使用,與前端的磁場(chǎng)強(qiáng)度采集模塊相連。液晶模塊的接口主要接在p0口各p2口上,p0口用來(lái)傳輸數(shù)據(jù)和地址,p2口用來(lái)控制液晶模塊的工作情況。按鍵鍵盤和實(shí)時(shí)時(shí)鐘模塊的接口主要接在p1上,實(shí)時(shí)時(shí)鐘模塊采用了iic總線接口,接到p1口的1和2腳。1腳用來(lái)傳輸時(shí)鐘信號(hào),2腳用來(lái)傳輸數(shù)據(jù)信號(hào)。p1口剩下的3到8腳供按鍵鍵盤輸入使用。整個(gè)系統(tǒng)的控制部分主要完成對(duì)指南針模塊數(shù)據(jù)的讀取和處理并將數(shù)據(jù)的處理結(jié)果通過(guò)控制人機(jī)界面顯示出來(lái),同時(shí)監(jiān)控鍵盤的輸入以便完成系統(tǒng)功能設(shè)定等操作。整個(gè)系統(tǒng)中各個(gè)模塊對(duì)微控制器的端口占用比較少,指南針模塊

19、的接口采用了spi總線的形式。lcd是系統(tǒng)中比較繁忙的器件之一,其接口采用了并口模式可以提高數(shù)據(jù)的傳輸速率,保證了液晶顯示屏的及時(shí)刷新。ds89c450微控制器內(nèi)部自帶2個(gè)通用串行口直接引出即可用,由于系統(tǒng)需要和上位機(jī)(本系統(tǒng)中為pc機(jī))進(jìn)行數(shù)據(jù)通信,接口電平需要轉(zhuǎn)換使其滿足rs-232標(biāo)準(zhǔn)4??刂撇糠蛛娐啡鐖D 3.1所示,其中包含了微控制器、lcd接口電路、端口上拉電阻、系統(tǒng)時(shí)鐘電路和指南針模塊接口電路。 圖3.1 系統(tǒng)控制電路圖 3.2 系統(tǒng)時(shí)鐘和復(fù)位電路整個(gè)微控制系統(tǒng)中采用了無(wú)源晶振的形式發(fā)生mcu所需要的時(shí)鐘信號(hào)。具體電路如圖3.2所示。時(shí)鐘電路中的兩個(gè)電容用作補(bǔ)償,使得晶振更容易起振

20、,頻率更加穩(wěn)定。系統(tǒng)的復(fù)位采用了上電復(fù)的形式,上電過(guò)程中微控制器復(fù)位引腳保證10ms以上的高電平就能可靠的將微控制器復(fù)位5。3.2 串口通信電路圖 3.3 串口通信電路在本次設(shè)計(jì)任務(wù)中采用了串口作為系統(tǒng)與外界的通信接口,串口通訊對(duì)單片機(jī)而言意義重大,不但可以實(shí)現(xiàn)將單片機(jī)的數(shù)據(jù)傳輸?shù)接?jì)算機(jī)端,而且也能實(shí)現(xiàn)計(jì)算機(jī)對(duì)單片機(jī)的控制。通信部分電路圖3.3所示。由于單片機(jī)的ttl電平和rs-232協(xié)議的電平不同,需要max232進(jìn)行電平的轉(zhuǎn)換。在本次設(shè)計(jì)中還充分利用了串口的dts信號(hào)作為單片機(jī)串口編程功能使能信號(hào)。整個(gè)通過(guò)串口dtr引腳控制在系統(tǒng)編程6。電路如圖3.4所示。 由于ds89c450提供在系統(tǒng)

21、編程,可以很方便的通過(guò)串口對(duì)單片機(jī)內(nèi)部的flash進(jìn)行刷新。由于ds89c450進(jìn)入在系統(tǒng)編程需要幾個(gè)條件:1 復(fù)位引腳電平為高; ea引腳為低電平;psen 引腳為低電平圖3.4 串口邏輯電路3.3 指南針模塊和接口電路本次設(shè)計(jì)中采用了fad_dcm_spi指南針模塊。該模塊采用的正是pni11096和sen-r65傳感器組合的設(shè)計(jì)方案。在整個(gè)pni11096信號(hào)處理電路中包含了3個(gè)主要的部分:1 前端信號(hào)處理:由于地磁場(chǎng)非常的微弱,使用sen-r65傳感器轉(zhuǎn)換后其信號(hào)也是非常的微弱。那么需要在信號(hào)采集前端加入信號(hào)放大和濾波整形電路2,這樣使得a/d能夠準(zhǔn)確測(cè)量當(dāng)前磁場(chǎng)大小,如2.4所示。圖

22、 2.4 磁阻傳感器的驅(qū)動(dòng) a/d轉(zhuǎn)換電路:這部分主要完成對(duì)sen-r65磁阻傳感器輸出的模擬信號(hào)進(jìn)行a/d轉(zhuǎn)換。 數(shù)據(jù)接口電路:這部分組要完成對(duì)a/d轉(zhuǎn)換后得到的數(shù)據(jù)進(jìn)行格式封裝,并在上位mcu的控制下進(jìn)行數(shù)據(jù)傳輸。整個(gè)pni11096和傳感器的連接電路如圖2.5所示。圖 2.5 pni11096傳感器原理圖該芯片內(nèi)部集成了3軸傳感器驅(qū)動(dòng)電路,可以測(cè)量x,y,z三軸的磁場(chǎng)強(qiáng)度,z軸的磁場(chǎng)強(qiáng)度可以用來(lái)校正水平面,使得x,y軸的測(cè)量更為的精確。為了模塊化,所以該模塊把pni11096芯片的輸出信號(hào)經(jīng)過(guò)處理后封裝成特定的數(shù)據(jù)報(bào)文格式通過(guò)spi總線形式對(duì)外提供。經(jīng)過(guò)模塊封裝的數(shù)據(jù)格式如下表。表 32

23、 指南針模塊數(shù)據(jù)包格式bit10bit 3 bit 9bit 2bit 1ack數(shù)據(jù)ack地址角度數(shù)據(jù)范圍:十六進(jìn)制(0x000x167),轉(zhuǎn)換成十進(jìn)制為(0359)。圖 3.5 spi總線時(shí)序spi(serial peripheral interface-串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使mcu與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。該接口一般使用4條線:串行時(shí)鐘線(sck)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線miso、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線most和低電平有效的從機(jī)選擇線ss(有的spi接口芯片帶有中斷信號(hào)線int或int、有的spi接口芯片沒(méi)有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線mo

24、si)。由于spi系統(tǒng)總線一共只需34位數(shù)據(jù)線和控制即可實(shí)現(xiàn)與具有spi總線接口功能的各種i/o器件進(jìn)行接口,而擴(kuò)展并行總線則需要8根數(shù)據(jù)線、816位地址線、23位控制線,因此,采用spi總線接口可以簡(jiǎn)化電路設(shè)計(jì),節(jié)省很多常規(guī)電路中的接口器件和i/o口線,提高設(shè)計(jì)的可靠性。spi總線的時(shí)序如圖3.5所示。3.4 實(shí)時(shí)時(shí)鐘電路系統(tǒng)采用了pcf8583實(shí)時(shí)時(shí)鐘芯片為系統(tǒng)提供實(shí)時(shí)時(shí)鐘。pcf8583是一款基于靜態(tài)cmos ram的實(shí)時(shí)時(shí)鐘芯片,該芯片采用了i2c總線接口。圖 3.6 實(shí)時(shí)時(shí)鐘電路整個(gè)pcf8583的操作都是基于其內(nèi)建的cmos ram,通過(guò)對(duì)其不同地址的ram的操作可以實(shí)現(xiàn)不同的功能

25、。其內(nèi)部的256字節(jié)的ram區(qū)域被分為了幾個(gè)功能區(qū)以完成不同的操作。由于本次使用的ds89c450內(nèi)部沒(méi)有i2c控制器,所以直接使用了芯片的i/o口模擬了i2c時(shí)序7。整個(gè)時(shí)鐘部分電路如圖3.6所示。pcf8583采用了i2c總線的形式與外界傳輸數(shù)據(jù)。i2c(interintegrated circuit)總線是一種由philips公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。其時(shí)序結(jié)構(gòu)如圖3.7所示。圖 3.7 i2c總線時(shí)序3.5 液晶顯示電路本次設(shè)計(jì)采用了160128點(diǎn)陣的單色液晶顯示屏(lcd)作為系統(tǒng)的顯示界面,具體的型號(hào)為pg160128,該lcm采用了t6963c控圖3

26、.8 lcd內(nèi)部結(jié)構(gòu)圖制芯片作為顯示控制核心。微控制器只需要對(duì)t6963c芯片進(jìn)行操作便可以完成對(duì)lcd屏的相關(guān)操作8,使用非常方便。模塊內(nèi)部原理如圖3.8。整個(gè)lcm中t6963c負(fù)責(zé)對(duì)lcd行列驅(qū)動(dòng)芯片t6a40和t6a39進(jìn)行控制。微控制器只需要按照t6963給定的指令格式進(jìn)行相應(yīng)的操作即可。t6963提供10種控制命令,其數(shù)據(jù)和指令的讀寫時(shí)序如圖3.9所示。圖 3.9 t6963讀寫時(shí)序3.6 按鍵輸入電路圖 3.10 鍵盤電路系統(tǒng)采用了5鍵輸入以實(shí)現(xiàn)系統(tǒng)功能的設(shè)定,如系統(tǒng)時(shí)間的調(diào)整和菜單的選擇。由于系統(tǒng)中的其他模塊對(duì)微控制器的端口占用較少還有很多沒(méi)有使用的端口,鍵盤連接上直接采用了每

27、個(gè)按鍵占用一個(gè)端口的形式,如圖3.10所示,電路的中的幾個(gè)電阻屬于上拉電阻,保證在沒(méi)有輸入的情況下端口電平穩(wěn)定為高,同時(shí)也可以達(dá)到省電的目的。鍵盤的讀取采用掃描的形式,當(dāng)檢測(cè)到有按鍵按下時(shí),消抖動(dòng)后進(jìn)行鍵值判斷9。以上是系統(tǒng)各個(gè)硬件部分的闡述,以下是整個(gè)系統(tǒng)的總電路。系統(tǒng)總電路中包含了系統(tǒng)主控制電路、指南針模塊、實(shí)時(shí)時(shí)鐘、通信電路及其邏輯控制電路,擴(kuò)展接口和相關(guān)輔助電路。在進(jìn)行系統(tǒng)pcb的器件方位布置和走線時(shí),特別注意了通信電路和信號(hào)采集電路的隔離。lcd部的干擾比較大在進(jìn)行器件放置時(shí),將容易受到干擾的器件排布到其他區(qū)域,并采取一定的隔離措施。4 軟件設(shè)計(jì)4.1 主監(jiān)控程序整個(gè)監(jiān)控系統(tǒng)中各個(gè)模

28、塊間存在一定的先后順序且程序模塊數(shù)量較少,為了減少系統(tǒng)的程序量,設(shè)計(jì)過(guò)程中系統(tǒng)的監(jiān)控程序采用了傳統(tǒng)的前后臺(tái)方式。整個(gè)監(jiān)控程序主要由指南針模塊驅(qū)動(dòng)、液晶顯示驅(qū)動(dòng)、實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)和串口驅(qū)動(dòng)組成10。整個(gè)系統(tǒng)監(jiān)控程序流程如圖4.1 系統(tǒng)監(jiān)控程序流程圖5.1所示。當(dāng)系統(tǒng)上電后,最先執(zhí)行的就是對(duì)系統(tǒng)各個(gè)部件進(jìn)行初始化的代碼,其中主要包括對(duì)系統(tǒng)內(nèi)部定時(shí)器、實(shí)時(shí)時(shí)鐘、lcd驅(qū)動(dòng)、指南針模塊以及對(duì)系統(tǒng)通信串口的初始化。系統(tǒng)初始化完成時(shí)對(duì)指南針模塊進(jìn)行讀取,此時(shí)指南針模塊將根據(jù)adjust端口的電平狀態(tài)判定是否需要校正指南針,其后將得到的數(shù)據(jù)上傳至微控制器,微控制器根據(jù)得到的數(shù)據(jù)驅(qū)動(dòng)lcd進(jìn)行相應(yīng)的顯示,隨后微控

29、制器將對(duì)系統(tǒng)鍵盤端口進(jìn)行掃描,并根據(jù)掃描得到的鍵值進(jìn)行相應(yīng)的處理。前后臺(tái)式的監(jiān)控系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,但是其實(shí)時(shí)性較差。系統(tǒng)中由于各個(gè)程序之間相互關(guān)聯(lián),且對(duì)實(shí)時(shí)性要求不是很高,前后臺(tái)能夠滿足其要求。4.2 實(shí)時(shí)時(shí)鐘驅(qū)動(dòng)實(shí)時(shí)時(shí)鐘為整個(gè)系統(tǒng)的運(yùn)行提供實(shí)時(shí)數(shù)據(jù)。本次設(shè)計(jì)采用的圖 4.2 pcf8583驅(qū)動(dòng)流程pcf8583實(shí)時(shí)時(shí)鐘芯片采用的i2c接口,對(duì)它的所有操作直接通過(guò)對(duì)其內(nèi)部線性的cmos ram區(qū)進(jìn)行操作即可即對(duì)pcf8583的操作主要是通過(guò)i2 通過(guò)i2c總線對(duì)其內(nèi)部ram進(jìn)行讀寫11。整個(gè)驅(qū)動(dòng)流程如圖4.2所示。4.3 人機(jī)界面驅(qū)動(dòng)4.3.1 液晶模塊驅(qū)動(dòng)液晶顯示驅(qū)動(dòng)處于系統(tǒng)的最后端,屬于人機(jī)交

30、互界面。直觀的液圖 4.3 lcm驅(qū)動(dòng)程序架構(gòu)晶顯示能夠使得系統(tǒng)更容易操控。本次設(shè)計(jì)采用了pg160128 點(diǎn)陣的 lcm模塊。整個(gè)lcm驅(qū)動(dòng)的構(gòu)架圖如4.3所示。采用層次設(shè)計(jì)的驅(qū)動(dòng)可以很好的移植到不同的處理器。4.3.2 鍵盤驅(qū)動(dòng)系統(tǒng)中將按鍵電路中按鍵、分別與單片機(jī)的p13、p14、p15、p16、p17引腳進(jìn)行連接,此按鍵是低電平有效,當(dāng)有鍵按下時(shí),與按鍵相連接的單片機(jī)引腳檢測(cè)到這個(gè)信號(hào),然后進(jìn)行相應(yīng)的處理后再輸出12。4.4指南針模塊驅(qū)動(dòng) 本次設(shè)計(jì)采用的是fad_dcmp_spi指南針模塊。模塊采用spi接口與mcu進(jìn)行數(shù)據(jù)交換。整個(gè)模塊驅(qū)動(dòng)包括了讀取pni11096數(shù)據(jù)、處理數(shù)據(jù)、封裝

31、數(shù)據(jù)和通過(guò)spi時(shí)序發(fā)送數(shù)據(jù)幾個(gè)部分。程序的流程如圖4.4所示圖4.4 指南針模塊內(nèi)部數(shù)據(jù)處理流程5 測(cè)試結(jié)果 在測(cè)試過(guò)程中,移動(dòng)指南針模塊到不同的方向都能較為正確的將測(cè)量到的方向信息形象地顯示在lcd液晶屏上。由于接入了實(shí)時(shí)實(shí)鐘模塊,在lcd液晶屏上也能正確的顯示當(dāng)前的日期和時(shí)間。同時(shí),通過(guò)鍵盤成功的調(diào)節(jié)了日期和時(shí)間,也能控制電子指南針進(jìn)行實(shí)際的操作。通過(guò)串口也能將測(cè)量到的方向數(shù)據(jù)上傳到上位機(jī)pc上。但是焊接技術(shù)不是非常的過(guò)硬,導(dǎo)致系統(tǒng)的穩(wěn)性和抗干擾能力不是很好,同時(shí)實(shí)際測(cè)量到的方向角度總是有1到2度的誤差。6 總結(jié) 經(jīng)過(guò)一個(gè)多月的努力,我終于設(shè)計(jì)出了一個(gè)簡(jiǎn)易的電子指南針。 所設(shè)計(jì)的系統(tǒng)中包

32、含了磁場(chǎng)傳感器、微控制器、顯示部件、輸入部件和實(shí)時(shí)時(shí)鐘等部分,微控制器通過(guò)對(duì)磁場(chǎng)傳感器配套的asic進(jìn)行讀取獲得當(dāng)前方向地磁場(chǎng)的強(qiáng)度,通過(guò)一定的運(yùn)算后由液晶顯示器顯示出來(lái),并可以通過(guò)微控制器的串口和上位機(jī)建立連接進(jìn)行數(shù)據(jù)的傳輸。 在課題的制作過(guò)程中,我也遇到了很多問(wèn)題。在硬件上,有些芯片的性能不是很了解,到網(wǎng)上又找不到相應(yīng)的芯片資料,只能自己慢慢地摸索。也正是這樣的一個(gè)過(guò)程,使我對(duì)芯片更加地了解,原理更加的明白,進(jìn)一步的鞏固了我的專業(yè)知識(shí)。在軟件方面,最主要的問(wèn)題就是當(dāng)前方向與正東方夾角的獲取。經(jīng)過(guò)向老師同學(xué)的請(qǐng)教,明白了在軟件編程時(shí)要非常注重硬件電路。因?yàn)檐浖墙⒃谟布幕A(chǔ)上的。同時(shí)一個(gè)

33、正確的軟件程序也能幫助檢測(cè)硬件電路是否有問(wèn)題。在整個(gè)研究開(kāi)發(fā)的過(guò)程中,我始終保持著認(rèn)真,仔細(xì)的態(tài)度,不斷提高自己的硬件系統(tǒng)設(shè)計(jì)各軟件設(shè)計(jì)的能力,看到自己的勞動(dòng)有了成果,我感到非常的高興。但因?yàn)閭€(gè)人在知識(shí)面和能力方面還有限,再加上條件的限制,我所完成的只是整個(gè)系統(tǒng)的一部分,電子指南針的采樣精度和抗干擾能力等各項(xiàng)技術(shù)指標(biāo)的提高、諸多功能的完善還需要進(jìn)一步的研究和開(kāi)發(fā),此外在完成基本功能的基礎(chǔ)上,還需要努力提高軟件的效率、硬件系統(tǒng)的穩(wěn)定性、進(jìn)一步降低系統(tǒng)功耗等。參考文獻(xiàn)1 黃志偉編著. 全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽系統(tǒng)設(shè)計(jì)m. 北京: 北京航空航天大學(xué)出版社, 2006.2 佐藤一朗. 集成運(yùn)算運(yùn)算放大器

34、電路設(shè)計(jì)實(shí)用手冊(cè)m. 北京: 北京航空航天大學(xué)出版社, 1989.高吉祥.3 余錫存,曹國(guó)華.單片機(jī)原理及接口技術(shù).西安:西安電子科技大學(xué)出版社. 2007. 4 高吉祥. 全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽培訓(xùn)系列教程之基本技能訓(xùn)練與單元電路設(shè)計(jì)m. 北京:電子工業(yè)出版社,2007 5 高吉祥. 高頻電子技術(shù)第二版m.北京:電子工業(yè)出版社,2008.6 bonnie baker. 嵌入式系統(tǒng)中的模擬設(shè)計(jì)m, 北京: 北京航空航天大學(xué)出版社. 2006.7 王新賢.通用集成電路速查手冊(cè)m.濟(jì)南:山東科學(xué)技術(shù)出版社,2002.8 蔣璇,臧純?nèi)A.數(shù)字系統(tǒng)設(shè)計(jì)與pld應(yīng)用第二版m. 北京:電子工業(yè)出版社,200

35、5.9 模擬電子技術(shù)第二版m.北京:電子工業(yè)出版社,2008. 10 譚浩強(qiáng). c程序設(shè)計(jì)(第三版).清華大學(xué)出版社. 北京:2009.11 付家才.單片機(jī)實(shí)驗(yàn)與實(shí)踐m.北京:高等教育出版社,2006.12 郭天祥. 51單片機(jī)c語(yǔ)言教程. 北京:電子工業(yè)出版社.2009. 41致 謝在本論文完成之際,我首先要向我的指導(dǎo)老師瞿軍表達(dá)我最誠(chéng)摯的謝意,感謝瞿老師在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中耐心細(xì)致的指導(dǎo)! 這次畢業(yè)論文能夠得以順利完成,并非我一人之功勞,是所有指導(dǎo)過(guò)我的老師,幫助過(guò)我的同學(xué)和一直關(guān)心支持著我的家人對(duì)我的教誨、幫助和鼓勵(lì)的結(jié)果。我要在這里對(duì)他們表示深深的謝意!感謝我的父母,他們不僅培養(yǎng)了我對(duì)

36、中國(guó)傳統(tǒng)文化的濃厚的興趣,讓我在漫長(zhǎng)的人生旅途中使心靈有了虔敬的歸依,而且也為我能夠順利的完成畢業(yè)論文提供了巨大的支持與幫助。在未來(lái)的日子里,我會(huì)更加努力的學(xué)習(xí)和工作,不辜負(fù)父母對(duì)我的殷殷期望!我一定會(huì)好好孝敬和報(bào)答他們!最后,向所有關(guān)心我的親人、師長(zhǎng)和朋友們表示深深的謝意。附錄:/*模塊名稱:測(cè)試主程序*/#include #include #include #include drivert6963.h /* t6963驅(qū)動(dòng)庫(kù) */#include database.h#include pcf8583.h#include uart.hunsigned char gblcnt = 0;unsi

37、gned char t0irqcnt = 0;unsigned char oldtempx, oldtempy;unsigned int angle;unsigned char keyflag = 0;extern unsigned char combuf10; /* 定義接收緩沖區(qū)*/unsigned char comcnt=0;/*函數(shù)名稱:delay()*函數(shù)功能:軟件延遲*入口參數(shù):延遲時(shí)間倍數(shù)*出口參數(shù):無(wú)*具體資源:無(wú)*調(diào)用程序:無(wú)*備 注:延時(shí)不精確*/void delay(unsigned int time) unsigned int i,j; for (i=0; itime;

38、 i+) for (j=0; j 4) + 0; /* 提取秒十位 */dispbuff5 = :;dispbuff4 = (time1 & 0x0f) + 0; /* 提取分個(gè)位 */dispbuff3 = (time1 4) + 0; /* 提取分十位 */dispbuff2 = :;dispbuff1 = (time2 & 0x0f) + 0; /* 提取時(shí)個(gè)位 */dispbuff0 = (time2 4) & 0x03) + 0; /* 提取時(shí)十位 */dispstr(y*20+x, dispbuff);/*函數(shù)名稱:discurdate()*函數(shù)功能:在指定位置顯示實(shí)時(shí)芯片內(nèi)的日期

39、*入口參數(shù):顯示位置x, y坐標(biāo)*出口參數(shù):無(wú)*具體資源:無(wú)*調(diào)用程序:readpcf8583(), disstr()*/void discurdate(unsigned char x, unsigned char y) unsigned char date2;unsigned char disbuf11;readpcf8583(0x05, 2, date); /* 獲取pcf8583的日期 */ disbuf4 = (date0 & 0x0f) + 0; /* 提取日個(gè)位 */disbuf3 = (date0 4) & 0x03) + 0; /* 提取日十位 */disbuf2 = /;di

40、sbuf1 = (date1 & 0x0f) + 0; /* 提取月個(gè)位 */disbuf0 = (date1 4) & 0x01) + 0; /* 提取月十位*/disbuf5 = /; disbuf6 = 2; disbuf7 = 0; disbuf8 = 0; disbuf9 = 8; disbuf10= 0; /* 在數(shù)組最后單元放入標(biāo)識(shí)符以便判斷內(nèi)容結(jié)束*/ dispstr(y*20+x, disbuf);/*函數(shù)名稱:disclock()*函數(shù)功能:繪制鐘面*入口參數(shù):顯示位置 *出口參數(shù):無(wú)*具體資源:無(wú)*調(diào)用程序:circle(), line(), writeen(), easych() */void drawclock(unsigned char x, unsigned char y, unsigned char r) circle(x, y, r); line(x, y-r, x, y-r+5, 0); /* 繪制0點(diǎn)處豎線 */ line(x, y+r, x, y+r-5, 0); /* 繪制6點(diǎn)處豎線 */ line(x-r, y, x-r+5, y, 0); /* 繪制9點(diǎn)處豎線 */ line(x+r, y

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論