自行車里程表的設計(基于2051).doc
自行車里程表的設計(基于2051),目 錄第一章 概 述2第二章 硬件設計32.1系統(tǒng)組成結構框圖32.2具體硬件電路及工作原理32.3 at89c2051單片機簡介42.3.1芯片概述42.4其他外圍硬件電路62.4.1電源電路62.4.2霍爾傳感器62.4.3 4位串行靜態(tài)顯示電路7第三章 軟件設計83.1主程序設計...


內容介紹
此文檔由會員 cgq123 發(fā)布自行車里程表的設計(基于2051)
目 錄
第一章 概 述 2
第二章 硬件設計 3
2.1系統(tǒng)組成結構框圖 3
2.2具體硬件電路及工作原理 3
2.3 AT89C2051單片機簡介 4
2.3.1芯片概述 4
2.4其他外圍硬件電路 6
2.4.1電源電路 6
2.4.2霍爾傳感器 6
2.4.3 4位串行靜態(tài)顯示電路 7
第三章 軟件設計 8
3.1主程序設計 8
3.2 外中斷0和 T1定時溢出中斷服務子程序設計 8
3.3 速度/里程顯示控制子程序設計 8
3.4系統(tǒng)完整源程序 9
總 結 10
參考文獻 11
附錄 12
附錄1 整體電路圖 12
附錄2 源程序 13
第一章 概 述
本設計介紹的速度與里程表設計以單片機和光電傳感器為核心。傳感器將不同車速轉變成的不同頻率的脈沖信號輸入到單片機進行控制與計算,再采用LED模塊進行顯示,使得電動自行車的速度與里程數據能直接的顯示給使用者。該設計能實時地將所測的速度與累計里程數顯示出來,主要是將傳感器輸入到單片機的脈沖信號的頻率(傳感器將不同車速轉變成不同頻率的脈沖信號)實時地測量出來,考慮到信號的衰減、干擾等影響,在信號送入單片機前應對其進行放大整形,然后通過單片機計算出速度和里程,再將所得的數據存儲到串口數據存儲器,并由LED顯示模塊交替顯示所測速度與里程。本設計的里程數的算法是一種大概的算法(假設在一定時間內自行車是勻速行進,平均速度與時間的乘積即為里程數)。
本系統(tǒng)由信號預處理電路、單片機AT89C2051、系統(tǒng)化LED顯示模塊、串口數據存儲電路和系統(tǒng)軟件組成。其中信號預處理電路包含信號放大、波形變換和波形整形。對待測信號進行放大的目的是降低對待測信號的幅度要求;波形變換和波形整形電路則用來將放大的信號轉換成可與單片機相連的TTL信號;通過單片機的設置可使內部定時器T1對脈沖輸入引腳T0進行控制,這樣能精確地算出加到T0引腳的單位時間內檢測到的脈沖數;設計中速度顯示采用LED模塊,通過速度換算得來的里程數采用I2C總線并通過E2PROM來存儲,既節(jié)省了所需單片機的口線和外圍器件,同時也簡化了顯示部分的軟件編程。
設計時,應綜合考慮測速精度和系統(tǒng)反應時間。本設計用測量脈沖頻率來計算速度,因而具有較高的測速精度。在計算里程時取了自行車的理想狀態(tài)。實際中,誤差控制在幾米之內,相對于整個里程來說不是很大。為了保證系統(tǒng)的實時性,系統(tǒng)的速度轉換模塊和顯示數據轉BCD碼模塊都采用快速算法。另外,還應盡量保證其他子模塊在編程時的通用性和高效性。本設計的速度和里程值采用6位顯示,并包含兩個小數位。