摘 要:出租車計價器的科學設計有利于促進行業穩定健康地發展,對城市交通建設也起著至關重要的作用。文章從嵌入式系統設計的角度討論了對單片機的感性認識,并介紹了單片機內部模塊功能的應用,以及軟硬件設計過程、方法及實現。
關鍵詞:出租車;計價器;電路;設計
在交通較為發達的今天,大家對出租車計價器都不會陌生,只要汽車一開動,隨著行駛里程的增加,就會看到汽車前面的計價器里程數字顯示的讀數從零逐漸增大,而當行駛到某一值時(如5km),計費數字顯示開始從起步價(如5元)增加。當出租車到達某地需要在那里等候時,司機只要按一下“計時”鍵,每等候一定時間,計費顯示就增加一個該收的等候費用,汽車繼續行駛時,停止計算等候費,繼續增加里程計費。到達目的地,便可按顯示的數字收費。文章就結合這一常見的生活經歷深度剖析其背后的科學系統設計方法。
一、新型出租車計價器的系統硬件設計
針對目前市場上最新款出租車的計價器,我們重點要關注的就是該計價器如何實現人性化計費的,即相應的起步、等候、里程計費等功能的實現。對計價器系統硬件的設計是實現這些功能的基礎,也是計價器產品質量的重要保證。
系統硬件設計分為硬件系統設計和硬件電路設計兩步。硬件系統設計方面,采用單片機進行的設計,相對來說功能強大,用較少的硬件和適當的軟件相互配合可以很容易地實現設計要求,且靈活性強,可以通過軟件編程來完成更多的附加功能。設計采用AT89S51單片機為主控器,以A44E霍爾傳感器測距(按鍵替代),實現對出租車的基本的計價設計,并采用AT24C02實現在系統掉電的時候保存單價等信息,輸出采用8段數碼顯示管。利用單片機豐富的I/O端口,及其控制的靈活性,實現基本的計價功能。
硬件電路設計方面,主要包括驅動電路、顯示電路、復位電路、掉電保護電路、時鐘電路和按鍵電路。驅動電路上,74LS245是我們常用的芯片,用來驅動led或者其他的設備。總線驅動器74LS244和74LS245經常用作三態數據緩沖器,74LS244為單向三態數據緩沖器,而74LS245為雙向三態數據緩沖器。同時,多數的應用系統,都要配輸入和輸出外設,LED顯示器和LCD顯示器,雖然LCD顯示效果比較好,已經成為了一種發展趨勢,但為了節約成本,我們選用了LED顯示器,作為顯示電路。復位電路通常采用上電自動復位和按鈕復位兩種方式。上電自動復位是通過外部復位電路的電容充電來實現的。除了上電復位外還需要按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種。其中電平復位是通過RST端經電阻與電源VCC接通而實現的。最后的掉電保護電路、時鐘電路和按鍵電路相對簡單,都是通過單片機實現的,再次就不一一贅述了。
二、新型出租車計價器的系統軟件設計
在硬件基礎過關的情況下,軟件設計的作用就是對各種情況做出程序指令,來確保硬件設施的運作。對此,我們主要通過計算機匯編程序設計和C語言編程設計實現的。兩種程序設計語言都有各自的優點。用匯編語言編寫和高級語言(C語言)比較起來節省空間,這樣對于存儲空間僅4Kb的芯片來說是極之有利的,51單片機能更高速的運行。C語言編寫的程序,雖然不象匯編那樣速度快、但程序簡單易行、并且需要較小的存儲空間。C語言作為一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能。此外,C語言程序還具有完善的模塊程序結構,從而為軟件開發中采用模塊化程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟件開發的主流。
在具體的軟件設計上,我們采用的是程序模塊化操作,利用各個模塊之間的相互聯系,在設計中采用主程序調用各個子程序的方法,使程序通俗易懂,我們設計了整體程序流程圖。在main函數編寫開始,要進行初始化,包括對系統初始化和對存儲器初始化,要對硬件設備進行初始化,并使硬件處于就緒狀態。通過判斷是否計費,調價,清零等狀態,來分別調用不同的子程序,使程序在設計之前,就有了很強的邏輯關系。這些對應于硬件就是通過按下各個控制開關,來分別進行不同的動作,最后數碼管根據輸入的信息,來顯示不同的數據信息,這就達到了軟件控制硬件,同時輸入信息控制輸出信息的目的。
三、新型出租車計價器的仿真調試階段簡析
調試階段是產品設計的收官階段,同樣也是逆向分析查漏補缺的階段。對于新型出租車計價器的調試,我們主要從三個方面著手,分別是編程工具調試、軟件模塊連接調試和市場功能體現調試。
在編程工具上,使用C51語言進行程序設計雖然相對于匯編語言代碼效率有所下降,但可以方便地實現程序設計模塊化,代碼結構清晰、可讀性強,易于維護、更新和移植,適合較大規模的單片機程序設計。近年來,隨著C51語言的編譯器性能的不斷提高,在絕大多數應用環境下,C51程序的執行效率已經非常接近匯編語言,因此,使用C51進行單片機程序設計已經成為單片機程序設計的主流選擇之一。
軟件模塊連接的調試主要是通過在線軟件進行調試,調試的內容就是指令傳輸的精準度和各模塊運作的敏捷性等。具體操作流程是首先打開Proteus軟件,然后選擇file菜單下的open design選項,找到所需的元器件,元器件上單擊右鍵選中,再單擊左鍵對其進行命名和賦值,接著在編輯器左邊的一欄中,找出并繪制設計所要的各種元器件,按照電路圖連接后并保存,接著將用keil編譯產生的hex文件下載到單片機中:雙擊51單片機,在對話框中把保存過的hex文件打開,再單擊確定,最后單擊左下角運行按鈕,進行軟件仿真調試,直到出現正確的結果。
市場功能調試就是結合具體成型的新型出租車價格器的產品進行相關具體車輛的試運行,包括對客戶反饋信息的整理和歸納,從中調整改造出最接近客戶和車主心里預期的新型計價器產品。
四、結語
通過對新型出租車計價器的設計摸索,一方面可以深入了解系統電路設計在日常生活中的廣泛運用,另一方面對加深各種科學設計理論的理解大有裨益,也是教學改革背景下探索性學習的倡導方式,對于廣大在校專業學習的學生來說,是個值得推廣的學習模式。
參考文獻:
[1]楊許. 基于單片機控制的新型數顯計價器電路設計[J]. 價值工程,2012,32:224-225.
[2]馮書恒. 具有智能診斷反作弊功能的出租車計價器研究[D].濟南大學,2013.
[3]夏國強. 車用計價器使用誤差整車檢驗系統研究[D].吉林大學,2007.
[4]肖衛初,陳偉宏,楊明. 基于單片機的多功能出租車計價器的設計[J]. 現代電子技術,2008,16:180-185+188.