
摘 要:介紹一種以AT89C51為核心的出租車計價系統(tǒng)的硬件設計。該計價器具有空載時顯示時間、載客時顯示價錢功能,具有計時和計價兩種工作方式,適合用于出租車計價系統(tǒng)。文章主要闡述設計的硬件組成部分。
關鍵詞:計價器;單片機;LED
引言
單片機應用系統(tǒng)因其優(yōu)異的性能、高可靠性、以及成本低廉被廣泛應用于工業(yè)、數字信號處理、通信等各個技術領域。而采用LED數碼管作數字顯示以其亮度高、顯示直觀等優(yōu)點也被廣泛應用于智能儀器及家用電器等領域。結合這兩者的優(yōu)點,文章介紹一種以AT89C51單片機為核心,以共陽極數碼管作為顯示器件組成6位數字顯示的出租車計價系統(tǒng)的設計。該系統(tǒng)具有計時和計價兩種功能,在空載時顯示時間,載客時顯示價錢。
1 系統(tǒng)實現(xiàn)的功能
有計時和計價兩種模式;計時模式下6位數碼管同時顯示時、分、秒,24小時制;計價模式下數碼管同時顯示元、角。
2 方案的選擇
本設計方案的選擇主要是LED的顯示方式以及時間處理方式的選擇問題。
LED顯示部分可以采取靜態(tài)顯示和動態(tài)掃描顯示。靜態(tài)顯示的優(yōu)點是輸出操作比較方便,無時序混亂,缺點是工作時功耗大,占用的口線較多,需要一定的硬件資源。動態(tài)掃描雖然要解決時序混亂和顯示閃爍的問題,但這些問題在硬件和軟件上都是可以解決的,且動態(tài)掃描又有工作功耗少、占有口線少、節(jié)省硬件資源等優(yōu)點,因此本設計LED顯示部分采用動態(tài)掃描方式。
對于時間的處理亦有兩種不同的方案。一是采用時鐘芯片如DS1302;二是利用單片機的定時器資源完成,兩種方案各有優(yōu)劣。采用時鐘芯片編程比較簡單,能更充分的運用單片機的口線資源,內含RAM會增加系統(tǒng)的RAM,容易校準時鐘;采用專用晶振,幾乎無需調整就可以達到國家要求的時鐘誤差標準,但成本較高,DS1302難以起振,導致電路調試不易成功,當受到汽車的高壓點火干擾時,會出現(xiàn)計價器的計時混亂、時鐘停止等不良現(xiàn)象,造成計價器無法使用。利用單片機定時器能更好地利用單片機內部資源,成本低廉,電路簡單,但對后期的編程有一定的要求,時鐘會產生誤差。綜合以上兩種方案的優(yōu)劣,在不要求系統(tǒng)有其他多種功能如打印功能、語音功能的情況下單個AT89C51的內部資源是完全夠用的,因此本設計采用單片機定時器來處理時間問題。
3 過程論述
硬件設計:
硬件電路由AT89C51單片機、LED顯示電路、復位電路等組成。系統(tǒng)結構如圖1所示,硬件原理圖如圖2所示。
(1)復位電路
單片機的復位是靠外部電路實現(xiàn)的,在時鐘電路工作后,只要在單片機的RST引腳上出現(xiàn)24個時鐘振蕩(2個機器周期)以上的高電平,單片機便實現(xiàn)初始化狀態(tài)復位。為了保證應用系統(tǒng)可靠復位,通常使RST引腳保持10ms以上的高電平。因此復位電路的核心是必須保證RST引腳出現(xiàn)10ms以上穩(wěn)定的高電平,不論是簡單或是復雜的電路,都是為了保證這個10ms以上穩(wěn)定的高電平。本設計采用上電復位電路和開關復位組合電路,上電復位由Cr、R20組成,在通電瞬間,在RC電路充電過程中,RST端出現(xiàn)正脈沖,從而使單片機復位,時間長數為22μ×1k=22ms,這個時間可以使單片機可靠復位。開關復位由Cr、R20、R21、RESET鍵組成,手動按下RESET鍵時,Cr通過R21迅速放電,使RST端迅速變?yōu)楦唠娖剑琑ESET鍵松開后,電容通過R20和內部下拉電阻充電,逐漸使RST端恢復低電平。Cr、R20、R21的值可由實驗調整。
上電復位電路和開關復位組合電路中,干擾易竄入復位端,在大多數情況下不會造成單片機的錯誤復位,但會引起內部某些寄存器的錯誤復位。這時可在RESET復位引腳上接上一個去耦電容。
(2)LED顯示電路
設計采用3個一組的數碼管,如圖3所示。C1、C2、C3為位選,A、B、C、D、E、F、G為段選。
顯示采用動態(tài)掃描方式,P1口接驅動器和限流電阻作為段選控制,P2口接三極管驅動后作為位選控制。由于動態(tài)掃描每一位數字的顯示時間只占全部顯示時間的1/N(N是數碼管位數),因此每一位的驅動應該是靜態(tài)驅動電流的N倍(典型值應是8×NmA),以保持顯示器應有的亮度。每個位驅動器的驅動電流則應是7×8×N=56×NmA(每位數字有7個筆畫)。本系統(tǒng)采用2片3個一組的共陽數碼管,因每一筆畫驅動電流為56mA,選用74LS245作筆畫驅動器,公共陽極的位驅動器使用共發(fā)射極PNP型晶體管,每筆畫上的串聯(lián)限流電阻R1-R7取42Ω(R=(5V-0.3V-2V-0.3V)÷56mA)。
74LS245為同相三態(tài)雙向總線收發(fā)器,工作電壓為4.75V~5.25V,驅動電流為-15/24mA,最大傳輸延遲為12ns,典型功耗為290mW。邏輯引腳如圖4所示。
(3)按鍵電路
整個按鍵電路由五個微動按鍵K0、K1、K2、K3、K4組成。K0、K1、K2分別為調秒、調分、調時按鍵,當按下其中的某一個按鍵時都可以使相應的時間加一;K4鍵為計價鍵,當按下時系統(tǒng)進入計價模式工作;K3為車輪脈沖模擬鍵。在實際的出租車計價器中車輪信號傳感器是接在出租車的軟軸上,輸出信號為脈沖方式,當車輪轉動一圈時,發(fā)出一個脈沖。在本設計中,為測試方便,把K3鍵作為車輪脈沖的模擬鍵,按下一次表示有一個脈沖輸入即車輪轉動一圈。
4 調試
在調試的過程中對硬件的檢查非常關鍵,后續(xù)編程寫入的軟件能否正常運行,取決于硬件設計是否正確。在本系統(tǒng)中,首先檢查LED是否工作正常,可以直接用導線來連接地線和段選及位選,若能夠點亮,說明LED硬件已經正常。接著是檢查整個硬件系統(tǒng),可以用一個像跑馬燈的程序來檢查LED能否逐個點亮,可點亮則說明整個系統(tǒng)的硬件設計已經正確。
5 結束語
(1)地線的設計要引起重視。在微機應用系統(tǒng)中,地線應盡量加粗。同時地線應該盡量分開,比如本系統(tǒng)中74LS245的地線和AT89C51地線應分開,以減少彼此之間的干擾。同時在各個關鍵部分應配置去耦電容,本系統(tǒng)中74LS245電源端配備了去耦電容。
(2)單片機進行擴展時,不應超過其驅動能力,否則會引起整個系統(tǒng)工作異常。本設計由于不能直接驅動6個LED數碼管顯示,所以添加了顯示驅動芯片74LS245。
(3)通常按鍵所用開關為機械彈性開關,其利用機械觸點的合、斷作用。由于機械觸點的彈性影響,一個按鍵開關在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開,在閉合及斷開的瞬間均伴隨有一連串的抖動,為了確保按鍵動作的準確性,在后期的軟件編寫上必須要考慮消除抖動的影響,方法可以是在第一次檢測到有鍵按下時,執(zhí)行一段延時20ms的子程序后再確認該鍵電平是否仍保持閉合狀態(tài),如果保持閉合狀態(tài)則確認真正有鍵按下,從而消除了抖動的影響。鍵彈開時的抖動消除也可以運用上述方法進行。
參考文獻
[1]孫涵芳,徐愛卿.MCS-51系列單片機原理及應用[M].北京:北京航空航天大學出版社,1996.
[2]李平,周躍松.MCS-51單片機定時誤差的修正及補償[J].電氣自動化,1993,21(5):68.
作者簡介:廖穎民(1981,03-),男,漢族,籍貫:廣西南寧,工作單位:南寧市科技館,學歷:大學本科,學士,職稱:助理工程師,研究方向:科普展品的研發(fā)與維護。