版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)教學環(huán)節(jié)成果</b></p><p><b> ?。?013 屆)</b></p><p> 題 目 自行車里程/速度計的設計 </p><p> 學 院 </p><p> 專 業(yè) &
2、lt;/p><p> 班 級 </p><p> 學 號 </p><p> 姓 名 </p><p> 指導教師 </p><p> 20
3、13年 05月18日</p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p> ABSTRACT2</p><p><b> 1 引 言3</b></p><p> 1.1 課題背
4、景3</p><p> 1.2 課題的主要任務及內容3</p><p> 2 自行車的里程/速度計總體方案設計4</p><p> 2.1 任務分析與實現4</p><p> 2.2 自行車的里程/速度計硬件方案設計4</p><p> 2.3 自行車的里程/速度計軟件方案設計6</p>
5、;<p> 3 自行車的速度/里程計硬件電路設計8</p><p> 3.1 傳感器及其測量系統(tǒng)8</p><p> 3.1.1 霍爾傳感器的測量原理8</p><p> 3.1.2 集成開關型霍爾傳感器9</p><p> 3.2 單片機最小系統(tǒng)10</p><p> 3.2.1
6、單片機簡介10</p><p> 3.2.2 單片機最小系統(tǒng)10</p><p> 3.3 74HC573驅動器的介紹11</p><p> 3.4 顯示和報警電路的設計13</p><p> 3.4.1 顯示電路的設計14</p><p> 3.4.2 報警電路的設計15</p>
7、<p> 4 自行車的里程/速度計軟件程序設計15</p><p> 4.1 自行車的里程/速度計總體程序設計15</p><p> 4.2 子程序的設計17</p><p> 4.3 主程序的設計18</p><p> 5 系統(tǒng)調試與分析18</p><p> 5.1 系統(tǒng)仿真調試1
8、8</p><p> 5.2 調試故障及原因分析19</p><p> 5.3 PROTEUS仿真過程19</p><p> 6 結論與展望21</p><p><b> 6.1結論21</b></p><p><b> 6.2 展望22</b></
9、p><p><b> 致 謝22</b></p><p><b> 參考文獻23</b></p><p><b> 附 錄23</b></p><p> 1 自行車的速度里程計硬件系統(tǒng)原理圖23</p><p> 2 自行車的速度里程計仿真
10、效果圖25</p><p> 3 自行車的速度里程計PCB圖26</p><p><b> 4 元件清單26</b></p><p><b> 5 源程序27</b></p><p> 自行車里程/速度計的設計</p><p> 摘 要:本論文主要闡述一種基
11、于霍爾元件的自行車的速度里程表的設計。以 AT89C52 單片機為核心, 霍爾元件測轉數,實現對自行車里程/速度的測量統(tǒng)計,采用 74HC573 實現在系統(tǒng)掉電的時候保存里程信息,利用定時中斷記錄行車時間,并用按鈕切換將自行車的里程、速度和行車時間用LED實時顯示。文章詳細介紹了自行車的速度里程計的硬件和軟件設計。硬件部分利用霍爾元件將自行車每轉一圈的脈沖數傳入單片機系統(tǒng),然后將信號經過處理送顯示,軟件部分用C語言進行編程,采用模塊化設
12、計思想。</p><p> 關鍵詞:里程/速度 霍爾元件 單片機 LED</p><p> Design of bicycle mileage / speed meter</p><p> ABSTRACT:the bicycle mileage/speed design based on the Hall element is elaborated.
13、By AT89C52 as kernel, Measuring the number of revolutions of the Hall signal generator, the measure and statistic are achieved. The range information is saved by 74HC573 when the power is off, Use timer interrupt to reco
14、rd travel time, and can use a button to switch to the bicycle mileage, speed and travel time real-time display with LED..In this article, the hardware circuit and software design of bicycle mileage</p><p>
15、KEY WORDS: Mileage / speed; Hall element; Single chip microcomputer; LED</p><p><b> 1 引 言</b></p><p><b> 1.1 課題背景</b></p><p> 自行車被發(fā)明及使用到現在已有兩百多年的歷史,這兩百年間人
16、類在不斷的嘗試與研發(fā)過程中,將玩具式的木馬車轉換到今日各式新穎休閑運動自行車,自行車發(fā)展的目的也從最早的交通代步的工具轉換成休閑娛樂運動的用途。</p><p> 隨著居民生活水平的不斷提高,自行車不再僅僅是普通的運輸、代步的工具,而是成為人們娛樂、休閑、鍛煉的首選。因此,人們希望自行車的功用更強大,能給人們帶來更多的方便。自行車里程速度表作為自行車的一大輔助工具也正是隨著這個要求而迅速發(fā)展的,其功能也逐漸從單
17、一的里程顯示發(fā)展到速度、時間顯示,甚至有的還具有測量騎車人的心跳、顯示騎車人熱量消耗等功能。本設計采用了MCS-51系列單片機設計一種體積小、操作簡單的便攜式自行車的速度里程表,它能自動地顯示當前自行車行走的距離及運行的速度。 </p><p> 1.2 課題的主要任務及內容</p><p> 本課題主要任務是利用霍爾元件、單片機等部件設計一個可用LED數碼管實時顯示里程和速度的自行車
18、的速度里程表。本文主要介紹了自行車的速度里程表的設計思想、電路原理、方案論證以及元件的選擇等內容,整體上分為硬件部分設計和軟件部分設計。</p><p> 本文首先扼要對該課題的任務進行方案論證,包括硬件方案和軟件方案的設計;繼而具體介紹了自行車的速度里程表的硬件設計,包括傳感器的選擇、單片機的選擇、顯示電路的設計;然后闡述了該自行車的速度里程表的軟件設計,包括數據處理子程序的設計、顯示子程序的設計;最后針對仿
19、真過程遇到的問題進行了具體說明與分析,對本次設計進行了系統(tǒng)的總結。</p><p> 具體的硬件電路包括AT89C52單片機的外圍電路以及LED顯示電路等。</p><p> 軟件設計包括:芯片的初始化程序、定時中斷采樣子程序、顯示子程序等,軟件采用匯編語言編寫,軟件設計的思想主要是自頂向下,模塊化設計,各個子模塊逐一設計。 </p><p> 2 自行車的里
20、程/速度計總體方案設計</p><p> 2.1 任務分析與實現</p><p> 本設計的任務是:以通用MCS-51單片機為處理核心,用傳感器將車輪的轉數轉換為電脈沖,進行處理后送入單片機。里程及速度的測量,是經過MCS-51的定時/計數器測出總的脈沖數和每轉一圈的時間,再經過單片機的計算得出,其結果通過LED顯示器顯示出來。</p><p> 本系統(tǒng)總體思
21、路如下:假定輪圈的周長為L,在輪圈上安裝m個永久磁鐵,則測得的里程值最大誤差為L/m。經綜合分析,本設計中取m=1。當輪子每轉一圈,通過開關型霍爾元件傳感器采集到一個脈沖信號,并從引腳P3.2中斷0端輸入,傳感器每獲取一個脈沖信號即對系統(tǒng)提供一次計數中斷。每次中斷代表車輪轉動一圈,中斷數n輪圈的周長為L的乘積為里程值。計數器T1計算每轉一圈所用的時間t,就可以計算出即時速度v。用定時器2中斷記錄自行車行駛時間,并通過接在P1.1的按鍵進
22、行切換,同時LED切換顯示當前行駛時間。此外若自行車超速,系統(tǒng)發(fā)出報警信號,指示燈閃爍。</p><p> 要求達到的各項指標及實現方法如下:</p><p> 1. 利用霍爾傳感器產生里程數的脈沖信號。</p><p> 2. 對脈沖信號進行計數。</p><p> 實現:利用單片機自帶的計數器T1對霍爾傳感器脈沖信號進行計數。&
23、lt;/p><p> 3. 對數據進行處理,要求用LED顯示里程總數和即時速度。</p><p> 實現:利用軟件編程,對數據進行處理得到需要的數值。</p><p> 最終實現目標:自行車的速度里程表具有里程、速度測試、行駛時間記錄與顯示、超速報警功能,采用單片機作控制,顯示電路可顯示里程、速度、行駛時間。</p><p> 2.2 自
24、行車的里程/速度計硬件方案設計</p><p> 測速,首先要解決是采樣的問題。使用單片機進行測速,可以使用簡單的脈沖計數法。只要轉軸每旋轉一周,產生一個或固定的多個脈沖,將脈沖送入單片機中進行計算,即可獲得轉速的信息。常用的測速元件有霍爾傳感器、光電傳感器和光電編碼器。里程測量傳感器的選擇也有以下幾種方案:使用光敏電阻對里程進行測量、利用編碼器對車輪的圈數進行測量、利用霍爾傳感器對里程進行測量、利用干簧管型傳
25、感器測量里程。</p><p> 光敏電阻對光特別敏感,當白天行駛時,外界光源將導致光敏電阻發(fā)出錯誤信號;光敏電阻對環(huán)境的要求相當高,如果光敏或發(fā)光二極管被泥沙或灰塵所覆蓋,光敏電阻就不能再進行準確測量;而編碼器必須安裝在車軸上,安裝較為復雜;霍爾元件或干簧管不但不受天氣的影響,即使被泥沙或灰塵覆蓋也不會有影響,而且安裝方便。所以本設計采用霍爾元件對里程與速度進行測量,既簡單易行,又經濟適用。</p>
26、;<p> 使用霍爾傳感器獲得脈沖信號,其機械結構也可以做得較為簡單,只要在轉軸的齒輪盤上粘上一粒磁鋼,霍爾元件固定在前叉上,當車子轉動時霍爾元件靠近磁鋼,就有信號輸出,轉軸旋轉時,就會不斷地產生脈沖信號輸出。如果在齒輪盤上粘上多粒磁鋼,可以實現旋轉一周,獲得多個脈沖輸出。在粘磁鋼時要注意,霍爾傳感器對磁場方向敏感,粘之前可以先手動接近一下傳感器,如果沒有信號輸出,可以換一個方向再試。這種傳感器不怕灰塵、油污,在工業(yè)現場
27、應用廣泛。</p><p> 霍爾傳感器是對磁敏感的傳感元件,常用于信號采集的有A44E,該傳感器是一個3端器件,外形與三極管相似,只要接上電源、地,即可工作,工作電壓范圍寬,使用非常方便。A44E的外形如圖2.1所示。</p><p> 1-Vcc 2-GND 3-OUT </p><p> 圖2-1 A44E外形圖</p><p
28、> 單片機由于將CPU、內存和一些必要的接口集成到一個芯片上,并且面向控制功能將結構作了一定的優(yōu)化,所以它有一般芯片不具有的特點:</p><p> 1. 體積小、重量輕;</p><p> 2. 電源單一、功耗低;</p><p> 3. 功能強、價格低;</p><p> 4. 全部集成在一塊芯片上,布線短、合理;<
29、/p><p> 5. 數據大部分在單片機內傳送,運行速度快、抗干擾能力強、可靠性高。</p><p> 目前,單片機被廣泛的應用于測控系統(tǒng)、工業(yè)自動化、智能儀表、集成智能傳感器、機電一體化產品、家用電器領域、辦公自動化領域、汽車電子與航空航天器電子系統(tǒng)以及單片機的多機系統(tǒng)等領域。在設計中選用的是AT89C52單片機。</p><p> 圖2-2 系統(tǒng)的原理框圖&l
30、t;/p><p> 2.3 自行車的里程/速度計軟件方案設計</p><p> 通過軟件控制單片機的功能是單片機的主要特點和優(yōu)點,程序的設計要考慮合理性和可讀性,遵循模塊化設計的原則,采用自頂向下的設計方法。模塊化設計使程序的可讀性好、修改及完善方便。</p><p> 軟件設計包括主程序、行車過程中里程和速度計算子程序、延時子程序、中斷服務子程序、顯示子程序等等
31、。</p><p> 中斷子程序是將傳感器產生的信號接入外部中斷0,利用中斷和定時器對分別對里程進行累加、每轉一周的時間進行測量。</p><p> 數據處理子程序是將進入單片機的脈沖信號與實際要顯示值之間有一定的對應關系,經過軟件編程顯示所需要的值。</p><p> 顯示子程序是將數據處理的結果送顯示器顯示。</p><p><
32、;b> 各部分介紹如下:</b></p><p> 1、初始化:打開外部中斷和定時器0中斷,當有脈沖來的時候就進入中斷程序。</p><p> 2、外部中斷:記錄一個脈沖時間time;計算一個脈沖時間的速度,五個速度作為一個數組,高低速判斷;開啟T0,記脈沖數為n。</p><p> 3、定時器0中斷:記50毫秒時間賦值給t.</p&
33、gt;<p> 4、處理函數:給出速度和路程的計算公式。</p><p> v=0.9*pi*r/time s=0.00025*pi*r*n</p><p> 5、顯示程序:用三位數顯示速度,四位數顯示路程。</p><p> 3 自行車的速度/里程計硬件電路設計</p><p> 3.1 傳感器及其測量
34、系統(tǒng)</p><p> 本次設計信號的捕獲采用的是霍爾傳感器。 霍爾器件具有許多優(yōu)點,它們的結構牢固、體積小、重量輕、壽命長、安裝方便、功耗小、頻率高(可達1MHz)、耐震動、不怕灰塵、油污、水汽及煙霧等的污染或腐蝕?;魻柧€性器件的精度高、線性度好;霍爾開關器件無觸點、無磨損、輸出波形清晰、無抖動、無回跳、位置重復精度高。取用各種補償和保護措施的霍爾器件工作溫度范圍寬,可達-55℃~150℃。按照霍爾
35、器件的功能可將它們分為:霍爾線性器件和霍爾開關器件,前者輸出模擬量,后者輸出數字量。 按被檢測對象的性質可將它們的應用分為:直接應用和間接應用。前者是直接檢測出受檢測對象本身的磁場或磁特性,后者是檢測受檢對象上人為設置的磁場,用這個磁場來作被檢測的信息的載體。通過它,將許多非電、非磁的物理量例如力、力矩、位置、位移、速度、加速度、角度、角速度、轉數、轉速以及工作狀態(tài)發(fā)生變化的時間等,轉變成電量來進行檢測和控制。 </p>
36、<p> 3.1.1 霍爾傳感器的測量原理</p><p> 霍爾傳感器是利用霍爾效應制成的一種磁敏傳感器。在置于磁場中的導體或半導體通入電流I,若電流垂直磁場B,則在與磁場和電流都垂直的方向上會出現一個電勢差Uh,這種現象稱為霍爾效應。利用霍爾效應制成的元件稱為霍爾元件。因為它具有結構簡單、頻率響應寬、靈敏度高、測量線性范圍大、抗干擾能力強以及體積小、使用壽命長等一系列特點,因此被廣泛應用于測量、
37、自動控制及信息處理等領域?;魻栃韴D如圖3-1所示。</p><p> 圖3-1 霍爾效應原理圖</p><p> 3.1.2 集成開關型霍爾傳感器</p><p> A44E集成霍爾開關由穩(wěn)壓器A、霍爾電勢發(fā)生器(即硅霍爾片)B、差分放大器 C、施密特觸發(fā)器D和OC門輸出E五個基本部分組成,如圖3-2(a)所示。(1)、(2)、(3)代表集成霍爾開關的三
38、個引出端點。在電源端加電壓Vcc,經穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據霍爾效應原理,當霍爾片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產生霍爾電勢差VH輸出,該VH信號經放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當施加的磁場達到工作點時,觸發(fā)器輸出高電壓(相對于地電位),使三極管導通,此時OC門輸出端輸出低電壓,通常稱這種狀態(tài)為開 。當施加的磁場達到釋放點時,觸發(fā)器輸出低電壓,三
39、極管截止,使OC門輸出高電壓,這種狀態(tài)為關 。這樣兩次電壓變換,使霍爾開關完成了一次開關動作。工作點與釋放點的差值一定,此差值稱為磁滯,在此差值內,V0保持不變,因而使開關輸出穩(wěn)定可靠,這也就是集電成霍爾開關傳感器優(yōu)良特性之一。傳感器主要特性是它的輸出特性,即輸入磁感應強度B與輸出電壓V0之間的關系。A44E集成霍爾開關是單穩(wěn)態(tài)型,由測量數據作出的輸出特性曲線如圖 3</p><p> 圖3-2 集成開關型霍爾
40、傳感器</p><p> 圖3-3 集成霍爾開關接線圖</p><p> 3.2 單片機最小系統(tǒng)</p><p> 3.2.1 單片機原理簡介</p><p> 單片機是指集成在一個芯片上的微型計算機,也就是把組成微型計算機的各種功能部件,包括CPU(Central Processing Unit)、隨機存儲器RAM(Random A
41、ccess Memory)、只讀存儲器ROM(Read-only Memory)、基本輸入/輸出(Input/Output)接口電路。定時器/計數器等部件都制作在一塊集成芯片上,構成一個完整的微型計算機從而實現微型計算機的基本功能。單片機內部結構示意圖如圖3-4所示。</p><p> 圖3-4 單片機內部結構示意圖</p><p> 3.2.2 單片機最小系統(tǒng)介紹</p>
42、<p> 單片機最小系統(tǒng)是指用最少的元件組成的單片機可以工作的系統(tǒng),對于51單片機來說,最小系統(tǒng)一般應該包括:單片機、時鐘電路和復位電路。</p><p> 單片機內部時鐘方式的振蕩電路如圖3-8所示。</p><p> 圖3-8 單片機片內時鐘電路</p><p> 本系統(tǒng)的復位電路是采用按鍵復位的電路,如圖3-9所示,是常用復位電路之一。&
43、lt;/p><p> 圖3-9 按鍵復位電路</p><p> 工作原理:通電瞬間,RC電路充電,RST引腳出現高電平,只要RST端保持10ms以上高電平,就能使單片機有效地復位。 </p><p> 3.3 74HC573驅動器的介紹</p><p> SL74HC573 跟LS/AL573 的管腳一樣。如下圖3-6器件的輸入是和
44、標準CMOS 輸出兼容的;加上拉電阻,他們能和LS/ALSTTL 輸出兼容。當鎖存使能端為高時,這些器件的鎖存對于數據是透明的(也就是說輸出同步)。當鎖存使能變低時,符合建立時間和保持時間的數據會被鎖存。輸出能直接接到CMOS,NMOS 和TTL 接口上操作電壓范圍:2.0V~6.0V;低輸入電流:1.0uA;CMOS 器件的高噪聲抵抗特性。</p><p> 圖3-6 SL74HC573管腳功能</p
45、><p> 表3-1 74HC573功能表</p><p> 3.4 顯示和報警電路的設計</p><p> 3.4.1 顯示電路的設計</p><p> 本設計中采用LED數碼管顯示。在單片機系統(tǒng)中,通常用LED數碼顯示器來顯示各種數字或符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長的特點,因此使用非常廣泛。八段LED顯示器由8
46、個發(fā)光二極管組成。其中7個發(fā)光二極管構成字型“8”的各個筆畫段,另一個小數點為dp發(fā)光二極管。</p><p> LED顯示器采用動態(tài)顯示,用74HC573驅動共陰極LED數碼管。</p><p> 圖3-10 LED數碼管顯示結構</p><p> OC門驅動器用573,573 即TTL 集電極開路六正相高壓驅動器.當573輸出低電平時,沒有電流流過LED
47、,當573輸出為開路狀態(tài)時,電流經100限流電阻流入LED顯示器,每個七段LED的公共端都接一個573驅動器。</p><p> 本設計中采用7SEG-MPX8-CC-BLUE八位共陰極數碼管(藍色),顯示速度、路程數據和自行車行駛時間。</p><p> 3.4.2 報警電路的設計</p><p> 本次報警電路采用蜂鳴器報警,當即時速度超過預定值是蜂鳴器響
48、,指示燈閃爍,提示應該減速。報警電路圖如圖3.13所示。</p><p> 圖3-11 報警電路圖</p><p> 4 自行車的里程/速度計軟件程序設計</p><p> 4.1 自行車的里程/速度計總體程序設計</p><p> 基于霍爾傳感器自行車的速度里程表的軟件設計包括上電初始化程序、中斷子程序、數據處理子程序、LED顯示子
49、程序、延時子程序等幾大部分。由于要實現很多功能,所以采用模塊化設計,下面就其主要部分分別加以分析。</p><p> 系統(tǒng)軟件總體流程圖如圖4-1所示。</p><p> 圖4-1 軟件總體流程圖</p><p> 程序初始化,當沒有產生中斷時,程序進入處理程序,接著進入顯示程序;當產生中斷時,先進入外部中斷服務程序和定時器0中斷服務程序,后面的和沒有產生中斷
50、時相同。在整個程序中中,不停地掃描有沒有產生中斷。</p><p> 4.2 子程序的設計</p><p> 設汽車輪子半徑為r,脈沖數為n,t=50毫秒,一個脈沖的時間為time,速度為v(km/h),路程為s(km),pi=3.14。</p><p> 子程序按模塊化的思路編寫。各子程序流程如下:</p><p> 1.初始化:設
51、置 T0計時器工作方式1,輸入口為p3.2;開總中斷。打開外中斷0中斷控制位.設置外部中斷0優(yōu)先級控制位;設置外部中斷0觸發(fā)方式為邊沿觸發(fā)方式;打開T0中斷允許; 打開T1中斷允許。</p><p> 2.外部中斷:當P3.2口有脈沖時進入外部中斷0。</p><p> time=sec+t*0.05,記一個脈沖的時間; tab_v[5]=0.9*pi*r/time,計算速度并放
52、入數組中。</p><p> 高低速的判斷,當V>=5時為高速,并用flag = 0,記高速標志位,flag=1,記低速標志位;</p><p> 3.定時器0中斷:當來一個脈沖進入定時器0中斷,給T0定時器賦50毫秒初值,當記滿50毫秒t++。</p><p> 4.定時器1中斷:當來一個脈沖進入定時器1中斷,給T1定時器賦50毫秒初值,當記滿50毫秒
53、t++,若tt==20,tt清零;再 secc++;若secc==60,secc清零;再fen++,若fen==60,fen清零;再shi++;若shi==24,shi清零;再以此秒、分、時循環(huán)。</p><p> 5.數據處理函數:計算速度分高速和低速。</p><p> 速度計算公式:tab_v[5]=0.9*pi*r/time;(單位km/h)</p><p&
54、gt; 低速時:v=tab_v[5],即顯示第五個速度值。</p><p> 高速時:v+=tab_v[i];計算五個速度之和。v=v/5;求得平均速度。</p><p> 路程公式: s=0.00025*pi*r*n,隨著脈沖n的增加s不斷累加。</p><p> 6.顯示程序:用三位數顯示速度,四位數顯示路程。</p><
55、;p> 4.3 主程序的設計</p><p> 主函數在初始化程序之后采用循環(huán)設計。</p><p> 當不斷發(fā)送脈沖時,程序從外部中斷到顯示程序一直循環(huán)。</p><p> 流程圖如下圖4-2。</p><p> 圖4-2 主程序流程圖</p><p><b> 5 系統(tǒng)調試與分析<
56、/b></p><p> 5.1 系統(tǒng)仿真調試</p><p> PROTEUS系統(tǒng)仿真平臺與開發(fā)平臺是由英國Labcenter公司開發(fā)的,是目前世界上最完整的系統(tǒng)設計與仿真平臺之一。PROTEUS可以實現數字電路、模擬電路及微控制系統(tǒng)與外設的混合電路系統(tǒng)的電路仿真、系統(tǒng)協(xié)同仿真和PCB設計等全部功能。PROTEUS軟件能夠對各種處理器進行實時仿真、調試與測試的EDA工具,真正實
57、現了在沒有目標原形時就可以對系統(tǒng)進行調試與驗證。</p><p> 在構思好電路原理圖和編好程序之后就要對其進行系統(tǒng)仿真,原理圖的具體設計流程如圖5.1所示。</p><p> 當完成原理圖布線后,利用PROTEUS ISIS編輯環(huán)境所提供的電器規(guī)則檢查命令對設計進行檢查,并根據系統(tǒng)提供的錯誤檢查報告修改原理圖。直到通過電器規(guī)則檢查為止。</p><p> 單
58、片機系統(tǒng)的仿真是PROTEUS VSM的一大特色,同時,本仿真系統(tǒng)將源代碼的編輯和編譯整合到同一設計環(huán)境中,這樣使得用戶可以在設計中直接編輯代碼,并且很容易地查看到用戶對源程序修改后對仿真結果的影響。</p><p> 源代碼通過編譯無誤后,就可以進行仿真,在仿真過程中不斷完善電路和程序的功能最后達到本次設計的目的。</p><p> 5.2 調試故障及原因分析</p>
59、<p> 在軟件仿真過程中遇到了一些問題,具體故障和解決方法如下:</p><p><b> 1、數碼管不顯示</b></p><p> 本次設計的電路數碼管采用共陰極接法,在仿真時錯用共陽極數碼管,導致數碼管不顯示。</p><p> 2、按鍵切換后數碼管只顯示8個零,不會秒加一</p><p>
60、正常情況下按一下P1_1口按鈕,數碼管上顯示00—00—00,之后再計時。通過一番檢查,并沒有發(fā)現程序有任何的錯誤,之后請教同學幫忙檢查,也說沒錯誤,再進一步的仔細檢查才發(fā)現定時中斷用錯了,改掉之后正常顯示。</p><p> 5.3 PROTEUS仿真過程</p><p> 一、電路原理圖如圖5-1:</p><p> 圖5-1自行車速度/里程計原理圖<
61、;/p><p> 二、生成HEX文件如圖5-2。</p><p><b> 圖5-2生成文件</b></p><p> 三、編譯結果如圖5-3。</p><p><b> 圖5-3編譯結果</b></p><p><b> 6 結論與展望</b>&
62、lt;/p><p><b> 6.1結論</b></p><p> 該課題的主要任務是開發(fā)一個以MCS-51單片機為核心的自行車的速度里程計。本設計主要分為硬件部分和軟件部分,硬件部分著重考慮硬件電路的簡單性,故盡可能簡化硬件電路,節(jié)省線路板的空間,達到硬件電路最優(yōu)化設計。軟件采用C語言編寫,采用模塊化設計思想,程序可讀性強。通過仿真、實驗驗證了系統(tǒng)的可行,能滿足設計
63、要求,達到設計的指標,實現對自行車里程/速度的計算功能,并用LED顯示,里程與速度分別根據以下公式求得:</p><p> 設自行車輪子半徑為r,脈沖數為n,t=50毫秒,一個脈沖的時間為time,速度為v(km/h),路程為s(km), pi=3.14。</p><p> v=0.9*pi*r/time s=0.00025*pi*r*n</p><p>
64、; 根據此公式將最終顯示出里程和速度。當車輪轉動,小磁片滑過霍爾元件時,霍爾元件輸出一脈沖,可根據自行車輪子半徑r的不同,速度的變化有所不同;LED會根據轉速的不同顯示不同的數字,當速度超過一定速度時,將啟動報警系統(tǒng),指示燈閃爍。當按一下切換按鈕,顯示行車時間,再按一下按鈕,繼續(xù)顯示里程/速度。</p><p> 通過仿真證明本次設計符合設計的要求,能實現對里程、速度的顯示,功能性較強,具有一定的實踐意義,將
65、會在許多場合應用。但也有一些不足存在,當顯示速度時,若自行車轉動太快,顯示器會顯示過快,應該將速度定時顯示,使人們能夠清楚地看出速度。</p><p><b> 6.2 展望</b></p><p> 本系統(tǒng)操作簡單,易于實現。硬件部分采用的器件應用較廣泛,且價格低廉,如AT89C52單片機、霍爾傳感器、驅動器74HC573等。這就意味著所有的器件功能比較強大、穩(wěn)
66、定。尤其是本次設計的核心元件AT89C52單片機,軟件技術成熟,并具有種類齊全的支持芯片。這類微處理器既可用作控制器又適合于做數據處理,而且成本也甚是低廉。軟件采用模塊化設計,可讀性強,方便二次開發(fā)。</p><p> 本次設計電路簡單、低成本,而且能夠滿足人們對高性能、多功能自行車的要求,可在很多里程/速度測量場合使用,具有廣泛的應用前景。</p><p><b> 致
67、謝</b></p><p> 在本次畢業(yè)設計過程中我獲益匪淺,同時也遇到了許多困難,在看到我的畢業(yè)設計題目時,我的感性認識讓我感覺題目挺簡單,但在理性分析和實際操作過程中卻處處碰壁,這都是由于基礎知識不牢造成的,最后在老師同學的指導下,加上自己在網上查找有關資料,我對題目有了一定程度的認識和理解,對具體的細節(jié)有了清晰的認識。</p><p> 在這里我要感謝我的指導老師,是
68、他的耐心教導,和不厭其煩地講解,使我順利地完成了畢業(yè)設計。也要感謝我的同學們,在我遇到困難時主動幫我解決,使我很快地攻克了一個又一個難關。還要感謝學校領導的關心和關懷。</p><p> 畢業(yè)設計已經結束,但是它卻給我留下了美好的回憶,在做畢業(yè)設計的過程中加深了師生的感情和同學之間的友誼,覺得每一天都是那么的充實和愉快。</p><p><b> 參考文獻</b>
69、</p><p> 樓然苗, 李光飛. 51系列單片機設計實例. 北京航空航天大學出版社, 2006</p><p> 松井邦彥, 梁瑞林. 傳感器應用技術141例. 科學出版社, 2006</p><p> 李朝青. 單片機原理及接口技術. 北京航空航天大學出版社, 1994</p><p> 張洪潤, 張亞凡. 傳感器技術與應用教
70、程. 清華大學出版社, 2005</p><p> 張毅剛, 劉杰. MCS-51單片機原理及應用. 哈爾濱工業(yè)大學出版社,2004</p><p> 黃河, 郭紀林. 單片機原理及應用. 大連理工大學出版社, 2006</p><p> 劉燦軍. 實用傳感器. 國防工業(yè)出版社, 2004</p><p> 何希才. 傳感器及其應用
71、. 國防工業(yè)出版社, 2001</p><p> 陳雪麗. 單片機原理及接口技術.化學工業(yè)出版社, 2005</p><p><b> 附 錄</b></p><p> 1 自行車的速度里程計硬件系統(tǒng)原理圖</p><p><b> 仿真原理圖</b></p><p>
72、;<b> 電路原理圖</b></p><p> 2 自行車的速度里程計仿真效果圖</p><p> 注:計時時間顯示 注:左邊三位顯示速度,右邊四位顯示里程。</p><p> 3 自行車的速度里程計PCB圖</p><p><b> 4 元件清單</b&g
73、t;</p><p><b> 5 源程序</b></p><p> #include<reg52.h></p><p> #define uchar unsigned char </p><p> #define uint unsigned int</p><p> #de
74、fine pi 3.14</p><p> #define r 0.33</p><p> sbit duan = P2^0 ;</p><p> sbit we = P2^1 ;</p><p> sbit LED =P3^0;</p><p> sbit P1_1=P1^1;</p&
75、gt;<p> uchar num[8]; </p><p> uchar t,tt,secc,fen,shi,k=0;</p><p> uchar code tab_duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7F,0x6F,0x77,0x7C, 0x39,0x5E,0x7
76、9,0x71,0x40}; //0-f數碼管代碼 //</p><p> uchar code tab_we[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位碼</p><p> void delay(uint );</p><p><b> bit flag;</b></p>
77、<p> uchar t,sec;</p><p> uint v1,s1,n;</p><p> float time,s,v;</p><p> float tab_v[6];//單個速度,用來求平均值</p><p> /******************顯示函數****************/&l
78、t;/p><p> void show(uchar j,uchar k)//j斷碼數,k位碼數</p><p><b> {</b></p><p> P0 = 0;//消影,消除干擾</p><p> P0 = 0;//消影,消除干擾</p><p> duan = 1;
79、//段選打開 </p><p> P0 = tab_duan[j];//送斷碼</p><p> duan = 0; //關段選</p><p> P0 = 0XFF; //消影,消除干擾</p><p> P0 = 0XFF;//消影,消除干擾</p><p> we = 1;//開位選
80、</p><p> P0 = tab_we[k];//送位選碼</p><p> we = 0;//關位選</p><p> delay(2);//延時顯示停留</p><p><b> }</b></p><p> /***********延時函數***********/
81、 </p><p> void delay(uint n)</p><p><b> {</b></p><p><b> uint x,y;</b></p><p> for(x = n;x > 0;x--)</p><p> for(y = 110;y&g
82、t;0;y--); </p><p><b> }</b></p><p> /*********************初始化函數********************/</p><p> void init()</p><p><b> {</b></p><p&g
83、t; TMOD = 0x11;//T0計數方式1 [3][1] 輸入p3.2 TR1=1;</p><p> TH1 =0x3c;//50000</p><p> TL1 =0xb0;</p><p><b> TR1=1;</b></p><p> EA = 1; //開總中斷&l
84、t;/p><p> EX0 = 1; //外中斷0中斷控制位.打開</p><p> PX0 = 1; //外部中斷0優(yōu)先級控制位。</p><p> IT0 = 1; //外部中斷0觸發(fā)方式控制位。邊緣觸發(fā)方式</p><p> ET0 = 1; //T0中斷允許</p><p>&
85、lt;b> ET1=1;</b></p><p><b> }</b></p><p> /*****************中斷*************************/</p><p> void rupt() interrupt 0 //外中斷0</p><p> {u
86、char i;</p><p> time=sec+t*0.05;//一個脈沖的時間</p><p> sec=0; t=0;//用完清零。</p><p> tab_v[5]=0.9*pi*r/time; //速度</p><p> if(tab_v[5]>=5)//高低速的判斷</p>
87、;<p><b> {</b></p><p> flag = 0;//高低速標志位</p><p> for(i = 0;i<6;i++)</p><p> tab_v[i] = tab_v[i+1];//數組移數據</p><p><b> }</b></p
88、><p><b> else </b></p><p> flag=1;//低速標志位;</p><p> TR0 = 0;//關閉T0 </p><p> TH0 = 0x3c;//50000</p><p> TL0 = 0xb0;</p><p>
89、; TR0 = 1;//開啟T0 </p><p><b> n++; </b></p><p> if(n == 50000)//n清零</p><p><b> n = 0;</b></p><p> if(time >= 5)</p><p>
90、<b> n = 0;</b></p><p><b> }</b></p><p> /**************定時中斷******************/</p><p> void timer0() interrupt 1 //T0定時</p><p><b> {
91、</b></p><p> TH0 =0x3c;//50000</p><p> TL0 =0xb0;</p><p><b> t++;</b></p><p><b> }</b></p><p> void timer1() interru
92、pt 3 //T1定時</p><p><b> {</b></p><p> TH1 =0x3c;//50000</p><p> TL1 =0xb0;</p><p><b> tt++;</b></p><p> if(tt==20)</p&g
93、t;<p><b> { tt=0;</b></p><p><b> secc++;</b></p><p> if(secc==60)</p><p><b> { </b></p><p><b> secc=0;</b>&
94、lt;/p><p><b> fen++;</b></p><p> if(fen==60)</p><p><b> { </b></p><p><b> fen=0;</b></p><p><b> shi++;</b&g
95、t;</p><p><b> }</b></p><p> if(shi==24)</p><p><b> {</b></p><p><b> shi=0;</b></p><p><b> }</b></p&
96、gt;<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> /*******************數據處理***********************/</p><p> void
97、 date_deal()</p><p><b> {</b></p><p><b> uchar i;</b></p><p><b> if(t==20)</b></p><p><b> {</b></p><p&g
98、t;<b> t=0;</b></p><p><b> sec++;</b></p><p><b> }</b></p><p> if(flag==1)//低速</p><p> v=tab_v[5];</p><p><b&
99、gt; else</b></p><p><b> {</b></p><p><b> v=0;</b></p><p> for(i=0;i<6;i++)</p><p> v+=tab_v[i];</p><p><b> v=v
100、/6;</b></p><p><b> }</b></p><p> s=0.00025*pi*r*n;</p><p> if(v1>100)</p><p><b> {LED=1;</b></p><p><b> delay(5
101、);</b></p><p><b> LED=0;</b></p><p> delay(5);}</p><p> else LED=0 ;</p><p><b> }</b></p><p> /******************主函數****
102、**********/</p><p> void main()</p><p><b> {</b></p><p><b> init();</b></p><p><b> while(1)</b></p><p><b> {
103、</b></p><p> date_deal();</p><p><b> v1=v*10;</b></p><p> s1=s*10; </p><p> if(P1_1==0) </p><p><b> {</b></p>
104、<p><b> delay(1);</b></p><p> if(P1_1==0)</p><p><b> {</b></p><p> while(P1_1==0);</p><p><b> k++;</b></p><p&
105、gt;<b> if(k>1)</b></p><p><b> {</b></p><p><b> k=0;</b></p><p><b> }</b></p><p><b> }</b></p>
106、<p><b> }</b></p><p><b> if(k==0)</b></p><p><b> {</b></p><p> show(v1/100,0);//速度顯示vs</p><p> show(v1/10%10,1);
107、</p><p> show(v1%10,2);</p><p> show(s1/1000%10,4);//路程顯示vs</p><p> show(s1/100%10,5);</p><p> show(s1/10%10,6);</p><p> show(s1%10,7);</p
108、><p><b> }</b></p><p><b> if(k==1)</b></p><p><b> {</b></p><p> show(shi/10,0);</p><p> show(shi%10,1);</p>&l
109、t;p> show(16,2);</p><p> show(fen/10,3);//時間顯示vs</p><p> show(fen%10,4);</p><p> show(16,5);</p><p> show(secc/10,6);</p><p> show(secc%10,7);&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自行車里程速度計的設計 畢業(yè)論文
- 自行車里程速度計的設計畢業(yè)論文
- 畢業(yè)論文自行車里程_速度計的設計
- 自行車里程速度計的設計
- 自行車里程及速度計課程設計
- 自行車里程速度計設計-單片機自動控制畢業(yè)論文
- 自行車行程速度畢業(yè)設計--基于單片機的自行車里程速度計設計
- 畢業(yè)設計(論文)-基于單片機的自行車里程速度計的設計
- 畢業(yè)設計(論文)_基于單片機的自行車里程速度計的設計
- 畢業(yè)設計(論文)-基于單片機的自行車里程速度計的設計
- 單片機課程設計-自行車里程計速度計
- 單片機課程設計-自行車里程計速度計
- 自行車里程表設計【畢業(yè)論文】
- 畢業(yè)論文--自行車里程表的設計
- 課程設計---自行車用速度計
- 自行車里程表設計【畢業(yè)論文+文獻綜述+開題報告】
- 基于單片機的自行車里程_速度表設計-職業(yè)學院畢業(yè)論文
- 單片機自行車速度里程計論文
- 單片機自行車速度里程計論文
- 畢業(yè)設計--基于單片機的自行車里程速度表
評論
0/150
提交評論