簡易數(shù)字里程表作為測量的一大輔助工具也隨著這個需求而面世,其功能也逐漸從單一的里程顯示發(fā)展到速度、時間顯示。本設(shè)計采用了MCS-51系列單片機(jī)設(shè)計一種體積小、操作簡單的便攜式自行車的速度里程表,它能自動地顯示當(dāng)前自行車行駛的里程及速度。
本課題主要任務(wù)是利用霍爾元件、單片機(jī)等部件設(shè)計一個可用1602液晶顯示里程和速度。本文主要介紹了自行車的速度里程表的設(shè)計思想、電路原理和元件的選擇等內(nèi)容,整體上分為硬件部分設(shè)計和軟件部分設(shè)計。
具體的硬件電路包括STC89C52單片機(jī)的外圍電路以及液晶顯示電路等。
軟件設(shè)計包括:芯片的初始化程序、定時中斷子程序、顯示子程序等,軟件采用C語言編寫。本文檔主要闡述一種基于霍爾元件的自行車速度里程表的設(shè)計。以 STC89C52單片機(jī)為核心,A44E 霍爾傳感器測轉(zhuǎn)數(shù),實現(xiàn)對自行車?yán)锍?速度的測量,采用1602LCD顯示自行車的里程數(shù)及速度。硬件部分利用霍爾元件將自行車每轉(zhuǎn)一圈的脈沖數(shù)傳入單片機(jī)系統(tǒng),然后單片機(jī)系統(tǒng)將信號經(jīng)過處理送顯示。軟件部分用C語言進(jìn)行編程,采用模塊化設(shè)計思想。該系統(tǒng)硬件電路簡單,子程序具有通用性,完全符合設(shè)計要求。
二、方案論證
本設(shè)計的任務(wù)是:以通用MCS-51單片機(jī)為處理核心,用傳感器將車輪的轉(zhuǎn)數(shù)轉(zhuǎn)換為電脈沖,進(jìn)行處理后送入單片機(jī)。里程及速度的測量,是經(jīng)過MCS-51的定時/計數(shù)器測出單位時間的脈沖數(shù),再經(jīng)過單片機(jī)的計算得出,其結(jié)果通過LED顯示器顯示出來。
本系統(tǒng)總體思路如下:假定輪圈的半徑為R,在輪圈上安裝a個永久磁鐵,經(jīng)綜合分析,本設(shè)計中取a=16。當(dāng)輪子每轉(zhuǎn)一圈,通過開關(guān)型霍爾元件傳感器采集到16個脈沖信號,并從引腳P3.4定時計數(shù)器1端輸入,傳感器每獲取一個脈沖信號即對系統(tǒng)提供一次計數(shù)中斷。通過定時器0的定時中斷,將每秒采集到的脈沖數(shù)
要求達(dá)到的各項指標(biāo)及實現(xiàn)方法如下:
1. 利用霍爾傳感器產(chǎn)生里程數(shù)的脈沖信號。
2. 對脈沖信號進(jìn)行計數(shù)。
實現(xiàn):利用單片機(jī)自帶的計數(shù)器T1對霍爾傳感器脈沖信號進(jìn)行計數(shù)。
3. 對數(shù)據(jù)進(jìn)行處理,要求用LED顯示里程總數(shù)和即時速度,并且將里程數(shù)存入24c02c中。
實現(xiàn):利用軟件編程,對數(shù)據(jù)進(jìn)行處理得到需要的數(shù)值。
最終實現(xiàn)目標(biāo):自行車的速度里程表具有里程、速度測試與顯示功能,采用單片機(jī)作控制,顯示電路可顯示里程及速度。

![]()
![]()
![]()
![]()


![]()
![]()
![]()
圖1 系統(tǒng)框圖
STC89C51系列是1T的8051單片機(jī),STC89C51系統(tǒng)時鐘兼容傳統(tǒng)8051。系列單片機(jī)有兩個時鐘源:內(nèi)部R/C振蕩時鐘和外部晶體時鐘。
在單片機(jī)內(nèi)有一個高增益反相放大器,反相放大器的輸入端為XTAL,輸出端為XTAL2,由該放大器、晶振和兩個33PF的電容構(gòu)成的振蕩電路做單片機(jī)的時鐘電路,如圖2所示。

2.復(fù)位電路
復(fù)位電路原理是單片機(jī)RST引腳接收到2us以上電平信號,只要保證電容的充放電時間大于2us,即可復(fù)位,所以電路中的電容是可改變的,按鍵按下,電容處于一個短路電路中,電容釋放所有的電能,電阻兩端電壓升高系統(tǒng)復(fù)位。且
振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機(jī)器周期(24個振蕩周
期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位,如圖3所示。

圖3 復(fù)位電路
3.24c02c
24c02c是一個2K位串行EEPROM,內(nèi)部含有256個8位字節(jié)。2C02c持2I2總線傳輸協(xié)議。數(shù)據(jù)傳送是由產(chǎn)生串行時鐘和所有起始停止信號的主器件控制的。主器件和從器件都可以作為發(fā)送器和接收器,由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式。元器件圖如圖4所示。

圖4 24c02c元器件圖
我們對引腳的功能做一個簡單的解釋:
VCC,GND:電源、地引腳
A2A1A0:地址引腳
SCLK、SDA:通信地址
WP:寫保護(hù)地址
4.顯示模塊
顯示模塊主要由LCD1602,上拉電阻組成,其電路圖如圖5所示。
圖5 液晶顯示模塊圖
1602引腳說明表格如下:
編號 | 符號 | 引腳說明 | 編號 | 符號 | 引腳說明 |
1 | Vss | 電源地 | 9 | D2 | 數(shù)據(jù)口 |
2 | VDD | 電源正極 | 10 | D3 | 數(shù)據(jù)口 |
3 | VO | 液晶顯示對比度調(diào)節(jié)端 | 11 | D4 | 數(shù)據(jù)口 |
4 | RS | 數(shù)據(jù)/命令選擇端(H/L) | 12 | D5 | 數(shù)據(jù)口 |
5 | R/W | 讀寫選擇端(H/L) | 13 | D6 | 數(shù)據(jù)口 |
6 | E | 使能信號 | 14 | D7 | 數(shù)據(jù)口 |
7 | D0 | 數(shù)據(jù)口 | 15 | BLA | 背光電源正極 |
8 | D1 | 數(shù)據(jù)口 | 16 | BLK | 背光電源負(fù)極 |
液晶引腳與單片機(jī)連接:
第1腳:VSS接地。
第2腳:VDD接5V正電源。
第3腳:VO接3K的電位器調(diào)整對比度。
第4腳:RS為寄存器選擇。
第5腳:R/W為讀寫信號線。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線接單片機(jī)P0口。
第15腳:背光源正極接電源。
第16腳:背光源負(fù)極接地。
4. 霍爾傳感器的測量原理
霍爾傳感器是利用霍爾效應(yīng)制成的一種磁敏傳感器。在置于磁場中的導(dǎo)體或半導(dǎo)體通入電流I,若電流垂直磁場B,則在與磁場和電流都垂直的方向上會出現(xiàn)一個電勢差Uh,這種現(xiàn)象稱為霍爾效應(yīng)。利用霍爾效應(yīng)制成的元件稱為霍爾元件。因為它具有結(jié)構(gòu)簡單、頻率響應(yīng)寬、靈敏度高、測量線性范圍大、抗干擾能力強(qiáng)以及體積小、使用壽命長等一系列特點,因此被廣泛應(yīng)用于測量、自動控制及信息處理等領(lǐng)域,如圖6所示。

圖6 霍爾傳感器
1.主程序
通過定時器0中斷定時1s來計算1s內(nèi)定時計數(shù)器1的計數(shù)次數(shù),通過對計數(shù)值的計算,得到瞬時速度,以及通過速度來刷新里程數(shù),并通過1602顯示出來,其主程序框圖如圖7所示。
圖7 主程序流程圖
2.顯示流程圖
該子程序用LCD動態(tài)掃描顯示方式。先將單片機(jī)的P2.2口連接使能端口E。接著將單片機(jī)的P2.0口連接數(shù)據(jù)/命令選擇端RS,P0口連接數(shù)據(jù)端D0~D7,然后將要顯示的數(shù)字的值發(fā)送給P0口。然后調(diào)用延時,接著將P2.2口置0,P2.0口置1,寫指令,將P2.2口置1,P2.0口置1,寫數(shù)據(jù),直到要顯示的數(shù)字全部顯示在液晶上。顯示流程圖如圖8所示。
![]()
![]()

![]()
![]()
![]()

![]()
![]()
圖8 顯示流程圖
3.速度及里程處理流程圖
速度及里程數(shù)的確定,由定時器0產(chǎn)生1S定時在定時期間,定時計數(shù)器1讀取中斷次數(shù)并計數(shù),定時器0中斷發(fā)生,讀取定時計數(shù)器的計數(shù)值進(jìn)行計算,對于產(chǎn)生的計數(shù)值進(jìn)行顯示前的計算及處理,其程序框圖如圖9所示。
![]()
![]()
![]()


![]()

圖9 速度和里程處理框圖
4 仿真結(jié)果

圖10 仿真結(jié)果Ⅰ

圖11 仿真結(jié)果Ⅱ
測試速度結(jié)果與理論值(單位:km/h)
表1 測試結(jié)果與理論值
輸入頻率 | 理論值 | 測量值 | 誤差 |
10Hz | 4.23 | 4.23 | 0 |
20Hz | 8.47 | 8.05 | 0.42 |
50Hz | 21.19 | 20.34 | 0.85 |
100Hz | 42.39 | 40.27 | 2.12 |
500Hz | 211.95 | 201.77 | 10.18 |
誤差分析:定時誤差,定時器0定時并不是準(zhǔn)確的定時一秒,而是少于一秒,導(dǎo)致采集的脈沖數(shù)少于準(zhǔn)確的脈沖數(shù),其次計算誤差也是存在。
基本滿足設(shè)計項目要求,在速度小于200km/h的時候,測量誤差相對較小。
通過本次設(shè)計,使我對單片機(jī)知識和理解更一步加深了,掌握了簡易數(shù)字里程表的設(shè)計,組裝和調(diào)試方法。并且使我更加熟練的應(yīng)用仿真軟件,讓我學(xué)到了如何運用軟件測試電路的可行性,并且對電路的調(diào)試改進(jìn)都有一個很大的提高。
這個過程中我遇到了很多困難,比如如何運用仿真軟件畫圖,如何組織一些比較專業(yè)的語言,以及上網(wǎng)查閱資料。雖說費勁,但是樂趣也不少。通過這次設(shè)計,我們了解到平時知識的積累真的很重要,在遇到困難時一定要向認(rèn)真思考,查閱相關(guān)資料,不可盲目退縮,努力后就一定會有收獲。
這次設(shè)計收獲頗豐,不僅是對自己個人能力的提高,也讓我認(rèn)識到了自己的局限,通過這次的設(shè)計為以后的學(xué)習(xí)奠定了一個更好的基礎(chǔ)。
附錄Ⅰ 總電路圖

附錄Ⅱ 元器件清單
序號 | 編號 | 名稱 | 型號 | 數(shù)量 |
1 | U1 | 單片機(jī) | AT89C51 | 1 |
2 | U2 | 外部數(shù)據(jù)存儲器 | 24C02c | 1 |
3 | R1,R2 | 電阻 | 10K | 2 |
4 | C1,C2 | 電容 | 1nF | 2 |
5 | RP1 | 排阻 | 500 | 1 |
6 | LCD1 | 液晶顯示器 | LM016L | 1 |
7 | X1 | 晶振 | 11.0592MHz | 1 |
綜合課設(shè)報告.docx
(387.81 KB, 下載次數(shù): 30)
| 歡迎光臨 (http://www.denmoz.com/bbs/) | Powered by Discuz! X3.1 |