朱海洋
(廣東松山職業(yè)技術(shù)學(xué)院 廣東 韶關(guān) 512126)
利用Proteus仿真軟件構(gòu)建單片機虛擬實驗室
朱海洋
(廣東松山職業(yè)技術(shù)學(xué)院 廣東 韶關(guān) 512126)
創(chuàng)建基于Proteus的單片機虛擬實驗室,利用功能強大的Proteus仿真軟件對單片機及其外圍器件進(jìn)行仿真,實驗系統(tǒng)搭建簡單容易,仿真過程形象直觀,為單片機課程教學(xué)提供了一個很好的實驗手段。
Proteus;虛擬實驗室;構(gòu)建;單片機;仿真
隨著單片機在各行業(yè)的廣泛應(yīng)用,社會對掌握單片機技術(shù)的人才需求也越來越多,因而單片機技術(shù)已成為各高校電類專業(yè)開設(shè)的必修課程,單片機技術(shù)應(yīng)用與開發(fā)也已成為學(xué)生就業(yè)的一個主要方向。但是單片機課程是一門理論性與實踐性都比較強的課程,在教學(xué)過程中必須將軟件與硬件結(jié)合,也就是將單片機程序與外圍電路相結(jié)合,才能使學(xué)生更好地將所學(xué)的單片機理論知識轉(zhuǎn)化為實際能力。
由于傳統(tǒng)的單片機實驗、實訓(xùn)大都在實驗箱上進(jìn)行,費用高且不能充分利用,往往導(dǎo)致學(xué)校不愿多開設(shè)實驗、實訓(xùn)課,學(xué)生平時很難有機會實踐。即便在理論課堂上進(jìn)行現(xiàn)場演示教學(xué),效果也不盡如人意。
現(xiàn)在國內(nèi)外有很多仿真軟件,如PspICE、OrCAD等均支持51系列單片機,但其共同缺點是對單片機電路的系統(tǒng)設(shè)計無法進(jìn)行仿真。而專門針對單片機仿真的另一類軟件,如MedWin、偉福等,如果離開仿真器,僅僅進(jìn)行純軟件仿真,效果也不好。Proteus仿真軟件則設(shè)計了一個符合要求的、純軟件的單片機虛擬實驗室系統(tǒng),既可調(diào)試單片機程序,也可仿真單片機外圍器件的工作情況。
Proteus是英國Labcenter Electronics公司開發(fā)的多功能EDA軟件,是目前最先進(jìn)、最優(yōu)秀的單片機與嵌入式系統(tǒng)的設(shè)計與仿真軟件,具有資源豐富、開發(fā)周期短、系統(tǒng)設(shè)計與開發(fā)難度低、與實際設(shè)計接近程度大等優(yōu)點。除了具有其他EDA工具的原理圖布局、PCB自動或手工布線、電路仿真等功能外,Proteus軟件的最大特點是基于微控制器的設(shè)計連同所有的外圍電路一起仿真,可直接在單片機虛擬系統(tǒng)上對MCU編程,可對軟件源代碼進(jìn)行實時調(diào)試,并支持第三方的軟件編譯和調(diào)試環(huán)境,如WAVE、Keil等軟件。同時,它具有電路互動仿真功能,通過動態(tài)外設(shè)模型,如鍵盤、LED/LCD等,可實時顯示系統(tǒng)輸入、輸出結(jié)果,或配合Proteus提供的虛擬儀器,如示波器、虛擬終端等實現(xiàn)交互仿真。利用Proteus仿真軟件對所設(shè)計的單片機系統(tǒng)進(jìn)行仿真,不但在測試程序執(zhí)行時可見單片機某些寄存器值的改變,更能從工程的角度直接看到程序運行和系統(tǒng)工作的過程和結(jié)果。當(dāng)虛擬單片機系統(tǒng)的仿真結(jié)果達(dá)到系統(tǒng)預(yù)期效果后,可再進(jìn)行硬件實物開發(fā)。Proteus也因其強大仿真功能而備受各大高等院校師生的青睞,利用Proteus軟件構(gòu)建單片機虛擬實驗室已經(jīng)逐漸成為一種趨勢。
虛擬實驗室也稱為合作實驗室,最早在1989年由美國弗吉尼亞大學(xué)(University of Virginia)的威廉姆·伍爾夫(William Wulf)教授提出,用來描述一個計算機網(wǎng)絡(luò)化的虛擬實驗室環(huán)境。虛擬實驗就是利用鼠標(biāo)的點擊、拖動,將微機上各種虛擬儀器,按實驗要求、過程組裝成一個完整的實驗系統(tǒng),同時在這個系統(tǒng)上完成整個實驗,包括元件的添加、實驗條件的改變、數(shù)據(jù)采集以及實驗結(jié)果的模擬、分析等。
從現(xiàn)在高校的機房配置情況看,只要擁有一臺服務(wù)器、一臺教師機和三四十臺學(xué)生機的機房,在安裝了Proteus軟件后,足以構(gòu)建一間單片機虛擬實驗室。基于Proteus的單片機虛擬實驗室,具備以下三個條件,完全可以滿足學(xué)生對掌握單片機知識的需求。

第一,能夠提供類似于真實單片機實驗室的必要的虛擬硬件設(shè)備。一般的單片機硬件電路的設(shè)計包含兩部分內(nèi)容:一是系統(tǒng)擴展,即單片機自身的功能(單元ROM、RAM、I/0口和定時器/計數(shù)器等)不能滿足需要時,必須在片外進(jìn)行擴展,選擇適當(dāng)?shù)男酒O(shè)計相應(yīng)的電路;二是系統(tǒng)配置,即按照系統(tǒng)的要求配置外圍設(shè)備,如鍵盤、顯示器、打印機、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等,要設(shè)計合適的接口電路。很多常用的硬件電路的設(shè)計都可在Proteus軟件中實現(xiàn),學(xué)生通過Proteus軟件的使用,不僅能實現(xiàn)教材上部分實驗,還可以學(xué)習(xí)硬件電路設(shè)計的方法。
第二,能夠進(jìn)行應(yīng)用程序的編寫和調(diào)試。學(xué)生通過使用WAVE、Keil等軟件編寫、調(diào)試應(yīng)用程序,既可以掌握單片機各種指令的應(yīng)用,也可以學(xué)會單片機軟件開發(fā)的步驟、方法和技巧。
第三,可以實現(xiàn)虛擬硬件和軟件聯(lián)合調(diào)試。利用WAVE、Keil等工具軟件與Proteus的聯(lián)合,可以方便地實現(xiàn)單片機系統(tǒng)的仿真調(diào)試。
筆者擬通過一個具體的單片機系統(tǒng)應(yīng)用實例,以Keil作為軟件調(diào)試界面,以Proteus作為硬件仿真和調(diào)試界面,聯(lián)合實現(xiàn)對單片機系統(tǒng)的仿真。
實例要求用單片機和D/A轉(zhuǎn)換芯片輸出一鋸齒波。在Proteus中完成的電路原理圖設(shè)計如圖1所示。利用Keil軟件編寫程序并編譯,生產(chǎn).HEX文件。
將Keil軟件生產(chǎn)的.HEX文件加載到Proteus原理圖的MCU中,運行并調(diào)試程序,在虛擬示波器中觀測到的結(jié)果如圖2所示,完全達(dá)到設(shè)計要求。

利用Proteus仿真軟件與Keil或WAVE軟件聯(lián)合,構(gòu)建單片機虛擬實驗室,對于高校的單片機課程教學(xué)而言具有明顯的比較優(yōu)勢。這種聯(lián)合搭建的仿真平臺可以完成單片機教學(xué)過程中的全部軟件實驗和絕大多數(shù)的硬件系統(tǒng)實驗。而且構(gòu)建單片機虛擬實驗室所需硬件投入少,經(jīng)濟優(yōu)勢明顯,不僅可以彌補實驗儀器和元器件缺乏帶來的不足,還不涉及原材料消耗和儀器損壞等因素,可以幫助學(xué)生更快、更好地掌握課堂講述的內(nèi)容,加深對概念、原理的理解,彌補課堂理論教學(xué)的不足。虛擬實驗室的一個最大特點是具有開放性,只要告訴了學(xué)生具體的實驗內(nèi)容、實驗方法,學(xué)生可以在實驗室以外完成,跨越了傳統(tǒng)教學(xué)的地域局限,學(xué)生可以自主完成一些單片機系統(tǒng)的設(shè)計與開發(fā),這對進(jìn)一步培養(yǎng)學(xué)生的綜合分析能力、排除故障能力和開發(fā)創(chuàng)新能力具有重要意義。
將Proteus仿真軟件納入單片機課程教學(xué)體系之中,創(chuàng)建單片機虛擬實驗室,可以將大量教學(xué)信息直接地表現(xiàn)出來,既可以改變這門課程在教學(xué)實踐中出現(xiàn)的生澀難懂、效果不佳的現(xiàn)象,實現(xiàn)形象化教學(xué),激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)習(xí)效率,又可以充分利用計算機房的現(xiàn)有設(shè)備,減少實驗設(shè)備的硬件維護(hù)工作量,實驗環(huán)境又與實際工程系統(tǒng)非常接近,可拉近單片機學(xué)習(xí)與就業(yè)的距離。但是虛擬實驗是不可能代替實物實驗的。因此,應(yīng)提倡實驗內(nèi)容虛實交替、互為補充的原則,最終實現(xiàn)虛實并存,虛擬實驗為手段、實物實驗為目的的教學(xué)效果。
[1]安新艷.Proteus仿真技術(shù)在單片機教學(xué)中的應(yīng)用[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報,2008,7(1):28-29.
[2]伍馮潔,謝陳躍,謝斌.Proteus與Keil在單片機開放性實驗中的應(yīng)用[J].電子測量技術(shù),2008,31(6):101-102.
[3]岳東海.基于PROTEUS的虛擬實驗室在實踐性教學(xué)中的應(yīng)用[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報,2007,6(3):47-48.
[4]張靜,李海.Proteus在單片機教學(xué)中的應(yīng)用[J].中國西部科技,2008,7(29):107-108.
[5]田亞娟.單片機原理及應(yīng)用[M].大連:大連理工大學(xué)出版社,2008.
[6]韓穎.Proteus在單片機技術(shù)實訓(xùn)教學(xué)中的應(yīng)用[J].中國科教創(chuàng)新導(dǎo)刊,2008,(31):211-212.
(本欄責(zé)任編輯:謝良才)
G717
A
1672-5727(2010)08-0154-02
朱海洋(1978—),男,內(nèi)蒙古赤峰人,碩士,廣東松山職業(yè)技術(shù)學(xué)院講師,研究方向為計算機控制技術(shù)及其應(yīng)用。