Proteus軟件在嵌入式系統(tǒng)教學中的應用研究
0 引言
嵌入式系統(tǒng)是一門涉及計算機體系結構、計算機軟件以及其他相關電子技術的綜合技術。目前,嵌入式系統(tǒng)技術已經成為最熱門的技術之一,各類企業(yè)對具備嵌入式系統(tǒng)設計開發(fā)能力人才的需求量非常旺盛。在目前各高校開設的嵌入式系統(tǒng)課程中,普遍采用的微處理器是8位的單片機8051,32位ARM7TDMI核的飛利浦NXP LPC系列和三星S3C4480芯片。首先以單片機作為嵌入式系統(tǒng)設計學習的入門,掌握了基本的概念和設計方法之后,再把ARM7內核CPU作為一種“功能更強大的單片機”,無縫升級到流行的ARM平臺。
傳統(tǒng)的嵌入式系統(tǒng)教學,課堂環(huán)節(jié)多是純理論教學,實踐環(huán)節(jié)一般也是使用傳統(tǒng)的實驗箱,實驗項目較少,內容固定,創(chuàng)新手段不足,很難為學生的創(chuàng)新實踐創(chuàng)造良好的實驗平臺。鑒于傳統(tǒng)教學模式中面臨的問題,在課堂教學、實驗、畢業(yè)設計、創(chuàng)新設計中引入Proteus
軟件,可達到事半功倍的效果。
1 Proteus軟件介紹
Proteus是由英國Labcenter公司開發(fā)的嵌入式系統(tǒng)仿真及開發(fā)平臺,該軟件具有以下特點:
(1)能進行智能原理布圖;進行單片機軟件調試和單片機與外圍電路的協(xié)同仿真;滿足單片機軟件仿真系統(tǒng)的標準。
(2)支持常見的單片機類型和飛利浦公司ARM7(LPC系列)處理器及常見的外圍器件如8255,ADC0809。
(3)可以與KeilμVersion 3,ADSl兩個集成開發(fā)環(huán)境結合,把用匯編和C語言編寫的程序編譯后,進行軟、硬件結合的系統(tǒng)仿真。
2 Proteus軟件在教學中的應用
在教學環(huán)節(jié)中,教師可以將Proteus和Keil建立的虛擬實驗平臺搬到課堂上,將實踐教學與理論教學融為一體,從而改進教學效果。下面是一個實際的課堂案例。
在講述外部中斷處理過程時,將Proteus和Keil聯(lián)調,通過仿真步驟,可以將單片機處理中斷的軟件執(zhí)行過程和單片機內部資源變化的情況以直觀、清晰的畫面呈現(xiàn)給學生,從而帶來單純理論分析難以達到的效果。匯編程序如下:
[!--empirenews.page--]
全速運行Protues,可以看到Proteus中電路的按鍵閉合時,P3.2引腳產生一個下跳沿,PC=0x0003H,指向AJMP INTO轉移指令,堆棧指針SP=O.9H,數據存儲器的08H和09H單元存放著01H和05H,即存放了下一條指令的地址。由此學生可以知道,當發(fā)生外部中斷請求時,程序會自動保存斷點的地址,同時程序將會轉移到中斷服務程序的入口地址。由于是外部中斷0產生的中斷請求,因此程序會轉移到外部中斷0的入口地址0003H單元。而AJMP INT0是一轉移指令,所以程序會轉移到標號INT0處,即真正的中斷服務程序。隨著CPL P1.0指令的執(zhí)行Pro-teus電路圖中的發(fā)光二極管會改變當前的狀態(tài)。當程序執(zhí)行完RETI后,PC=0x0105H,說明中斷程序執(zhí)行完后,程序又回到斷點的位置。RETI指令能把斷點地址取出,送回到程序計數器PC中去。至此,一個完整的中斷處理過程執(zhí)行完畢。
通過外部中斷執(zhí)行的例子可以看出,在課堂上使用Protues和Keil聯(lián)調建立的實驗平臺,許多抽象概念都可以以直觀的方式介紹給學生,使得學生不僅能夠觀察到軟件執(zhí)行時單片機內部的I/O口和存儲器的變化,還能夠觀察到軟件程序和外圍電路互動的過程。
3 Proteus軟件在實驗和課程設計中的應用
現(xiàn)有的單片機實驗教學環(huán)節(jié)通常包括2個部分:課內實驗和課程設計。所有這些實驗都是在實驗箱上完成的。由于硬件實驗箱的結構固定,資源有限,學生在做實驗時無法將所學的知識融會貫通。所以到課程設計階段,很多學生無法完成綜合性實驗。采用Proteus軟件仿真可以彌補硬件實驗的不足。基于Proteus的實驗可以分為以下3個階段逐步完成。
(1)驗證階段。主要讓學生熟悉Proteus與Keil軟件環(huán)境,使學生對單片機虛擬系統(tǒng)仿真有感性認識。實驗指導書給出實驗任務與要求、Proteus實驗原理圖、實驗操作步驟、多媒體課件、程序流程圖及程序源代碼等。學生根據實驗步驟或實驗操作錄像進行實驗操作、實驗調試,并觀察程序運行結果。
(2)設計階段。主要培養(yǎng)學生用Proteus繪制系統(tǒng)原理圖,以及用Keil進行源程序設計的能力。實驗指導書給出實驗任務與要求、實驗原理圖。學生根據實驗原理圖用Proteus繪制硬件電路圖,按照實驗要求設計程序,在Keil環(huán)境編寫源代碼,調試成功,加載程序到Proteus硬件圖仿真。仿真成功后按照實驗原理圖在實驗箱上搭建硬件電路,加載程序,觀察實驗現(xiàn)象,并與仿真結果相比較。
(3)綜合階段。主要激發(fā)學生學習興趣及主觀能動性,提高學生創(chuàng)新能力。學生根據實驗任務及要求設計硬件電路(包括CPU選型、元器件選型及參數設置、電路連接等)并繪制Proteus硬件原理圖;根據硬件功能模塊進行軟件設計(包括系統(tǒng)原理框圖、程序流程圖及源代碼編寫等)。軟硬件設計完成后,進行兩者間聯(lián)調,充分利用Proteus與Keil的聯(lián)合仿真功能,及時發(fā)現(xiàn)并改正硬件電路或程序源碼的錯誤。系統(tǒng)仿真成功后,再制作實物。
在課程設計環(huán)節(jié)中,要求學生在Proteus中繪制硬件電路圖,在Keil中編寫程序,同時在設計硬件電路時盡可能考慮實驗箱的資源,以便在Keil中編寫的程序能夠很好移植到實驗箱上。這樣學生可以隨時進行課程設計和課題研究,在聯(lián)合仿真驗證成功后,再進入實驗室使用實驗箱做進一步驗證。
學生可以針對不同的應用,選擇最適宜的單片機,而不用局限于課堂上常講解的51系列單片機。學生可以在聯(lián)合仿真成功之后,再進行電路焊接、系統(tǒng)調試和程序固化,避免因設計方案不正確所造成的浪費。同時也可以使學生了解與本課程相關的科技發(fā)展最新動態(tài)和成果,掌握自己不熟悉的單片機,提高實驗能力和開發(fā)能力。
4 Proteus軟件在畢業(yè)設計和創(chuàng)新設計中的應用
在畢業(yè)設計中,單片機控制類的設計由于時間短,人數多及實驗設備缺乏,給畢業(yè)設計帶來了一定的困難。采用Proteus仿真軟件后,只需要一臺電腦就可以開展工作。學生前期的仿真工作可以利用Proteus仿真軟件在電腦上完成,再進入實驗室進行現(xiàn)場調試,一方面可緩解設備不足的問題,也可不影響正常的教學。
在項目研究和創(chuàng)新設計中,利用Proteus軟件進行輔助設計,可以做到縮短研發(fā)周期,減小硬件成本的投入。動態(tài)元器件仿真模型是Pro-teus的特色動態(tài)模型,具有動畫效果,如LED發(fā)光管、按鍵開關等。這是Proteus的特色。但有些動態(tài)模型在庫中沒有,Proteus在創(chuàng)建動態(tài)模型方面給予用戶廣闊的創(chuàng)作與發(fā)揮空間,可以設計自己的動態(tài)模型,展現(xiàn)出Proteus在動態(tài)仿真方面的無限魅力。它不但使人機交互式仿真得以實現(xiàn),而且使仿真形象、生動,創(chuàng)造出極為接近現(xiàn)實的課程教學與產品研發(fā)的情境。
5 結語
采用Proteus仿真軟件作為單片機和ARM的教學平臺,可充分利用機房的現(xiàn)有設備,減少實驗設備的硬件維護、實驗環(huán)境,又與實際工程系統(tǒng)非常接近,拉近了學習與就業(yè)的距離。
近年來,將Proteus仿真軟件應用在教學、課程設計、畢業(yè)設計、山東省大學生電子設計大賽中,使用該開發(fā)環(huán)境對學生進行培訓,在不需要硬件投入的情況下,學生普遍反映比以往單純學習書本知識更易于接受,更易于提高,增加很多實踐經驗。實踐證明,這種教學方法不但可以降低成本,經濟優(yōu)勢明顯,且具有較高的推廣價值。