陳杰 何建強 王邊弛
摘 要:為順應智能化儀器儀表的發展,文章設計了一種速度里程測量顯示系統。該系統以STC89C52單片機為核心,用霍爾傳感器實現對轉速的準確測量,通過1602LCD液晶顯示器顯示里程及速度的數值。文章詳細介紹速度里程表的硬件電路和軟件程序設計,并進行了試驗測試,測試結果表明,該系統測量精度高于傳統測量設備,且便捷可靠,具有極大應用價值。
關鍵詞:測量;STC89C52;LCD顯示
隨著國內電子信息水平大幅度提高,尤其是計算機技術在儀表發展中的大規模實用和普及,儀表逐漸走出了電氣式儀表傳統的落后模式,正逐漸向智能化和數字化的高端方向發展。就速度和里程表來說,多數速度里程表都是機械的,比較落后,但使用中故障率高,不便維修,看起來也不夠方便、大氣和美觀[1-2]。基于單片機所研究的速度里程表正是伴隨著現代電子發展的大趨勢,它用單片機作為核心,用霍爾傳感器檢測速度里程,然后將從傳感器上獲得電子信號經過單片機處理后把數據顯示給使用者[3]。它不但可顯示車輛行駛的里程,也可顯示速度,同時也能存儲數據。它使用的芯片都是通用的普通芯片,成本低,所以速度里程測量顯示系統具有很強的發展前景[4]。因此,用LCD液晶顯示直接顯示出速度里程的數值,并且當速度超過設定的最大速度值時,就發出聲音提示減速語音,這種顯示系統可方便用戶來處理自行車行駛過程中的各種突發事件,增加行駛的安全性和可靠性。
1 系統基本原理
本文以ST89C52單片機為核心,在周長為L的輪圈上安上1個磁鐵。輪子在轉動一圈時,霍爾傳感器就會采集到一個脈沖信號,將該信號送入單片機,給單片機提供一次中斷。單片機每獲得一次中斷則代表車輪轉動一圈,因此,車輛的里程數=中斷數n×輪圈的周長L。同時單片機通過計算車輪的周長,就可以計算出即時速度。最后通過LCD顯示出來。同時可在程序中設定車輪最高時速,如果測量得到的瞬時速度高于設定的最高時速,系統則發出報警信號。
利用單片機內部定時器/計數器對所獲得的脈沖信號進行計數,并通過計算得到相應里程數、速度。
2.1 顯示模塊
此系統中,選用了LED1602顯示屏,組成了本系統的LED測速顯示模塊。模塊共有1個LED1602顯示屏,有16個引腳,它的VCC和GND引腳對應接在單片機的VCC和GND上。VL經電位器接地,RS,R/W,E引腳對應接在單片機的P2.7,P2.6,P2.5上,D0-D7引腳對應接在單片機的P0.0-P0.7上,BLA經電容GND,BLB接GND。此模塊與霍爾傳感器測速模塊共同作用,可將測得的實際速度顯示在LCD1602顯示屏上[6]。顯示電路如圖2所示。
2.2 霍爾傳感器的測量模塊設計
該系統選用3144A開關型的霍爾傳感器。3144A開關型的霍爾傳感器一共有3個引腳,分別為DO,GND,VCC,對應接在單片機的p3.2,GND和VCC引腳上,此模塊與LCD1602測速顯示模塊共同作用,可以測得電機轉速脈沖,并通過單片機的處理和運算得到電機的轉速[7]。電路如圖3所示。
3 系統軟件設計
接通電源,液晶模塊進行初始化,車輪開始轉動,產生電勢,讓定時器發生中斷,檢測到中斷時間,然后計算速度和里程,單片機計算車輪的速度,和報警速度進行對比,看是否超速,如果超速,將超速信號發送給蜂鳴器,蜂鳴器發出警報聲提示減速。子程序使用LCD動態掃描顯示方式。先將單片機的P2.2口連接使能端口E,然后將單片機的P2.0口連接數據/命令選擇端RS,P0口連接數據端的D0~D7口,然后將要顯示的數字的值發送到P0口[8]。然后調用延時信號,接著將P2.2口置0,P2.0口置1,寫指令,再接著將P2.2口置1,P2.0口置1,寫數據,直到要顯示的數字全部顯示在液晶上為止。
4 安裝調試與測試
速度里程測量顯示系統的測試是整個設計中很重要的因素,因為系統設計本身對穩定性要求高,抗干擾力強,如果在設計中存在一些問題,是能夠通過測試來發現的,并對系統的錯誤進行處理改正,在多次的檢測中使問題暴露出來,然后改正,讓設計更加完美和全面。
測試1
轉速4.5 r/s,將直徑設置成0.6 m,速度顯示是31 km/h,手機計時時間是30 s(0.008 h),路程=時間×速度,路程=0.008×31=0.248 km,屏幕顯示的路程是0.248 km。
測試2
轉速4.5 r/s,將直徑設置成1 m,速度顯示51 km/h,用手機計時時間是61 s(0.016 h),路程=時間×速度,路程=0.016×51=0.85 km,屏幕顯示路程是0.868 km。
5 結語
本文以STC89C52單片機作為核心,利用霍爾傳感器實現對里程/速度的準確測量,設計了一種速度里程測量顯示系統的設計,詳細介紹速度里程表的硬件電路設計。硬件部分利用霍爾傳感器將車輪每轉一圈的脈沖信號傳輸給單片機系統,然后單片機系統將信號進行處理,最后傳輸給LCD顯示屏進行顯示。軟件程序部分是采用C語言進行編程,采用的是模塊化的設計思想。通過驗證過測試,該系統穩定、可靠,具有極大的使用價值。