陳見輝++夏長林++劉義剛
摘要:本文主要闡述一種基于霍爾元件行車計數(shù)控制儀的設(shè)計,以 AT89C52 單片機為核心,E18-D80NK光電傳感器測轉(zhuǎn)數(shù),實現(xiàn)對計數(shù)的控制及顯示。采用模塊化設(shè)計思想,硬件部分利用霍爾元件將行車脈沖圈數(shù)傳入單片機系統(tǒng)進行工作,該系統(tǒng)電路簡單,子程序具有通用性,符合設(shè)計要求。
關(guān)鍵詞:光電傳感器;單片機;LED顯示
1引言
1.1設(shè)計的意義及遠景
隨著居民生活水平的不斷提高,各種計數(shù)控制儀正迅速發(fā)展,其功能也逐漸從單一的里程顯示發(fā)展到速度、時間及行車人能量消耗等功能。本設(shè)計采用了MCS-51系列單片機設(shè)計一款便攜式行車里程/速度計,它能自動實現(xiàn)對自行車里程和速度的測量。通過硬件方案和軟件方案的設(shè)計,具體介紹了行車速度與里程控制儀的硬件設(shè)計和軟件設(shè)計;針對在仿真過程中和硬件搭建過程中遇到的問題進行了具體分析與說明,并對其進行了經(jīng)濟效益分析與論證。
2行車速度與里程控制儀設(shè)計方案
2.1設(shè)計系統(tǒng)框圖
本系統(tǒng)框圖如圖2.1所示
2.2設(shè)計工作原理
本設(shè)計的任務(wù)是以AT89C52為處理核心,用光電傳感器接收外部車輪脈沖信號,并將車輪的轉(zhuǎn)數(shù)轉(zhuǎn)換為電脈沖信號進行計數(shù),通過軟件處理方式對數(shù)據(jù)進行處理進而得到需要的數(shù)值后送入單片機。里程及速度的測量,是經(jīng)過MCS-51的定時/計數(shù)器測出總的脈沖數(shù)和每轉(zhuǎn)一圈的時間,再經(jīng)過單片機的計算得出的,其結(jié)果通過LED顯示器顯示出來。
3硬件電路的設(shè)計
3.1 時鐘電路的設(shè)計
本設(shè)計采用內(nèi)部時鐘方式,由于AT89C52片內(nèi)有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和電容,就構(gòu)成一個穩(wěn)定的自激振蕩圖3.1所示。
該系統(tǒng)晶振采用12MHz,則計數(shù)周期為T=
3.2 復(fù)位電路的設(shè)計
本系統(tǒng)的復(fù)位電路是采用按鍵復(fù)位的電路,如圖3.2所示;上電時,剛接通電源,電容C相當(dāng)于瞬間短路,+5V立即加到RET/VPD端,該高電平使89C52全機自動復(fù)位,這就是上電復(fù)位;復(fù)位后,P0到P3并行I/O口全為高電平,其它寄存器全部清零,只有SBUF寄存器狀態(tài)不確定。按鍵復(fù)位電路如圖3.2所示。
3.3 顯示電路的設(shè)計
本設(shè)計中采用共陰極八段LED數(shù)碼管顯示,P2.0—P2.3信號一起組成位選通的位選信號,P0.0—P0.7信號一起組成段碼選通的段選信號,通過軟件編程,先把所要顯示的數(shù)據(jù)放入存儲單元,然后把數(shù)據(jù)送入段選通對應(yīng)的地址,再選通某一個LED,逐步完成四個LED的顯示。
3.4報警電路的設(shè)計
本報警電路采用蜂鳴器報警,當(dāng)即時速度超過預(yù)定值是蜂鳴器響,指示燈閃爍,提示應(yīng)該減速。報警電路圖如圖3.3所示
4軟件電路的設(shè)計
4.1中斷子程序的設(shè)計
4.1.1里程計算子程序
外中斷0服務(wù)程序用于對單片機P3.2口輸入的圈脈沖進行計數(shù),為十六進制計數(shù)器。60H為低位,62H為高位。每次計數(shù)一次后,對里程數(shù)據(jù)進行一次存儲操作。當(dāng)車輪每轉(zhuǎn)一圈,通過霍爾元件將脈沖數(shù)輸入單片機內(nèi),通過計數(shù)器計出脈沖數(shù),再用乘法子程序算出里程數(shù)。
4.1.2速度計算子程序
外中斷1服務(wù)程序用于處理輪子轉(zhuǎn)動一圈后的計時數(shù)據(jù)。當(dāng)標志位(00H)為1時,說明計數(shù)溢出,放入最大時間值(為#0FFH);當(dāng)標志位為0時,將計數(shù)單元(TL1、TH1、6CH、6DH)的值放入68H~6BH單元。通過定時器計出每轉(zhuǎn)一圈所用的時間,用自行車車輪的周長除以時間就得出自行車的速度。
4.2顯示子程序的設(shè)計
本次設(shè)計采用動態(tài)掃描顯示接口電路,動態(tài)顯示接口電路是把所有顯示器的8個筆劃段a-h同名端連在一起,而每一個顯示器的公共極COM各自獨立地受I/O線控制。CPU向字段輸出口送出字型碼時,所有顯示器接收到相同的字型碼,但究竟是哪個顯示器亮,則取決于COM端。也就是說我們可以采用分時的方法,輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮?xí)r間是極為短暫的(約1ms),由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。
5、系統(tǒng)調(diào)試與分析
5.1 系統(tǒng)仿真
利用PROTEUS ISIS編輯環(huán)境所提供的電器規(guī)則檢查命令對設(shè)計進行檢查。本仿真系統(tǒng)將源代碼的編輯和編譯整合到同一設(shè)計環(huán)境中,這樣使得用戶可以在設(shè)計中直接編輯代碼,并且很容易地查看到用戶對源程序修改后對仿真結(jié)果的影響。源代碼通過編譯無誤后,就可以進行仿真,在仿真過程中不斷完善電路和程序的功能最后達到本次設(shè)計的目的。
5.2硬件電路的搭及調(diào)試故障分析
5.2.1 P0口顯示高阻態(tài)
正常情況下P0口輸出應(yīng)為高(紅色)低(藍色)互換,但在實際情況下P0口出現(xiàn)了高阻態(tài)(灰色),經(jīng)翻閱資料查得P0口做I/O口是應(yīng)接上拉電阻。在加上上拉電阻后,P0口輸出正常。
5.2.1 傳感器輸出電壓過小
在焊接硬件過程中測量傳感器輸出端高電壓0.2V到0.3V之間,達不到4V以上,經(jīng)分析在傳感器輸出端叫2K的上拉電阻,傳感器輸出端輸出電壓在正常范圍內(nèi)變化。
5.2.3 單片機不計數(shù)
在磁鐵來回靠近光電傳感器時單片機始終顯示4個0,經(jīng)檢查傳感器工作正常,指示燈電路工作也正常,在換了一塊單片機后電路正常工作,判定原單片機已被燒毀。
6、社會經(jīng)濟效益分析
本設(shè)計操作簡單、成本低、穩(wěn)定性能良好、易于實現(xiàn),而且能夠滿足人們對高性能、多功能行車的要求,軟件采用模塊化設(shè)計,可讀性強,方便二次開發(fā)。具有廣闊的市場發(fā)展前景。
參考文獻:
[1]樓然苗,李光飛.51系列單片機設(shè)計實例.北京:北京航空航天大學(xué)出版社,2006
[2]松井邦彥,梁瑞林.傳感器應(yīng)用技術(shù)141例.北京:科學(xué)出版社,2006
[3]張洪潤,張亞凡.傳感器技術(shù)與應(yīng)用教程.北京:清華大學(xué)出版社,2005
[4]張毅剛,劉杰.MCS-51單片機原理及應(yīng)用.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2004
[5]何希才.傳感器及其應(yīng)用.北京:國防工業(yè)出版社,2001
[6]李勛,劉源,李靜東.單片機實用教程.北京:北京航空航天大學(xué)出版社,2006
[7]刁文興.自行車電子里程表的初步設(shè)計.南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2004,6:25-28
[8]許德章等.摩托車電子轉(zhuǎn)速表智能校驗儀.自動化儀表,2000,4:23-24
[9]安宗權(quán).電動電子車速里程表分頻電路設(shè)計.自動化與儀器儀表,2001,5:39-44
[10]閻煥忠,王長濤,馬斌.單片機控制里程轉(zhuǎn)速表的設(shè)計.沈陽建筑工程學(xué)院學(xué)報(自然科學(xué)版),2002,4:145-148