摘要:為了解決單片機實驗教學中實驗類型單一、實驗設備更新快和成本高等問題,在單片機實驗教學中引入Proteus軟件仿真,獲得了很好的教學效果,同時將該仿真軟件用在學生的電子設計競賽和課程設計中,提高了學生的動手能力。以數(shù)字電壓表實驗為例,介紹了如何利用Proteus軟件進行單片機實驗教學的方法。實踐證明:該方法可提高單片機實驗教學的效果,加深學生對單片機原理及應用的理解,激發(fā)學生學習的興趣,鍛煉學生進行軟硬件開發(fā)的能力。
關鍵詞:Proteus虛擬仿真;軟件仿真;實驗教學;軟硬件開發(fā)
0 引言
歷年的全國大學生電子設計競賽中,大部分試題都涉及到單片機控制的問題,可見單片機課程實驗教學的重要性。但由于單片機系統(tǒng)的設計涉及到硬件電路設計和軟件設計,單片機系統(tǒng)的設計過程需經(jīng)過電路圖繪制、電路板制作、元器件焊接、硬件電路測試、系統(tǒng)軟件調(diào)試等環(huán)節(jié),而且根據(jù)設計的要求還需配備信號源、示波器、交流毫伏表、頻率特性測試儀等測試儀器。因此,要完成一項單片機系統(tǒng)的設計,需經(jīng)過較長的時間,實驗教學中能提供給學生親自動手進行單片機系統(tǒng)設計的機會很少,學生只能停留在課堂理論教學與實驗室的驗證實驗層面上。Proteus虛擬仿真可以解決如何讓學生熟練掌握單片機系統(tǒng)的設計這一問題,并為單片機課程的實驗教學提供有力的支持。
1 傳統(tǒng)的單片機實驗教學中存在的問題
傳統(tǒng)的單片機課程教學包括理論教學和實驗教學,而實驗教學所占課時量較多。在實驗中,需要大量的實驗設備,而一般的學校或個人沒有較多的經(jīng)費,因此,單片機的課堂教學及實驗教學中存在諸多問題,如單片機教學一般以理論教學為主,實驗箱上的電路已經(jīng)固定了,只能起驗證實驗的作用,實驗教學一般是做驗證性實驗;學生除了上實驗課外,平時很難有做實驗的機會。由于單片機實驗室的場地和開放時間有限,個人配備單片機實驗開發(fā)系統(tǒng)本比較高,很多學生難以承受;單片機技術在不斷更新,設備也在不斷老化,設備維護工作量大。如果不斷的重建單片機實驗室,必將帶來資金耗費等問題。
2 Proteus軟件的功能和特點
Proteus軟件是英國Labcenter electronics公司開發(fā)的電路仿真軟件,由ISIS和ARES個軟件構成。前者主要采用原理布圖的方法繪制電路并進行相應的仿真,后者主要用于PCB人工或自動布線及其電路仿真。Proteus提供數(shù)千種元器件和各種虛擬儀器儀表。只需在電腦上裝上Proteus軟件,就相當于有了一個設備齊全的實驗室,可以在計算機上進行電路設計、仿真、調(diào)試。
2.1 Proteus對實驗教學的作用
在單片機實驗教學中引入Proteus仿真,可以使實驗內(nèi)容更全面。單片機實驗包括硬件電路仿真、單片機程序編寫、實際硬件電路的搭建,對于一個實驗,學生可以使用不同的方法搭建電路,在仿真軟件上修改比較容易,可以節(jié)省大量時間,這對于擴展學生的思路和提高學習興趣有幫助,同時也可以提高學生的設計和創(chuàng)新能力。實驗能力的培養(yǎng),是工科學生解決實際工程問題能力的重要方面,因此,ProtecLs仿真可以提供給學生一個自行設計和創(chuàng)新性設計平臺。同時引入Proteus仿真還可以降低了實驗室建設和運行成本。
利用Proteus仿真也可以培養(yǎng)學生的協(xié)作能力。在Proteus中進行仿真實驗時,如果所涉及到的內(nèi)容比較多,幾個同學可以分工合作,各自完成其中的某一部分,因此對于鍛煉學生的團結協(xié)作能力是有好處的。這樣可以讓學生明白一個比較大的工程設計是由一個開發(fā)小組協(xié)作完成的。
2.2 Proteus仿真對電子設計競賽和畢業(yè)設計的作用
在電子設計競賽中,利用Proteus軟件進行輔助設計,可以節(jié)約很多時間,減小硬件成本的投入。動態(tài)元器件仿真模型是Proteus的特色動態(tài)模型,具有動畫效果,如LED發(fā)光管、按鍵開關等。它不但使人機交互式仿真得以實現(xiàn),而且使仿真形象、生動,創(chuàng)造出極為接近現(xiàn)實的環(huán)境。
在學生做畢業(yè)設計中,采用Proteus仿真軟件后,學生只需要一臺電腦就可以開展設計工作。學生前期的設計工作可以利用Proteus仿真軟件在電腦上完成,仿真完成后再進入實驗室進行現(xiàn)場調(diào)試,既可緩解設備不足的問題,也不影響正常的實驗教學。
3 仿真實例
要掌握單片機接口電路設計,必須通過硬件電路搭建、軟件編程、仿真調(diào)試,才可真正領會其含義。單片機實驗既有硬件電路設計,又有軟件編程,先設計好硬件電路,然后編寫程序控制硬件。下面以數(shù)字電壓表為例,闡述采用Proteus軟件進行設計及仿真的過程。利用單片機AT89C52與ADC0808設計一個數(shù)字電壓表,檢測0~5 V的模擬電壓信號,并在數(shù)碼管上實時顯示電壓值。
3.1 實驗方案的確立
數(shù)字電壓表系統(tǒng)框圖如圖1所示,硬件電路由單片機模塊、A/D轉(zhuǎn)換模塊、LED顯示模塊等組成。被測電壓信號用滑動變阻器模代替,電壓信號經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換后送入單片機,單片機對數(shù)據(jù)進行處理后控制LED顯示當前電壓值。
3.2 電壓數(shù)據(jù)采集和LED數(shù)碼顯示模塊的設計
如圖2所示,本實驗單片機選用AT89C52,在Proteus軟件原理圖編輯窗口畫出電路圖,如圖2所示。單片機的P2.3,P2.4,P2.5引腳分別接ADC0808的Start,EOC,OE引腳。單片機的P0.7~P0.0分別接ADC0808數(shù)據(jù)的輸出OUT1~OUT8。系統(tǒng)采用動態(tài)掃描的方式顯示數(shù)據(jù),單片機的P2.0~P2.3分別接LED數(shù)碼管的位選輸人端,P1.0~P1.7分別接LED數(shù)碼管的A,B,C,D,E,F(xiàn),G,DP段,向數(shù)碼管輸入數(shù)據(jù)。表一中列出了本實驗中幾個典型的電阻值、A/D值、實測值。
3.3 Proteus軟件應用與系統(tǒng)調(diào)試
根據(jù)用Proteus軟件畫的電路圖,用Keil C51編寫相應程序,軟件流程圖如圖3所示。
編譯無誤后生成.hex文件。將生成的.hex文件”下載”到單片機中,然后點擊仿真按鈕,如果沒有錯誤,即可看到電路仿真結果,調(diào)節(jié)滑動變阻器的大小,對應電壓值隨之呈線性變化。此外,Proteus還可以和KeilC51進行聯(lián)調(diào)。
由上述例子可以看出,Proteus可以很方便地與Keil C51集成開發(fā)環(huán)境連接,程序編譯好之后,立即可以進行軟、硬件結合的系統(tǒng)仿真。利用Proteus仿真只需很少的設備,就可以完成單片機系統(tǒng)的設計。對于學生來說,由于使用方便,可以提高學生的學習興趣。
4 結語
通過以上基于Proteus軟件的數(shù)字電壓表仿真實驗教學,可以使學生很直觀地理解軟硬件結合的思想,有利于增強學生的感性認識,在實驗教學過程中學生普遍反映在單片機實驗中引入Proteus仿真,對單片機的學習比單純學習書本知識更容易接受。實踐證明,在使用Proteus進行系統(tǒng)仿真開發(fā)成功之后再進行事物的制作,能培養(yǎng)學生的學習興趣,增強學生的創(chuàng)新意識,提高學生的實際應用能力。