朱海洋
(廣東松山職業(yè)技術(shù)學(xué)院 廣東 韶關(guān) 512126)
利用Proteus仿真軟件構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室
朱海洋
(廣東松山職業(yè)技術(shù)學(xué)院 廣東 韶關(guān) 512126)
創(chuàng)建基于Proteus的單片機(jī)虛擬實(shí)驗(yàn)室,利用功能強(qiáng)大的Proteus仿真軟件對單片機(jī)及其外圍器件進(jìn)行仿真,實(shí)驗(yàn)系統(tǒng)搭建簡單容易,仿真過程形象直觀,為單片機(jī)課程教學(xué)提供了一個很好的實(shí)驗(yàn)手段。
Proteus;虛擬實(shí)驗(yàn)室;構(gòu)建;單片機(jī);仿真
隨著單片機(jī)在各行業(yè)的廣泛應(yīng)用,社會對掌握單片機(jī)技術(shù)的人才需求也越來越多,因而單片機(jī)技術(shù)已成為各高校電類專業(yè)開設(shè)的必修課程,單片機(jī)技術(shù)應(yīng)用與開發(fā)也已成為學(xué)生就業(yè)的一個主要方向。但是單片機(jī)課程是一門理論性與實(shí)踐性都比較強(qiáng)的課程,在教學(xué)過程中必須將軟件與硬件結(jié)合,也就是將單片機(jī)程序與外圍電路相結(jié)合,才能使學(xué)生更好地將所學(xué)的單片機(jī)理論知識轉(zhuǎn)化為實(shí)際能力。
由于傳統(tǒng)的單片機(jī)實(shí)驗(yàn)、實(shí)訓(xùn)大都在實(shí)驗(yàn)箱上進(jìn)行,費(fèi)用高且不能充分利用,往往導(dǎo)致學(xué)校不愿多開設(shè)實(shí)驗(yàn)、實(shí)訓(xùn)課,學(xué)生平時很難有機(jī)會實(shí)踐。即便在理論課堂上進(jìn)行現(xiàn)場演示教學(xué),效果也不盡如人意。
現(xiàn)在國內(nèi)外有很多仿真軟件,如PspICE、OrCAD等均支持51系列單片機(jī),但其共同缺點(diǎn)是對單片機(jī)電路的系統(tǒng)設(shè)計(jì)無法進(jìn)行仿真。而專門針對單片機(jī)仿真的另一類軟件,如MedWin、偉福等,如果離開仿真器,僅僅進(jìn)行純軟件仿真,效果也不好。Proteus仿真軟件則設(shè)計(jì)了一個符合要求的、純軟件的單片機(jī)虛擬實(shí)驗(yàn)室系統(tǒng),既可調(diào)試單片機(jī)程序,也可仿真單片機(jī)外圍器件的工作情況。
Proteus是英國Labcenter Electronics公司開發(fā)的多功能EDA軟件,是目前最先進(jìn)、最優(yōu)秀的單片機(jī)與嵌入式系統(tǒng)的設(shè)計(jì)與仿真軟件,具有資源豐富、開發(fā)周期短、系統(tǒng)設(shè)計(jì)與開發(fā)難度低、與實(shí)際設(shè)計(jì)接近程度大等優(yōu)點(diǎn)。除了具有其他EDA工具的原理圖布局、PCB自動或手工布線、電路仿真等功能外,Proteus軟件的最大特點(diǎn)是基于微控制器的設(shè)計(jì)連同所有的外圍電路一起仿真,可直接在單片機(jī)虛擬系統(tǒng)上對MCU編程,可對軟件源代碼進(jìn)行實(shí)時調(diào)試,并支持第三方的軟件編譯和調(diào)試環(huán)境,如WAVE、Keil等軟件。同時,它具有電路互動仿真功能,通過動態(tài)外設(shè)模型,如鍵盤、LED/LCD等,可實(shí)時顯示系統(tǒng)輸入、輸出結(jié)果,或配合Proteus提供的虛擬儀器,如示波器、虛擬終端等實(shí)現(xiàn)交互仿真。利用Proteus仿真軟件對所設(shè)計(jì)的單片機(jī)系統(tǒng)進(jìn)行仿真,不但在測試程序執(zhí)行時可見單片機(jī)某些寄存器值的改變,更能從工程的角度直接看到程序運(yùn)行和系統(tǒng)工作的過程和結(jié)果。當(dāng)虛擬單片機(jī)系統(tǒng)的仿真結(jié)果達(dá)到系統(tǒng)預(yù)期效果后,可再進(jìn)行硬件實(shí)物開發(fā)。Proteus也因其強(qiáng)大仿真功能而備受各大高等院校師生的青睞,利用Proteus軟件構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室已經(jīng)逐漸成為一種趨勢。
虛擬實(shí)驗(yàn)室也稱為合作實(shí)驗(yàn)室,最早在1989年由美國弗吉尼亞大學(xué)(University of Virginia)的威廉姆·伍爾夫(William Wulf)教授提出,用來描述一個計(jì)算機(jī)網(wǎng)絡(luò)化的虛擬實(shí)驗(yàn)室環(huán)境。虛擬實(shí)驗(yàn)就是利用鼠標(biāo)的點(diǎn)擊、拖動,將微機(jī)上各種虛擬儀器,按實(shí)驗(yàn)要求、過程組裝成一個完整的實(shí)驗(yàn)系統(tǒng),同時在這個系統(tǒng)上完成整個實(shí)驗(yàn),包括元件的添加、實(shí)驗(yàn)條件的改變、數(shù)據(jù)采集以及實(shí)驗(yàn)結(jié)果的模擬、分析等。
從現(xiàn)在高校的機(jī)房配置情況看,只要擁有一臺服務(wù)器、一臺教師機(jī)和三四十臺學(xué)生機(jī)的機(jī)房,在安裝了Proteus軟件后,足以構(gòu)建一間單片機(jī)虛擬實(shí)驗(yàn)室?;赑roteus的單片機(jī)虛擬實(shí)驗(yàn)室,具備以下三個條件,完全可以滿足學(xué)生對掌握單片機(jī)知識的需求。
第一,能夠提供類似于真實(shí)單片機(jī)實(shí)驗(yàn)室的必要的虛擬硬件設(shè)備。一般的單片機(jī)硬件電路的設(shè)計(jì)包含兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)自身的功能(單元ROM、RAM、I/0口和定時器/計(jì)數(shù)器等)不能滿足需要時,必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒?,設(shè)計(jì)相應(yīng)的電路;二是系統(tǒng)配置,即按照系統(tǒng)的要求配置外圍設(shè)備,如鍵盤、顯示器、打印機(jī)、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等,要設(shè)計(jì)合適的接口電路。很多常用的硬件電路的設(shè)計(jì)都可在Proteus軟件中實(shí)現(xiàn),學(xué)生通過Proteus軟件的使用,不僅能實(shí)現(xiàn)教材上部分實(shí)驗(yàn),還可以學(xué)習(xí)硬件電路設(shè)計(jì)的方法。
第二,能夠進(jìn)行應(yīng)用程序的編寫和調(diào)試。學(xué)生通過使用WAVE、Keil等軟件編寫、調(diào)試應(yīng)用程序,既可以掌握單片機(jī)各種指令的應(yīng)用,也可以學(xué)會單片機(jī)軟件開發(fā)的步驟、方法和技巧。
第三,可以實(shí)現(xiàn)虛擬硬件和軟件聯(lián)合調(diào)試。利用WAVE、Keil等工具軟件與Proteus的聯(lián)合,可以方便地實(shí)現(xiàn)單片機(jī)系統(tǒng)的仿真調(diào)試。
筆者擬通過一個具體的單片機(jī)系統(tǒng)應(yīng)用實(shí)例,以Keil作為軟件調(diào)試界面,以Proteus作為硬件仿真和調(diào)試界面,聯(lián)合實(shí)現(xiàn)對單片機(jī)系統(tǒng)的仿真。
實(shí)例要求用單片機(jī)和D/A轉(zhuǎn)換芯片輸出一鋸齒波。在Proteus中完成的電路原理圖設(shè)計(jì)如圖1所示。利用Keil軟件編寫程序并編譯,生產(chǎn).HEX文件。
將Keil軟件生產(chǎn)的.HEX文件加載到Proteus原理圖的MCU中,運(yùn)行并調(diào)試程序,在虛擬示波器中觀測到的結(jié)果如圖2所示,完全達(dá)到設(shè)計(jì)要求。
利用Proteus仿真軟件與Keil或WAVE軟件聯(lián)合,構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室,對于高校的單片機(jī)課程教學(xué)而言具有明顯的比較優(yōu)勢。這種聯(lián)合搭建的仿真平臺可以完成單片機(jī)教學(xué)過程中的全部軟件實(shí)驗(yàn)和絕大多數(shù)的硬件系統(tǒng)實(shí)驗(yàn)。而且構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室所需硬件投入少,經(jīng)濟(jì)優(yōu)勢明顯,不僅可以彌補(bǔ)實(shí)驗(yàn)儀器和元器件缺乏帶來的不足,還不涉及原材料消耗和儀器損壞等因素,可以幫助學(xué)生更快、更好地掌握課堂講述的內(nèi)容,加深對概念、原理的理解,彌補(bǔ)課堂理論教學(xué)的不足。虛擬實(shí)驗(yàn)室的一個最大特點(diǎn)是具有開放性,只要告訴了學(xué)生具體的實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)方法,學(xué)生可以在實(shí)驗(yàn)室以外完成,跨越了傳統(tǒng)教學(xué)的地域局限,學(xué)生可以自主完成一些單片機(jī)系統(tǒng)的設(shè)計(jì)與開發(fā),這對進(jìn)一步培養(yǎng)學(xué)生的綜合分析能力、排除故障能力和開發(fā)創(chuàng)新能力具有重要意義。
將Proteus仿真軟件納入單片機(jī)課程教學(xué)體系之中,創(chuàng)建單片機(jī)虛擬實(shí)驗(yàn)室,可以將大量教學(xué)信息直接地表現(xiàn)出來,既可以改變這門課程在教學(xué)實(shí)踐中出現(xiàn)的生澀難懂、效果不佳的現(xiàn)象,實(shí)現(xiàn)形象化教學(xué),激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)習(xí)效率,又可以充分利用計(jì)算機(jī)房的現(xiàn)有設(shè)備,減少實(shí)驗(yàn)設(shè)備的硬件維護(hù)工作量,實(shí)驗(yàn)環(huán)境又與實(shí)際工程系統(tǒng)非常接近,可拉近單片機(jī)學(xué)習(xí)與就業(yè)的距離。但是虛擬實(shí)驗(yàn)是不可能代替實(shí)物實(shí)驗(yàn)的。因此,應(yīng)提倡實(shí)驗(yàn)內(nèi)容虛實(shí)交替、互為補(bǔ)充的原則,最終實(shí)現(xiàn)虛實(shí)并存,虛擬實(shí)驗(yàn)為手段、實(shí)物實(shí)驗(yàn)為目的的教學(xué)效果。
[1]安新艷.Proteus仿真技術(shù)在單片機(jī)教學(xué)中的應(yīng)用[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報,2008,7(1):28-29.
[2]伍馮潔,謝陳躍,謝斌.Proteus與Keil在單片機(jī)開放性實(shí)驗(yàn)中的應(yīng)用[J].電子測量技術(shù),2008,31(6):101-102.
[3]岳東海.基于PROTEUS的虛擬實(shí)驗(yàn)室在實(shí)踐性教學(xué)中的應(yīng)用[J].常州信息職業(yè)技術(shù)學(xué)院學(xué)報,2007,6(3):47-48.
[4]張靜,李海.Proteus在單片機(jī)教學(xué)中的應(yīng)用[J].中國西部科技,2008,7(29):107-108.
[5]田亞娟.單片機(jī)原理及應(yīng)用[M].大連:大連理工大學(xué)出版社,2008.
[6]韓穎.Proteus在單片機(jī)技術(shù)實(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é)院講師,研究方向?yàn)橛?jì)算機(jī)控制技術(shù)及其應(yīng)用。