史榮珍 周獻中



摘要:以AT89C52單片機為控制核心的新型出租車計價器實現了自動計費,上電后顯示當前時間及日期,亦可顯示公里數、總價及等待時間。此外,還可以通過按鍵模塊來設置計價器的起步價,白天與晚上每公里的單價,時間和日期等功能。并通過Proteus軟件實現了該系統的模擬仿真,驗證了該設計的正確性與實用性。
關鍵詞:出租車計價器;單片機;LCD液晶顯示;Proteus軟件
中圖分類號:TB391? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)31-0083-02
出租車計價器的功能從一開始的只是顯示路程,要求司機自己定價,到后來的能夠自主計費,有了質的飛躍。現在各大中城市出租車與滴滴快車等行業已經普及自動計價器,所以計價器技術的發展已成定局[1-3]。傳統的出租車計價器存在測量里程不精量,計算總價不精確等問題,而且操作起來比較煩瑣,有些沒法自主設置單價,起步價以及白天和晚上的單價不同。文中設計的新型出租車計價器,可以進行起步價和每公里單價以及夜間單價的設定,并能顯示乘車過程中因堵車造成的等待時間及最后的乘車總價。
1 系統總體設計方案
該計價系統由AT89C52芯片作為設計的核心,利用霍爾傳感器實現對路程的測量,采用AT24C02存儲芯片保存起步價,單價和總價等相關信息,采用LCD液晶顯示器顯示時間、單價、路程和總金額。系統設計框圖由圖1所示。
2 系統主要硬件設計
設計以AT89C52作為核心芯片,構成最小相位系統[4]。AT89C52是一種低電位、高性能CMOS 8位微控制器,具有8K系統可反復擦寫的Flash存儲器,兼容標準MCS-51指令系統[5-6]。該單片機具有良好的性能及抗干擾能力,而且編程和燒錄程序也比較方便。故選用該單片機既能滿足設計需求又能節約成本。
2.1 路程檢測電路
在出租車行駛過程中,利用霍爾傳感器檢測路程,假設車輪每轉一圈,周長約為1m,傳感器則會輸出一個標準的脈沖信號送入單片機P3.2引腳,利用單片機的計數功能完成100次的計數后所測量的路程為0.1Km。當出租車處于計費模式時,設置外部中斷處于打開狀態,開始根據里程信號計算公里數。每0.1Km顯示屏上的路程數據更新一次,每增加1Km計費變化一次。
2.2 按鍵輸入電路
采用獨立式鍵盤,設5個按鍵分別占用P1.0—P1.4共5個I/O口,每個按鍵電路相對獨立。電路上電后,每個I/O口處于高電平,當鍵按下時,I/O口處于低電平,釋放按鍵后,又變回高電平。如下文圖3所示,按鍵1為計價開始/結束鍵,按鍵2為等待開始/結束鍵,按鍵3為設置按鍵,通過不同按鍵實現對起步價,每公里計費單價,等待時間計費單價等重新設置,通過加值鍵和減值鍵實現對價格的增減。
2.3 LCD顯示器
采用LCD1602液晶顯示器顯示時間、路程和價格等信息。該液晶顯示器是字符型液晶,并且帶字符庫,顯示容量為16×2個字符,最佳工作電壓為5V,字符尺寸為2.95×4.35(W×H)mm[7]。如圖3電路圖所示,液晶顯示器連接了RW1電位器,若發現液晶不亮,可調節此電位器來改變液晶的亮度。
2.4 時間模塊和存儲模塊
時鐘電路采用DS1302實現時間的顯示。出租車計價過程中,晚上和白天的資費是不一樣的,所以要增加時鐘顯示功能,以此判斷是白天還是夜晚。計價過程中,起步價,每公里單價,等待時間、總價等信息均保存在AT24C02存儲芯片中。出租車運行時,單片機從時鐘芯片DS1302讀取時間信息,根據當前時間判斷是白天還是晚上,再從AT24C02讀取起步價,單價等資費數據。
3 系統軟件設計
該計價器系統使用Keil軟件采用C語言進行編程。主程序流程圖如圖2所示,首先對定時器及液晶顯示器進行初始化,再根據所按按鍵,進入其對應的程序,然后進行車費計算和存儲處理,最后在液晶顯示屏上顯示。此外按下設置鍵時,可通過加值鍵和減值鍵分別設置起步價、白天和晚上的每公里單價等信息。
4 系統仿真與結果分析
使用Proteus軟件繪制電路圖,并將C語言編好的程序下載至AT89C52單片機中,利用Proteus和Keil聯調實現動態仿真。該出租車計價器,可根據某城市設置對應的起步價,此計價器起步價已設為11元,里程為3公里,超過3公里后2.4元/公里開始計價,當時間為22:00至次日7:00的時間段,每公里的單價比白天增加50%,液晶屏上能實時顯示時間、總價和里程數。仿真結果如圖3所示,LCD屏上顯示時間是11點47分34秒,路程是1.2Km,總價是11元。
按照文中電路仿真圖,還進行了電路板的焊制,并將調試好的程序下載至電路板的單片機中,所得的實物運行結果和仿真結果完全一致,從而驗證了設計的正確性。
5 結束語
該新型出租車計價器采用AT89C52單片機為控制器,通過Proteus軟件實現了動態仿真,在LCD液晶顯示屏上實現時間、里程和總價的顯示。另外通過單獨按鍵模塊可以實現出租車當前時間、起步價、單價、等待時間等信息的設置與顯示,簡單方便,達到了預期的效果。
參考文獻:
[1] 周永超,李志廣. 液晶顯示出租車計價器設計[J]. 現代顯示,2012(142): 29-33.
[2] 翟敏煥. 基于單片機的出租車計價器設計[J]. 現代計算機,2014(1):64-67.
[3] 楊世品, 陳林. 基于Proteus的單片機出租車計價器的設計[J]. 微計算機信息,2007,23(3):106-108.
[4] 黃英. 單片機工程應用技術[M]. 上海:復旦大學出版社,2011:9-12.
[5] 李廣第,朱月秀,冷祖祁. 單片機基礎[M].3版.北京:北京航空航天大學出版社,2007:23-25.
[6] 楊中興,王文魁. 單片機技術應用[M]. 北京: 北京理工大學出版社, 2017.
[7] 周潤景,張麗娜. 基于PROTEUS的電路及單片機系統設計與仿真[M]. 北京:北京航空航天出版社, 2006: 28-45.