邱丹 曹冬梅

摘要
Proteus是全球范圍內廣泛使用的EDA工具軟件,除了能進行模擬、數字和模/數混合電路的設計與仿真外,也是目前較先進的多種型號微控制器系統的設計與仿真平臺。本文介紹了單片機課程教學中的實踐項目一車輛速度里程表應用系統的軟件仿真案例,并詳述了基于此應用系統的Proteus軟件的仿真電路設計和仿真結果。
【關鍵詞】Proteus 單片機 Keil 霍爾傳感器
單片機課程是一門理論性很強的課程,高等學校的很多電類、信息類工科專業的都已開展。單片機課程又是一門實踐性很強的課程,需要一定的實踐環節作為輔助,因而需要大量的實驗儀器和設備,硬件投入大,經費通常投入不足,難以達到預期教學效果。為此本文提出了一種利用當前比較先進的EDA軟件——Proteus進行單片機系統軟件仿真的設計和實踐的方法,構建單片機虛擬實驗設備,為解決上述問題提供一些新思路。
Proteus是英國Labcenter Electronics公司開發的電路分析仿真軟件,運行于Windows操作系統上,可以仿真、分析(SPICE)各種模擬元器件、集成電路和眾多單片機系統。既可用于設計電路原理圖,又可以畫印制電路板(PCB)圖,并可以實現交互可視化仿真;還可以與常用的單片機編譯調試軟件Keil C51進行聯合調試。用該軟件進行開發的優勢主要在于,避免了用傳統方法開發時方案更換所帶來的多次購買元器件及制作PCB板的麻煩,節約了設計時間,降低了設計經費,也降低了學生學習單片機應用技術的門檻。
1 系統的硬件電路設計
本文提出一種速度里程表的實現方案,在車輛行駛過程中,可以實時測量并顯示速度和里程兩個參數;當超速行駛時還提供自動報警功能。系統硬件部分包括單片機控制模塊、供電模塊、數碼顯示模塊、測量模塊、功能選擇模塊、狀態指示模塊構成。
2 系統的仿真設計
本系統的測量模塊中采用的是開關型霍爾傳感器來測量速度和里程。但Proteus中沒有此類霍爾元件,因此采用軟件中的虛擬儀表——信號發生器產生的方波下降沿來模擬車輛每行駛一圈由霍爾元件輸出的低電平;為了對信號發生器產生的方波進行監控,本系統還使用了虛擬儀表——示波器和計數器,示波器監控信號發生器所產生的波形,計數器對信號發生器輸出的方波個數進行計數,也作為驗證系統所顯示的行駛里程正確與否的依據。
當單片機系統仿真電路原理圖和配套程序都完成后,即可進行仿真調試了。本系統采用Keil C51與Proteus聯合調試的方法,軟件Keit C51負責執行程序,而Proteus負責顯示原理圖的變化情況,兩種軟件分工合作,各盡其責。Keil C51每調試一次,Proteus就會做出相應動作,也可根據系統需要進行跟蹤調試,調試方法靈活多樣,效果最好。
2.1 里程和速度顯示界面
圖1和圖2中,功能按鍵S3是用來控制數碼管顯示內容的,當S3抬起時顯示的是里程數,仿真結果如圖1所示,此時車輪行駛了254圈,程序設置車輪周長為1.8米,則行駛里程為457.2米。當S3按下時顯示的是速度,仿真結果如圖2所示,此時表示車輪行駛了95圈時,行駛的即時速度為5.1m/s。
2.2 速度太慢報警界面
當系統檢測到車輛行駛速度太慢(<0.5m/s)的情況下,狀態燈D3閃爍,表示警告,同時數碼管交替顯示當前速度、“Sudu”、“Erro”。
3 結論
Proteus在單片機系統的開發和仿真中功能十分強大,能提供虛擬且直觀的硬件和軟件設計環境,即使不畫出復位電路與振蕩電路,只要畫好主控芯片和外圍電路,并將擴展名為HEX的十六進制文件下載到主控芯片中,即可進行仿真調試。當然,如果在系統設計過程中,Proteus本身沒有個別元器件的原型,則需要對仿真電路做適當調整或對某些元器件進行替換。軟件仿真并不能完全替代實際的硬件電路,計算機本身性能等因素同樣會影響到仿真結果,這時需要依靠軟件程序設計上的適當調整解決此類問題,但要注意調整時不要改變程序的本質,否則可能會仿真不成功,達不到實驗的目的。
本文提出了基于軟件Proteus的仿真技術進行單片機系統開發的實踐案例和方法,并給出了關鍵性的仿真結果,其仿真環境和相關技術可以作為學生學習電路分析、電子電路、單片機系統和嵌入式系統等課程的輔助工具。該虛擬仿真的演示系統也可為其相關項目的推廣和應用起到相當的作用。
參考文獻
[1]杜樹春.基于Proteus和KeilC51的單片機設計與仿真[M].北京:電子工業出版社,2012.
[2]陳忠平.基于Proteus的51系列單片機設計與仿真(第2版)[M].北京:電子工業出版社,2012.
[3]盧建華.Proteus在交通燈控制系統中的應用[J]數碼設計,2018(01).
[4]李偉,李紅海.基于車輛速度里程表的Proteus仿真[J].機電工程技術,2010(05).
[5]王超,楊蓮紅.Proteus仿真軟件在單片機實踐教學中的應用[J].現代電子技術,2014(07).