自行車?yán)锍瘫淼脑O(shè)計畢業(yè)論文17082_第1頁
自行車?yán)锍瘫淼脑O(shè)計畢業(yè)論文17082_第2頁
自行車?yán)锍瘫淼脑O(shè)計畢業(yè)論文17082_第3頁
自行車?yán)锍瘫淼脑O(shè)計畢業(yè)論文17082_第4頁
自行車?yán)锍瘫淼脑O(shè)計畢業(yè)論文17082_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、【摘 要】本文介紹的速度與里程表設(shè)計以單片機最小系統(tǒng)和霍爾傳感器為核心。傳感器將不同車速轉(zhuǎn)變成的不同頻率的脈沖信號輸入到單片機進行控制與計算,再采用led模塊進行顯示,使得電動自行車的速度與里程數(shù)據(jù)能直觀的顯示給使用者。本系統(tǒng)由霍爾傳感器、rc濾波電路、單片機at89s51、系統(tǒng)化led顯示模塊、數(shù)據(jù)存儲電路和鍵盤控制組成。其中霍爾傳感器包含信號放大和波形整形。對待測信號進行放大的目的是降低對待測信號的幅度要求;波形變換和波形整形電路則用來將放大的信號轉(zhuǎn)換成可與單片機相連的ttl信號;通過單片機的設(shè)置可使內(nèi)部定時器t1對脈沖輸入引腳t0進行控制,這樣能精確地算出加到t0引腳的單位時間內(nèi)檢測到的

2、脈沖數(shù);設(shè)計中速度顯示采用led模塊,通過速度換算得來的里程數(shù)采用i2c總線并通過e2prom來存儲,既節(jié)省了所需單片機的口線和外圍器件,同時也簡化了顯示部分的軟件編程本文先對里程表設(shè)計當(dāng)中所需設(shè)備作了詳細(xì)介紹,對設(shè)計中存在的問題進行了說明;而后對硬件和軟件部分的設(shè)計和實現(xiàn)作了認(rèn)真的分析;然后給出了系統(tǒng)的建模過程及相應(yīng)的系統(tǒng)模型,在此基礎(chǔ)上進行了控制仿真,并對仿真效果進行了比較。本里程表的設(shè)計具有結(jié)構(gòu)簡單,成本低廉,顯示清晰,穩(wěn)定可靠等優(yōu)點。并且可進行擴充,加入時速表的功能,更加方便的了解你現(xiàn)在所處的情況。關(guān)鍵詞:單片機最小系統(tǒng),led數(shù)碼管,霍爾傳感器,rc濾波器,eeprom存儲器bicy

3、cle mileage count table abstract: this paper describes the design speed and odometer to scm system and the smallest hall sensor at the core. different speed sensor into different frequency pulse signal input to the microprocessor control and calculation adopt led modules, making the speed of electri

4、c bicycles and mileage data can be directly displayed to the user.the system consists of hall sensor, rc filter circuit, scm at89s51, systematic led display modules, data storage and keyboard control circuit components. hall sensor which contains signal amplification and waveform shaping. deal signa

5、ls measured amplification of the treatment is to reduce the rate of measured signals; waveform transform and waveform shaping circuit will be used for amplification of the signal can be converted into scm connected with ttl signals; scm through the setup will enable the internal timer t1 pulse input

6、 pin t0 control, this can be accurately calculated foisted t0 pin unit time detection of the pulse; design led display modules, through a conversion rate of mileage using i2c bus through e2prom to storage, saved for scm mouth lines and external devices, but also simplify the show part of the softwar

7、e programthis article first right odometer designs required equipment, details of the design issues of; later on hardware and software design and implementation carefully analyzed; then the system modeling process and the corresponding model, based on the control simulation, simulation results also

8、were compared. odometer the design of the structure is simple, low cost, showing clear, stable and reliable results. and can be expanded to speed the function table and more convenient understand you are now stand.keywords: scm minimum system, led digital control, hall sensor, rc filter, eeprom memo

9、ry.目錄第一章 緒論11.1 課題背景、發(fā)展及意義11.2 系統(tǒng)設(shè)計概述11.3 各章節(jié)的安排2第二章 自行車?yán)锍瘫淼脑O(shè)計方法與基本原理32.1 霍爾傳感器32.2 單片機最小系統(tǒng)32.3 頻率測量法52.4 led數(shù)碼管62.5 存儲器eeprom72.6 鍵盤控制72.7 rc濾波器8第三章 硬件實現(xiàn)的設(shè)計方法與原理93.1 系統(tǒng)概述93.2 系統(tǒng)總框圖103.3 各部分硬件圖103.3.1 顯示部分10第四章 自行車?yán)锍瘫碥浖崿F(xiàn)方法124.1 軟件編程實現(xiàn)124.1.2 數(shù)據(jù)處理124.1.3 鍵盤控制134.2 部分程序14第五章 制作電路板335.1 繪制電路原理圖335.2 制

10、作pcb板34第六章 總結(jié)366.1 實現(xiàn)功能366.2 心得體會36參考文獻37致 謝38第一章 緒論1.1 課題背景、發(fā)展及意義我國是自行車大國,隨著人們生活水平的不斷提高,自行車已經(jīng)不僅僅是運輸、代步的工具,其輔助功能也變得越來越重要。因此,人們希望自行車的娛樂、休閑、鍛煉的功能越來越多,能帶來大家更多的健康與快樂。在這個背景下,自行車?yán)锍瘫碜鳛樽孕熊嚨囊淮筝o助工具迅速發(fā)展起來.科學(xué)、美觀、合理設(shè)計自行車?yán)锍瘫碛幸欢ǖ膶嵱脙r值.它能合理計算出速度及公里數(shù),使運動者運動適量,達到健康運動與代步的最佳效果。隨著自行車?yán)锍瘫淼陌l(fā)展,其功能也逐漸從單一的里程顯示發(fā)展到速度、時間顯示,甚至有的還具

11、有測量騎車人的心跳、顯示騎車人熱量消耗等功能,讓人能清楚地知道當(dāng)前的速度、時間、里程等物理量。如佛山高明華勁電子公司的自行車?yán)锍瘫韒s-601,能動態(tài)顯示行駛里程、騎車時間、實時車速等。1.2 系統(tǒng)設(shè)計概述本設(shè)計中,我們以atmel公司at89s51單片機為控制核心,采用霍爾傳感器檢測自行車輪胎的運轉(zhuǎn)情況,通過一定的抗干擾處理和計算后,由led顯示自行車的里程。本設(shè)計中,計數(shù)的正確性決定了本裝置的精度,如何在復(fù)雜的環(huán)境中得到正確的計數(shù)脈沖,是本設(shè)計的難點,初步的解決辦法是在硬件上進行合理的濾波,軟件上進行一定的算法處理。本裝置中,還可用上屆畢業(yè)生的成果:人體脈搏測量儀的設(shè)計與實現(xiàn),本裝置將不僅

12、能測量自行車的里程,還能測量騎車人的心臟工作情況,從這個角度上,本設(shè)計更符合用戶的需要。本里程表的設(shè)計具有結(jié)構(gòu)簡單,成本低廉,顯示清晰,穩(wěn)定可靠等優(yōu)點。并且可進行擴充,加入時速表的功能,更加方便的了解你現(xiàn)在所處的情況。1.3 各章節(jié)的安排第一章敘述了自行車?yán)锍瘫淼谋尘啊l(fā)展、意義以及本自行車?yán)锍瘫淼母攀觥5诙陆榻B了自行車?yán)锍瘫淼脑O(shè)計方法與研究,主要是對設(shè)計中所需設(shè)備的詳細(xì)介紹,包括霍爾傳感器、單片機最小系統(tǒng)、頻率測量算法、數(shù)據(jù)存儲器eeprom及l(fā)ed數(shù)碼管。具體為:介紹霍爾傳感器的基本原理,及其應(yīng)用和發(fā)展;單片機最小系統(tǒng)的基本結(jié)構(gòu),工作原理及其性能;頻率測量的算法及其實現(xiàn);數(shù)據(jù)存儲器eep

13、rom的引腳極其性能,led數(shù)碼管的工作原理。 第三章是本論文的自行車?yán)锍瘫淼挠布O(shè)計部分,介紹了自行車?yán)锍瘫淼目傮w設(shè)計思想,電路圖及其原理,硬件實現(xiàn)。第四章是自行車?yán)锍瘫淼能浖崿F(xiàn)部分,主要介紹單片機編程實現(xiàn)頻率測量的功能。第五章是繪制電路原理圖,制作pcb圖。第六章為總結(jié)和展望,介紹了本論文實現(xiàn)的功能,闡述本課題的現(xiàn)實意義,以及對未來自行車?yán)锍瘫砑夹g(shù)的展望。第二章 自行車?yán)锍瘫淼脑O(shè)計方法與基本原理2.1 霍爾傳感器霍爾傳感器是一種能實現(xiàn)磁電轉(zhuǎn)換的傳感器,用它們可以檢測磁場及其變化?;魻杺鞲衅骶哂性S多優(yōu)點,它們的結(jié)構(gòu)牢固,體積小,壽命長,安裝方便,功耗小,頻率高,耐震動,不怕灰塵、油污及鹽霧

14、等的污染或腐蝕?;魻栭_關(guān)器件具有無觸點、輸出波形清晰、無抖動、位置重復(fù)精度高等優(yōu)點。 霍爾效應(yīng):在一塊半導(dǎo)體薄片上,其長度為,寬度為,厚度為,當(dāng)它被置于磁感應(yīng)強度的磁場中,如果在它的相對的兩邊通以控制電流,且磁場方向與電流方向正交,則在半導(dǎo)體另外兩端將產(chǎn)生一個大小與控制電流方向和磁感應(yīng)強度乘積成正比的電勢h,即uh=khib,其中kh為霍爾元件的靈敏度。該電勢就稱為霍爾電勢,半導(dǎo)體薄片就是霍爾元件。由于霍爾元件具有在靜止?fàn)顟B(tài)下感受磁場的能力,且結(jié)構(gòu)簡單,形小體輕,頻帶寬(可從直流到微波),動態(tài)特性好、動態(tài)范圍大,壽命長和可進行非接觸測量等優(yōu)點,故在檢測技術(shù)、自動控制技術(shù)和信息處理等方面得到日益

15、廣泛應(yīng)用?;魻杺鞲衅髟谖磥戆l(fā)展中的趨勢將是高靈敏度、高精度和高穩(wěn)定度,它將在微電子技術(shù)發(fā)展的基礎(chǔ)上更加飛速的發(fā)展。 2.2 單片機最小系統(tǒng)單片機最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機可以工作的系統(tǒng).對51系列單片機來說,最小系統(tǒng)一般應(yīng)該包括:單片機、晶振電路、復(fù)位電路。(1)單片機最小系統(tǒng)的結(jié)構(gòu)單片機要正常運行,必須具備一定的硬件條件,其中最主要的就是三個基本條件:1.電源正常;2.時鐘正常;3.復(fù)位正常。在at89s51單片機的40個引腳中:電源引腳2根,晶振引腳2根,控制引腳4根,可編程輸入輸出引腳32根。工作電源:電源是單片機工作的動力源泉,對應(yīng)的接線方法為:40腳

16、(vcc)電源引腳,工作時接+5v電源,20腳(gnd)為接地線。 復(fù)位電路:由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合電容電壓不能突變的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,rst腳將會出現(xiàn)高電平,并且,這個高電平持續(xù)的時間由電路的rc值來決定.典型的51單片機當(dāng)rst腳的高電平持續(xù)兩個機器周期以上就將復(fù)位,所以,適當(dāng)組合rc的取值就可以保證可靠的復(fù)位。一般教科書推薦c取10u,r取8.2k。當(dāng)然也有其他取法的,原則就是要讓rc組合可以在rst腳上產(chǎn)生不少于2個機器周期的高電平。晶振電路:時鐘電路為單片機產(chǎn)生時序脈沖,單片機所有運算與控制過程都是在統(tǒng)一的時序脈沖的驅(qū)動下的進行的,如果單片機的時鐘電路停止工作(晶

17、振停振),那么單片機也就停止運行了。當(dāng)采用內(nèi)部時鐘時,連接方法如下圖所示,在晶振引腳xtal1(19腳)和xtal2(18腳)引腳之間接入一個晶振,兩個引腳對地分別再接入一個電容即可產(chǎn)生所需的時鐘信號,電容的容量一般在幾十皮法,如30pf。典型的晶振取11.0592mhz(因為可以準(zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場合)/12mhz(產(chǎn)生精確的us級時歇,方便定時操作)??刂埔_ea接法。ea/vpp(31腳)為內(nèi)外程序存儲器選擇控制引腳,當(dāng)ea為低電位時,單片機從外部程序存儲器取指令;當(dāng)ea接高電平時,單片機從內(nèi)部程序存儲器取指令。at89s51單片機內(nèi)部有4kb可

18、反復(fù)擦寫1000次以上的程序存儲器,因此我們把ea接到+5v高電平,讓單片機運行內(nèi)部的程序,我們就可以通過反復(fù)燒寫來驗證我們的程序了。(2)單片機最小系統(tǒng)的性能89s51相對于89c51增加的新功能包括: isp在線編程功能,這個功能的優(yōu)勢在于改寫單片機存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個強大易用的功能。最高工作頻率為33mhz,大家都知道89c51的極限工作頻率是24mhz,就是說s51具有更高工作頻率,從而具有了更快的計算速度。具有雙工uart串行通道。 內(nèi)部集成看門狗計時器,不再需要像89c51那樣外接看門狗計時器單元電路。 雙數(shù)據(jù)指示器、電源關(guān)閉標(biāo)識、全新的加密算法,這使

19、得對于89s51的解密變?yōu)椴豢赡?,程序的保密性大大加強,這樣就可以有效的保護知識產(chǎn)權(quán)不被侵犯。兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89c51等等早期mcs-51兼容產(chǎn)品。也就是說所有教科書、網(wǎng)絡(luò)教程上的程序(不論教科書上采用的單片機是8051還是89c51還是mcs-51等等),在89s51上一樣可以照常運行,這就是所謂的向下兼容。2.3 頻率測量法用于頻率測量的方法有很多,頻率測量的準(zhǔn)確度主要取決于所測的頻率范圍以及被測對象的特點.而測量所能達到的精度,不僅僅取決于作為標(biāo)準(zhǔn)器使用的頻率源的精度,也取決于所使用的測量設(shè)備和測量方法。該設(shè)計能實時地將所測的速度與累計里程數(shù)顯

20、示出來,主要是將傳感器輸入到單片機的脈沖信號的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號)實時地測量出來,考慮到信號的衰減、干擾等影響,在信號送入單片機前應(yīng)對其進行放大整形,然后通過單片機計算出速度和里程,再將所得的數(shù)據(jù)存儲到串口數(shù)據(jù)存儲器,并由led顯示模塊交替顯示所測速度與里程。本設(shè)計的里程數(shù)的算法是一種大概的算法(假設(shè)在一定時間內(nèi)自行車是勻速行進,平均速度與時間的乘積即為里程數(shù))。設(shè)計時,應(yīng)綜合考慮測速精度和系統(tǒng)反應(yīng)時間。本設(shè)計用測量脈沖頻率來計算速度,因而具有較高的測速精度。在計算里程時取了自行車的理想狀態(tài)。實際中,誤差控制在幾米之內(nèi),相對于整個里程來說不是很大。另外,還應(yīng)盡量保證

21、其他子模塊在編程時的通用性和高效性。本設(shè)計的速度和里程值采用6位顯示,并包含兩個小數(shù)位。我們所用的霍爾傳感器是一塊集成芯片。它結(jié)合了采樣和放大功能與一體。首先我們把磁鋼放在自行車的轉(zhuǎn)軸上,而霍爾元件就放在與其水平的轉(zhuǎn)軸上,當(dāng)我們完成安裝后,轉(zhuǎn)動自行車的轉(zhuǎn)軸,磁鋼也就跟著一起轉(zhuǎn)動,從而使霍爾傳感器周圍的磁場發(fā)生變化,這種變化將會導(dǎo)致霍爾電壓變化從而產(chǎn)生一個毫伏級的方波,再通過其內(nèi)部的整形和放大。產(chǎn)生出一個適合外部電路的脈沖電壓。由于磁鋼共分為8片,磁場將會改變8次,磁場強度大時輸出高電平,磁場低時輸出為低電平。所以將會產(chǎn)生8個方波,既每輸出8個方波代表自行車轉(zhuǎn)動了一周。例如:我們的自行車車輪在r

22、=0.25m時,通過計算得出車輪的周長c=1.5m。由于每一圈霍爾傳感器將輸出8個脈沖,當(dāng)自行車行駛1km時會轉(zhuǎn)動667次,這樣每1km將回產(chǎn)生5336個脈沖,單片機對這5336個脈沖計數(shù),當(dāng)達到這個數(shù)時單片機將會產(chǎn)生中斷。通過單片機計算出來的速度和里程的數(shù)據(jù),必須通過bcd碼的轉(zhuǎn)換才能輸出給顯示模塊。總里程數(shù)的顯示是設(shè)定出現(xiàn)在電動自行車開動,單片機開機經(jīng)過初始化后顯示出來,這樣以來用戶可以清楚的知道自己的車子已經(jīng)運行了多少公里了。而速度的顯示則是在計算出速度里程后立刻顯示出來,體現(xiàn)實時性。2.4 led數(shù)碼管與lcd液晶顯示器相比,數(shù)碼管雖沒有液晶顯示器那樣的顯示效果,也沒有液晶顯示器做圖形

23、界面具有人機交互美觀的特點。但是led有其自己的特點,它具有低功耗,容易控制,占用cpu資源少這些優(yōu)點,從而成為一些顯示器的首選。數(shù)碼管由7個發(fā)光二極管組成,行成一個日字形,它門可以共陰極,也可以共陽極。通過解碼電路得到的數(shù)碼接通相應(yīng)的發(fā)光二極而形成相應(yīng)的字符。它可以顯示從1到9的數(shù)字。這足以滿足設(shè)計要求。由霍爾傳感器采集的脈沖數(shù)據(jù)信號,通過rc濾波后向單片機提供數(shù)據(jù)脈沖,單片機再對其進行記數(shù)。當(dāng)達到先前所設(shè)計的計數(shù)值的時候單片機就申請中斷,從而使單片機響應(yīng)中斷程序,既使其輸出一個信號代表此時自行車已經(jīng)行駛了1km,這時在經(jīng)過顯示單元電路使led數(shù)碼管顯示1km。當(dāng)?shù)诙€信號來的時候,電路實現(xiàn)

24、加一的功能后在送led顯示。這樣就實現(xiàn)了顯示里程的目的。2.5存儲器eepromeeprom(electricallyerasableprogrammableread一onlymemory)即電子擦除式只讀存儲器,它是一種非揮發(fā)性存儲器,是可用戶更改的只讀存儲器(rom),其可通過高于普通電壓的作用來擦除和重編程(重寫)。不像eprom芯片,eeprom不需從計算機中取出即可修改。在一個eeprom中,當(dāng)計算機在使用的時候是可頻繁地重編程的,eeprom的壽命是一個很重要的設(shè)計考慮參數(shù)。eeprom的一種特殊形式是閃存,其應(yīng)用通常是個人電腦中的電壓來擦寫和重編程。電可擦除只讀存儲器eeprom

25、的主要優(yōu)點是能在應(yīng)用系統(tǒng)中進行在線改寫,并能在斷電情況下保存數(shù)據(jù)而不需保護電源。因此,在智能儀表、控制裝置、分布式監(jiān)測系統(tǒng)子站、開發(fā)裝置中得到廣泛應(yīng)用。2.6 鍵盤控制鍵盤在單片機應(yīng)用系統(tǒng)中,實現(xiàn)輸入數(shù)據(jù)、傳送命令的功能,是人工干預(yù)的主要手段。鍵盤分兩大類:編碼鍵盤和非編碼鍵盤。編碼鍵盤:由硬件邏輯電路完成必要的鍵識別工作與可靠性措施。每按一次鍵,鍵盤自動提供被按鍵的讀數(shù),同時產(chǎn)生一選通脈沖通知微處理器,一般還具有反彈跳和同時按鍵保護功能。這種鍵盤易于使用,但硬件比較復(fù)雜,對于主機任務(wù)繁重之情況,采用8279可編程鍵盤管理接口芯片構(gòu)成編碼式鍵盤系統(tǒng)是很實用的方案。非編碼鍵盤:只簡單地提供鍵盤的

26、行列與矩陣,其他操作如鍵的識別,決定按鍵的讀數(shù)等僅靠軟件完成,故硬件較為簡單,但占用cpu較多時間。有:獨立式按鍵結(jié)構(gòu)、矩陣式按鍵結(jié)構(gòu)。首先,確定鍵盤編碼方案:采用編碼鍵盤或非編碼鍵盤。隨后,確定鍵盤工作方式:采用中斷或查詢方式輸入鍵操作信息。然后,設(shè)計硬件電路。非編碼鍵盤系統(tǒng)中,鍵閉合和鍵釋放的信息的獲取,鍵抖動的消除,鍵值查找及一些保護措施的實施等任務(wù),均由軟件來完成。2.7 rc濾波器濾波電路是直流電源的重要組成部分,它一般是由電容等儲能元件組成,用來濾除單向脈動電壓中的諧波分量,從而得到比較平滑的直流電壓。圖1所示為橋式整流簡單rc濾波電路。由圖可以看出,濾波電容c并聯(lián)于整流電路的輸出

27、端,即c與rl并聯(lián),整流電路的負(fù)載為容性。其工作原理為:設(shè)t=0時接通電源,當(dāng)由零逐漸上升時,二極管d1 , 圖2.1 橋式整流電容濾波的原理電路 圖2.2 工作波形d3導(dǎo)通,d2、d4截止,電流方向如圖中箭頭所示。電流一路流過負(fù)載rl,一路向電容c充電,充電極性為上正、下負(fù)。由于電源內(nèi)阻及二極管導(dǎo)通電阻均很小,即充電時間常數(shù)很小,所以充電進行的很快,c兩端的電壓隨很快上升到峰值,即。當(dāng)由峰值開始下降時,充電過程結(jié)束。由于電容c兩端的電壓,這時,四只二極管均被反偏截止,電容c向負(fù)載rl放電,從而使通過負(fù)載rl的電流得以維持。放電時間常數(shù)rlc取值愈大,rl兩端的電壓下降愈緩慢,輸出波形愈平滑,

28、直到下一個半周到來,且時,d2、d4才正偏道通(d1、d3仍截止),放電過程結(jié)束,又開始給c充電。如此周而復(fù)始的充電、放電,在負(fù)載rl上便得到如圖2所示的輸出電壓。第三章 硬件實現(xiàn)的設(shè)計方法與原理3.1 系統(tǒng)概述本系統(tǒng)是由數(shù)據(jù)采集,單片機控制系統(tǒng),鍵盤顯示,數(shù)據(jù)存儲4部分構(gòu)成。其中數(shù)據(jù)的采集是由霍爾傳感器來完成的,它的輸出是矩形脈沖,經(jīng)過rc濾波后就向單片機系統(tǒng)提供轉(zhuǎn)速信號。其中關(guān)鍵的處理由單片機系統(tǒng)來完成,單片機將對int1腳的信號進行計數(shù),當(dāng)計數(shù)的脈沖達到1km的時候,int1申請中斷,對外輸出信號,輸出的信號由顯示部分送led進行顯示,顯示當(dāng)前的行駛里程情況。在本次行駛過后數(shù)據(jù)存入eep

29、rom中,以便下次行駛時在其基礎(chǔ)上繼續(xù)計數(shù)送出顯示總共的里程數(shù),以達到記憶的目的。鍵盤的作用是提供人對整個系統(tǒng)的控制,它將實現(xiàn)整個系統(tǒng)開關(guān),顯示器的開關(guān),部分單元電路的控制。以上所訴就是整個系統(tǒng)的總體設(shè)計思想。 利用霍爾元件對里程進行測量。將霍爾元件安裝在車前叉的一側(cè),在車圈側(cè)面等間隔貼多個磁片。當(dāng)磁片經(jīng)過霍爾元件時,霍爾元件輸出端的電壓發(fā)生變化產(chǎn)生脈沖,單片機根據(jù)脈沖數(shù)來計算里程?;魻栐皇芴鞖獾挠绊?,即便被泥沙或灰塵覆蓋對測量也不會有任何影響。由霍爾元件加整形電路構(gòu)成的霍爾開關(guān)系統(tǒng),具有輸出響應(yīng)快,數(shù)字脈沖性能好,安裝方便,性能可靠,不受光線、泥水等因素影響,價格便宜的優(yōu)點。該設(shè)計能實時

30、地將所測的累計里程數(shù)顯示出來,主要是將傳感器輸入到單片機的脈沖信號的頻率(傳感器將不同車速轉(zhuǎn)變成不同頻率的脈沖信號)實時地測量出來,考慮到信號的衰減、干擾等影響,在信號送入單片機前應(yīng)對其進行放大整形,然后通過單片機計算出里程,再將所得的數(shù)據(jù)存儲到數(shù)據(jù)存儲器,并由led顯示模塊交替顯示所測里程。本設(shè)計的里程數(shù)的算法是一種大概的算法(假設(shè)在一定時間內(nèi)自行車是勻速行進,平均速度與時間的乘積即為里程數(shù))。 設(shè)計時,應(yīng)綜合考慮測速精度和系統(tǒng)反應(yīng)時間。本設(shè)計用測量脈沖頻率來計算速度,因而具有較高的測速精度。在計算里程時取了自行車的理想狀態(tài)。實際中,誤差控制在幾米之內(nèi),相對于整個里程來說不是很大。為了保證系

31、統(tǒng)的實時性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)bcd碼模塊都采用快速算法。另外,還應(yīng)盡量保證其他子模塊在編程時的通用性和高效性。本設(shè)計的里程值采用4位顯示。3.2 系統(tǒng)總框圖at89s51rc濾波器鍵盤控制顯示電路數(shù)據(jù)儲存 eeprom霍爾傳感器 圖3.1系統(tǒng)總框圖3.3 各部分硬件圖 3.3.1 顯示部分本設(shè)計的顯示模塊包括74ls138和4個led顯示管等器件。 74ls138的作用相當(dāng)于位選的功能,當(dāng)c,b,a的輸入分別為“000、001、010、011、100、101”時分別選擇不同的7段譯碼器,從而在不同位上顯示不同的數(shù)字。圖6是顯示模塊框圖。7 4 l s 1 3 8led1led2l

32、ed3led8圖3.3 顯示模塊框圖圖7為系統(tǒng)顯示部分的電路。系統(tǒng)中用74ls138的y0y3選擇七段譯碼器以驅(qū)動led顯示,圖中字符相對應(yīng)的地方表示其引腳相連。圖3.4 系統(tǒng)顯示部分連接圖 第四章 自行車?yán)锍瘫碥浖崿F(xiàn)方法4.1 軟件編程實現(xiàn)4.1.1 系統(tǒng)軟件框圖如圖8所示,本系統(tǒng)軟件采用模塊化設(shè)計方法。整個系統(tǒng)由初始化模塊、頻率測量模塊、速度,里程計算模塊、數(shù)據(jù)轉(zhuǎn)bcd碼模塊、速度顯示模塊、里程顯示模塊、數(shù)據(jù)存儲,讀取模塊、定時器中斷服務(wù)模塊以及其他功能模塊組成。初始化 模塊里 程 顯 示 模 塊e e p r o m 數(shù) 據(jù) 讀 出 模 塊頻 率 測 量 模 塊中 斷 服 務(wù) 模 塊圖

33、4.1 系統(tǒng)軟件框圖4.1.2 數(shù)據(jù)處理本設(shè)計所用的霍爾傳感器是一塊集成芯片。它結(jié)合了采樣和放大功能于一體。首先我們把磁鋼放在自行車的轉(zhuǎn)軸上,而霍爾元件就放在與其水平的轉(zhuǎn)軸上,當(dāng)我們完成安裝后,轉(zhuǎn)動自行車的轉(zhuǎn)軸,磁鋼也就跟著一起轉(zhuǎn)動,從而使霍爾傳感器周圍的磁場發(fā)生變化,這種變化將會導(dǎo)致霍爾電壓變化從而產(chǎn)生一個mv級的方波,再通過其內(nèi)部的整形和放大。產(chǎn)生出一個適合外部電路的脈沖電壓。由于磁鋼共分為8片,磁場將會改變8次,磁場強度大時輸出高電平,磁場低時輸出為低電平。所以將會產(chǎn)生8個方波,既每輸出8個方波代表自行車轉(zhuǎn)動了一周。比如我們的自行車車輪在r=0.25m時,通過計算得出車輪的周長c=1.5

34、m。由于每一圈霍爾傳感器將輸出8個脈沖,當(dāng)自行車行駛1km時會轉(zhuǎn)動667次,這樣每1km將回產(chǎn)生5336個脈沖,單片機對這5336個脈沖計數(shù)。通過單片機計算出來的速度和里程的數(shù)據(jù),必須通過bcd碼的轉(zhuǎn)換才能輸出給顯示模塊??偫锍虜?shù)的顯示是設(shè)定出現(xiàn)在電動自行車開動,單片機開機經(jīng)過初始化后顯示出來,這樣以來用戶可以清楚的知道自己的車子已經(jīng)運行了多少公里了。 4.1.3 鍵盤控制鍵盤是實現(xiàn)人機對話的必要設(shè)備,用戶可用鍵盤向計算機輸入數(shù)據(jù)或命令。本系統(tǒng)采用獨立鍵盤接口,獨立式按鍵是指直接用i/o口線構(gòu)成單個的按鍵電路。每一個獨立式按鍵單獨占用一根i/o口線。其接口電路如圖4.2所示。獨立式按鍵接口電路

35、配置靈活,軟件結(jié)構(gòu)簡單。但每個按鍵要占用一根i/o口線,適用于按鍵數(shù)量少的鍵盤。 電路中,按鍵輸入低電平有效。按鍵未按時有上拉電阻保證此時輸入為高電平。圖4.2 獨立式按鍵接口電路4.2部分程序 (1)鍵盤掃描部分程序#include#include#include#include#include#include#defineucharunsignedchar#defineuintunsignedint sbit k0=p1.0;sbit k1=p1.1;sbit k2=p1.2;keyscan()if (k0=0)uchara;for(a=255;a0;a-)/延時if(k0=0)/有鍵按下

36、measure(); /處理程序else if (k1=0)uchara;for(a=255;a0;a-)/延時if(k1=0)/有鍵按下measure();else if (k2=0)uchara;for(a=255;a0;a-)/延時if(k2=0)/有鍵按下measure();main()while(1)p0=keyscan();while(1);(2) 存儲器部分程序#include#include#define uchar unsigned char#define uint unsigned int#define _nop() _nop_() /*定義空指令*/sbit scl=p1

37、1;sbit sda=p12;sbit dog=p17; sbit led=p07;sbit led_1=p03;sbit led_2=p04;sbit led_3=p05;sbit led_4=p06;uint led1_data,led2_data,led3_data,led4_data,led_data;uchar code led_segment12=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x0,0xff;uchar x24c02_read(uchar address);void x24c02_write(uchar add

38、ress,uchar info); void x24c02_init(); void delay1(uchar x);void flash();void x24c01_init();void start();void stop();#includevoid writex(uchar j);uchar readx();void clock();void clrscr(void);/*延時程序*/void delay1(uchar x) uint i;for(i=0;ix;i+);dog=dog;/*e2prom工作指示程序*/void flash() uchar u;dog=dog;/*e2pr

39、om初始化程序*/void x24c02_init() scl=1; flash(); sda=1; flash();/*e2prom起始信號程序*/void start()sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();/*e2prom結(jié)束信號程序*/void stop() sda=0; flash(); scl=1; flash(); sda=1; flash();/*e2prom寫控制程序*/void writex(uchar j) uchar i,temp;temp=j;for (i=0;i8;i+)temp

40、=temp1; scl=0; flash(); sda=cy; flash(); scl=1; flash();scl=0; flash(); sda=1; flash();/*e2prom讀控制程序*/uchar readx()uchar i,j,k=0;scl=0; flash(); sda=1;for (i=0;i8;i+)flash(); scl=1; flash();if (sda=1) j=1;else j=0;k=(k1)|j; scl=0;flash(); return(k);/*e2prom時鐘發(fā)生程序*/void clock()uchar i=0;scl=1; flash(

41、);while (sda=1)&(i255)i+;scl=0; flash();/*e2prom讀程序*/uchar x24c02_read(uchar address)uchar i;start(); writex(0xa0);clock(); writex(address);clock(); start();writex(0xa1); clock();i=readx(); stop();delay1(10);return(i);/*e2prom寫地址和內(nèi)容程序*/void x24c02_write(uchar address,uchar info)ea=0;start(); writex(

42、0xa0);clock(); writex(address);clock(); writex(info);clock(); stop();ea=1;delay1(50);/*延時子程序*/void delay(uint v)while(v!=0)v-;void display()led=1;led_1=1;led_2=1;led_3=1;led_4=1;delay(50);p2=led_data;led=0;delay(50);p2=led_segmentled1_data;led=1;led_1=0;delay(50);p2=led_segmentled2_data;led_1=1;led_

43、2=0;delay(50);p2=led_segmentled3_data;led_2=1;led_3=0;delay(50);p2=led_segmentled4_data;led_3=1;led_4=0;delay(50);main()delay(100);x24c02_init(); while(1)x24c02_write(0x1,2);led1_data=x24c02_read(0x1);x24c02_write(0x2,2);led2_data=x24c02_read(0x2);x24c02_write(0x3,2);led3_data=x24c02_read(0x3);led4_

44、data=3;led_data=0xff;display();(3)顯示部分程序#include#include#include#include#define un unsigned charun read_1byte();void write_1byte(unsigned char x);void writetochip(un a,b);void read(un h,l,d);void jiami51();void jiami53();void ck(un x);void csf();un d104;void del05s();un btl_bz;un icxh;unsigned int a

45、llbyte;/需讀出的字節(jié)數(shù)不16位sbit lsledcs =p37;void delay();un zh_adh8252r(un x);un zh_adh8252w(un x);sfr16 dptr=0x82;sbit acc0=acc0;sbit acc1=acc1;sbit acc2=acc2;sbit acc3=acc3;sbit acc4=acc4;sbit acc5=acc5;sbit acc6=acc6;sbit acc7=acc7;unsigned char bdata bm;sbit bm0=bm0;sbit bm1=bm1;sbit bm2=bm2sbit bm3=bm

46、3;sbit bm4=bm4;sbit bm5=bm5;sbit bm6=bm6sbit bm7=bm7;un data rmem6=0xff,0xff,0xff,0xff,0xff,0xff;un code ledcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,/0-90x88,0x83,0xa7,0xa1,0x86,0x8evoid main()unsigned int i,j;csf()while(1)p0=0xff;lsledcs=1;j=0;while(j!=30i=0;dop0=ledcode0;p1=0xfe;dela

47、y();p0=ledcode1;p1=0xfd;delay();p0=ledcode2;p1=0xfbdelay();p0=ledcode3p1=0xf7;delay();i+;while(i!=10);j+;1=0xff;del05s();/ j=0;while(j!=30)i=0;dop0=ledcode4;p1=0xfe;delay();p0=ledcode5;p1=0xfddelay();p0=ledcode6;p1=0xfb;delay();p0=ledcode7;p1=0xf7;delay();i+;while(i!=10);j+;p1=0xff;del05s();/j=0whil

48、e(j!=30)i=0;dop0=ledcode8;p1=0xfe;delay()p0=ledcode9;p1=0xfd;delay();p0=ledcode10;p1=0xfb;delay();p0=ledcode11;p1=0xf7;delay();i+;while(i!=10);j+;p1=0xff;del05s();/強力單片機技術(shù)項目交易網(wǎng)j=0;while(j!=30)i=0;dop0=ledcode12;強力單片機技術(shù)項目交易網(wǎng)p1=0xfe;delay();p0=ledcode13;強力單片機技術(shù)項目交易網(wǎng)p1=0xfd;delay();p0=ledcode14;p1=0xfb

49、;delay();p0=ledcode15;強力單片機技術(shù)項目交易網(wǎng)p1=0xf7;delay();i+;while(i!=10);j+;p1=0xff;強力單片機技術(shù)項目交del05s();p0=0x00;p1=0xff;lsledcs=0;del05s();del05s(); lsledcs=1;del05s();void csf()tmod=0x20;th1=0xfd;tl1=0xfd;scon=0x50;pcon|=0x80;tr1=1;ea=1;delay();es=0;sbuf=0xf0;while(ti=0);ti=0;sbuf=0x01;while(ti=0);ti=0;sbu

50、f=0x02;while(ti=0);ti=0;sbuf=0x03;while(ti=0);ti=0;es=1;/*#串口*/void surt() interrupt 4un surti; unsigned int cc1;surti=0;ri=0;d10surti=sbuf;docc1=0xffff;surti+;while(ri=0)cc1-;if(cc1=0)goto surtint;ri=0;d10surti=sbuf;while(surti!=3);surtint:;es=1;void delay()unsigned int kk=0xff;do_nop_();kk-;while(

51、kk!=0);void del05s()unsigned int kk=0xefff;do_nop_();kk-;while(kk!=0);(4) 頻率測量部分程序本設(shè)計我們把8片磁鋼放在自行車的轉(zhuǎn)軸上,由于磁鋼共分為8片,磁場將會改變8次,磁場強度大時輸出高電平,磁場低時輸出為低電平。所以將會產(chǎn)生8個方波,既每輸出8個方波代表自行車轉(zhuǎn)動了一周。一般的自行車車輪在r=0.25m時,通過計算得出車輪的周長c=1.5m。由于每一圈霍爾傳感器將輸出8個脈沖,當(dāng)自行車行駛1km時會轉(zhuǎn)動667次,這樣每1km將回產(chǎn)生5336個脈沖,單片機對這5336個脈沖計數(shù),當(dāng)達到這個數(shù)時單片機將會產(chǎn)生中斷。 外部信

52、號由t1引腳輸入,每產(chǎn)生依次負(fù)跳變計數(shù)器加1,每輸入667個脈沖時計數(shù)器發(fā)生溢出中斷,在中斷服務(wù)程序中將p0取反依次。t1計數(shù)方式工作模式1的模式字為tmod=50h,t0不用,tmod的低4位可以任意?。ǖ荒苓M入模式3),現(xiàn)取0。計算t1的計數(shù)初值x=216667=64869d=e400htl1的初值位00h,th1為e4h/部分程序:#include#define uchar unsigned char#define uint unsigned intsbit bita=p33;sbit bitb=p34;sbit bitc=p35;sbit bitd=p36;/*四位數(shù)abcd */uint sum=0;/*里程數(shù) */uint k=0;uint store7=0,0,

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論