【導讀】為解決出租車的行業(yè)收費不合理問題,需要優(yōu)化出租車計價器。本文針對這一弊端,設計了一款采用KEIL 51進行系統(tǒng)軟件設計和PROTEUS進行系統(tǒng)仿真操作。經調試產品設計良好。
本文主要是以AT89C51微處理器為核心芯片,分別控制DS1302實時時鐘系統(tǒng)、AEE4霍耳傳感測距系統(tǒng)、按鍵系統(tǒng)、AT24C02掉電存儲系統(tǒng)以及數(shù)碼顯示系統(tǒng),達到智能計價的目的。
1 出租車智能計價系統(tǒng)總體設計
利用AT89C51作為單片機核心器件設計的智能計價系統(tǒng),使用方便、靈敏性好,其強大的控制處理功能和可擴展功能為設計電路提供了很好的選擇。利用其I/O端口及其控制的多功能特點,采用按鍵控制進行分屏顯示,實現(xiàn)基本乘車計價和信息顯示功能。系統(tǒng)總體設計框圖如圖1所示。
圖1 系統(tǒng)總體設計框圖
在系統(tǒng)硬件設計中,以AT89C51單片機為控制中心,外接A44E霍爾傳感器信號采集模塊、時鐘模塊、按鍵模塊、顯示模塊以及掉電保護存儲模塊。其中,選用A44E霍爾傳感器信號采集模塊可將磁感應轉換為脈沖信號,從而計測出行車里程;時鐘模塊采用DS1302芯片,設置標準時鐘;掉電存儲模塊采用AT24C02芯片,以確保掉電時數(shù)據(jù)自動保存在存儲單元;當系統(tǒng)重新上電時,能自動讀取數(shù)據(jù);按鍵模塊采用四個按鍵控制,可實現(xiàn)分屏顯示功能;顯示模塊采用8位LED數(shù)碼管進行顯示。2 系統(tǒng)軟件設計
2.1系統(tǒng)主程序
在主程序模塊中,不僅需要完成參量和接口的初始化設計、出租車起步價和單價的設置以及中斷、計算等操作,還應設置啟動/清除標志、里程以及價格寄存器,并對其進行初始化。最后,為實現(xiàn)寄存器中內容的完整性及精確性,主程序應能分別完成啟動、清除、計程及計費等操作。
當出租車起步運行時,計價器同時啟動開始計價,根據(jù)里程寄存器中的存儲數(shù)據(jù)進行運算并判別行駛路程是否超過起步價的里程。若已超過起步價里程,則根據(jù)里程值、單價數(shù)和起步價等來綜合計算當前的乘車費用;當處于等待時段時,若無脈沖輸入,不產生中斷,一旦等待時間超過預設時間則會把等待超標費用另加到乘車總費用中,并顯示相關信息。系統(tǒng)主程序流程圖如圖2所示。
圖2 系統(tǒng)主程序流程圖
2.2系統(tǒng)模塊程序系統(tǒng)模塊程序主要包括五個服務程序:顯示子程序、里程計數(shù)中斷、定時中斷、中途等待中斷和按鍵服務程序。各服務程序介紹如下:
(1)顯示子程序。由于采取的是分屏數(shù)據(jù)顯示方式,因此需要用到4款顯示子程序:時、分、秒的顯示,金額單價的顯示,路程單價的顯示以及標準時間的顯示。
(2)里程計數(shù)中斷?;舳鷤鞲衅髅枯敵鲆粋€低電平信號便中斷一次,當里程計數(shù)器計滿1000個里程脈沖時,便將當前計數(shù)送至里程計數(shù)中斷服務程序,并將當前行車里程及相關數(shù)據(jù)傳至行車里程與乘車費用寄存器中。
(3)定時中斷。在定時中斷服務程序中,設置一次中斷時間為50ms,20次中斷時間為1s,計滿1s后將數(shù)據(jù)送到相應顯示單元實時顯示。
(4)中途等待中斷。在計數(shù)狀態(tài)下霍耳開關無信號輸出時,片內定時器啟動。等待計時每達到5分鐘,就會在當前金額基礎上自動加上中途等待費用。等待結束后計價系統(tǒng)自動轉換到正常計價程序。
(5)按鍵服務程序。按鍵服務采取查詢模式,設置在主程序中。當無按鍵按下時,單片機循環(huán)運行主程序;按鍵被按下,則轉向運行相應子程序,并進行其他操作處理。
[page]
3 系統(tǒng)仿真與功能實現(xiàn)
3.1仿真軟件Proteus簡介
Proteus仿真軟件是英國Labcenter Electronics公司設計開發(fā)的EDA工具,它不但擁有其它工具軟件的仿真功能,而且可仿真微處理器和相關外圍設備。Proteus軟件功能強大:擁有Proteus電子設計工具,就等同搭建了一個電子設計和分析平臺。利用功能強大的Proteus仿真軟件,我們可以實現(xiàn)對電路的仿真,以確定方案是否可行,并且可使設計過程流暢。
3.2電路功能仿真
首先通過Proteus平臺搭建電路,然后在KEIL中編寫相應代碼,并將生成的HEX文件在Proteus平臺單片機模型中加載,便可看到仿真效果。
(1)單價仿真情況。根據(jù)實際情況,白天和夜晚的起步營運價格是不一樣。對白天、夜晚分別進行仿真實驗,得仿真效果如圖3所示。
圖3 單價仿真效果圖
(a)白天單價(b)晚上單價在圖3中,圖(a)為白天時間段,顯示白天的起步價為6元;圖(b)為夜晚時間段,顯示夜晚的起步價為7元。
(2)其它相關重要參數(shù)仿真。另外,對計價系統(tǒng)其他主要方面也進行了仿真研究(為討論問題簡便,忽略了圖3所示電路部分,只顯示數(shù)據(jù)部分),仿真效果如圖4所示。具體介紹如下:
顯示3公里內和3公里外的單價、里程和金額:圖4(a)顯示路程為2公里(3公里內,起步價內),金額為6元;圖4(b)為顯示里程為22公里(3公里外),顯示單價為2元,金額為44元。
圖4 其它相關重要參數(shù)仿真
顯示標準時間及里程用時:圖4(c)為當前標準顯示時間08:20:28;圖4(d)為乘車過程用時20分28秒。有無等待仿真對比效果:圖4(e)為路上沒有等待時間的價格;圖4(f)為路上有等待時間的價格。根據(jù)程序設置的每5分鐘加1元,可以看出圖4(f)中路上有等待時問,且等待時間為5分鐘。
(a)三公里內(b)三公里外
(c)標準時間(d)里程用時
(e)無等待時間(f)有等待時間
通過觀察上述仿真效果,可分析得知:能在數(shù)碼管上顯示運行單價、乘車里程、行車用時及總費用等相關信息,因此本系統(tǒng)設計達到了預期目標和要求。
4 系統(tǒng)實驗及結果分析
按原理圖進行焊接,確保接線無誤后。對實物進行調試與實驗,最終實驗結果如圖5所示。
圖5 功能驗證試驗
由圖5實驗結果可知:(1)圖5(a)為顯示單價。按下鍵1,進入載客狀態(tài),便會顯示單價。
(2)圖5(b)為顯示單價、里程和金額。此外當?shù)綦姇r,數(shù)據(jù)被會送入存儲單元,重新上電后能顯示掉電前的相關數(shù)據(jù),從而較好地實現(xiàn)掉電存儲保護功能。
(3)圖5(c)為顯示標準時間。按下鍵2便能查看標準時間。
(4)圖5(d)為行車用時。按下鍵3便能實時查看行車用時。
實驗結果表明,利用AT89C51主控,霍爾傳感器進行采集,AT24C02進行掉電存儲保護,配以程序,就能較好地實現(xiàn)出租車智能計價功能。
相關閱讀:
放大電路普及:射頻干擾整流誤差電路設計
電路設計普及:晶振振蕩電路設計
基于虛擬儀器的電機監(jiān)控系統(tǒng)的電路設計