文章編號:1672-5913(2008)18-0031-02
摘要:Proteus仿真軟件能夠在通用PC機上實現單片機項目的仿真設計和調試,用該軟件輔助單片機教學可以節約教學資源,提高學習效果。本文介紹了我院在使用Proteus仿真軟件輔助單片機教學方面的一些經驗。
關鍵詞:Proteus軟件;單片機;仿真軟件;輔助教學
中圖分類號:G642 文獻標識碼:B
傳統的單片機理論課教學中,在課堂上演示單片機的設計和調試幾乎不可能;在傳統的單片機實驗教學中,采用硬件仿真器、實驗箱或實驗板,需采購大量的、昂貴的硬件設備,而且設備維護工作量也非常大。而且單片機的種類繁多,再加上資金的限制,不可能在一個實驗室包括所有種類的單片機仿真設備以及各種外圍電路,因此學生能做的實驗項目受到限制。而采用Proteus仿真軟件輔助單片機教學可以彌補傳統單片機教學方法的不足。
1Proteus仿真軟件介紹
Proteus是由英國Labcenter electronics公司開發的電路分析與實物仿真軟件,是一種EDA工具軟件。Proteus安裝以后,主要由兩個程序組成:ARES和ISIS。前者主要用于PCB自動或人工布線及其電路仿真,后者主要采用原理布圖的方法繪制電路并進行相應的仿真。Proteus革命性的功能在于它的電路仿真是互動的,針對微處理器的應用,可以直接在基于原理圖的虛擬原型上編程,并實現軟件代碼級的調試,還可以直接實時動態地模擬按鈕、鍵盤的輸入,LED、液晶顯示的輸出,同時配合虛擬工具如示波器、邏輯分析儀等進行相應的測量和觀測。
作為一款EDA仿真軟件,Proteus與同類軟件有著很多的相似之處。相比之下,其主要的特點有兩個:一是對動態元件的實時仿真,它對“人機對話”的模擬增強了系統的真實性;二是虛擬工具箱的功能,它能與仿真同時進行,測量方便而準確。
與多數EDA仿真軟件相似,Proteus有著數量龐大的元件庫。在豐富的庫元件的支持下,原理布圖時只要進行相應的調用和連線,通過對每個元件的屬性設置完成繪圖,然后即可進行仿真和虛擬測量。與其它EDA仿真軟件的一大不同,在于Proteus支持微處理器的仿真。它可以仿真51系列、AVR、PIC、ARM等常用的微處理器。對動態外設的支持是Proteus區別于其他EDA仿真軟件最直接的地方。Proteus為用戶提供了一個實時交互的環境,在仿真的過程中你可以用鼠標去點擊開關和按鈕,微處理器根據輸入的信號做出相應的中斷響應,同時輸出運算的結果到顯示終端。整個過程與真實的硬件調試是極其相似的,在動態外設支持下的實時輸入和輸出為實驗者呈現了一個最接近現實的調試環境。
Proteus的虛擬工具箱提供了電路測試中的常用工具和儀器,主要用于在實時仿真的同時觀測電路參數,測量結果隨仿真動態變化并顯示,可以滿足精度要求不是很高的測量分析,對于電路特性的定性分析可以起到事半功倍的效果,大大節約了測試時間和開發成本。
2Proteus 在單片機教學中的應用
在單片機教學中引入Proteus仿真軟件,可以使學生建立直觀的仿真思想。利用仿真的形象、生動、實在等特性,會對教學產生積極的影響。
2.1在課堂講授中的應用
單片機教學過程中必須軟件和硬件結合。一般理論課堂難以輔助硬件進行教學,利用Proteus仿真軟件和現有的多媒體教學設備(一臺電腦和一臺投影儀),便能在課堂中完成軟件、硬件和系統集成等內容的教學,這是以往我們無法做到的。
在進行多媒體教學時,可設計大量的單片機應用實例,用Proteus軟件演示從單片機硬件設計到軟件調試的全過程,并演示運行結果。
2.2在實踐教學中的應用
傳統實踐教學通常在單片機實驗室進行,然而由于各種原因,許多高校實驗室的設備更新難于跟上,難于滿足實踐教學的要求。而且由于單片機實驗室存在著場地和時間等問題,學生除了上課外,平時難得有機會實踐。個人配備單片機實驗開發系統,因成本較高,很多學生無法承受。同時一般單片機實驗箱由于是成品,學生很難參與到其中的細節設計中去,學生動手能力很難得到訓練與提高。
在實踐教學中引入Proteus仿真軟件,可以建立先進的單片機仿真虛擬實驗室。Proteus仿真軟件可以仿真51系列、AVR、PIC、ARM等常用的微處理器,并提供了幾乎所有實驗項目需要的外圍電路和器件,如LED、LCD、RAM、ROM、鍵盤、電機、AD/DA、部分SPI器件、部分I2C器件等,學生在機房的通用PC機上可以進行單片機軟硬件設計、調試和PCB設計。利用課余時間,學生甚至可以在寢室里自己的PC機上進行單片機項目的設計和調試,極大地開拓了單片機學習的空間,降低了單片機的學習成本,提高了學習效果。此外,采用Proteus仿真軟件進行實踐教學還有一個好處,就是不存在器件損耗問題,從而也大大節約了教學資源。
單片機的后續課程為課程設計和畢業設計,有的學生可能參加電子設計賽前培訓,采用Proteus仿真軟件后,學生先通過軟件仿真,再進行硬件的設計和調試,可以避免由于設計上的錯誤所造成的硬件投入上的浪費。
2.3應用實例
使用單片機來控制流水燈是學習單片機課程的經典例子,例子簡單卻能讓初學者對單片機項目開發方法有一個比較全面的了解,為以后進行復雜的項目開發打好基礎。
(1) 創建流水燈仿真電路
運行Proteus的ISIS程序后,進入該仿真軟件的主界面。單擊元件列表區的P命令即彈出元器件選擇(Pick Devices)對話框,調入所需元件仿真庫。將電路中的所用元件從元器件庫中調出來,放到繪圖區,布局并設置好參數,然后連接導線,繪制完成的流水燈仿真電路如圖1所示。

(2) 軟件編程
8051系列單片機開發可用的軟件平臺有多種,其中Keil C51是目前世界上最優秀、最強大的51單片機軟件開發平臺,有很多國內高校用南京偉福公司的Wave軟件。不論用哪種軟件平臺,只要程序編譯成功后得到HEX目標文件,把該目標文件與仿真電路進行關聯(在Proteus繪圖區中打開51單片機的編輯對話框,在Program File項中加入HEX文件后點擊OK按鈕),就可以進行系統的仿真。
(3) 系統仿真
Proteus可以總體仿真運行,也可以單步或者設置斷點仿真調試。在Proteus中,我們能清楚地觀察到單片機系統在工作過程中,各硬件所處實時狀態,在仿真過程中,對于連接到每個數字或混合網絡上的引腳,用有色小方塊顯示其狀態:藍色表示低電平,紅色表示高電平,灰色表示浮空,黃色表示沖突(如兩個器件同時向總線上傳送數據)。這給用戶調試、演示帶來了方便,可以隨時觀察每一步操作所引起的結果。
如圖2所示是流水燈仿真電路運行時某時刻的截圖,根據圖中電路的連接情況,當連接有發光二極管的單片機引腳輸出低電平時(藍色方塊),燈亮;輸出高電平時(紅色方塊),燈滅。仿真運行時,燈輪流點亮,形成流水燈的效果。

3結束語
Proteus仿真軟件不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。在程序調試、系統仿真時,不僅能觀察到程序執行時單片機寄存器和存儲器等內容變化,而且從工程的角度直觀地看到了外圍電路工作情況,非常接近實際工程應用。Proteus附帶有大量的范例,可供學習者參考處理。使用Proteus仿真軟件使單片機學習者僅在通用PC機上就能夠實現單片機項目的仿真設計和調試,突破了傳統單片機教學在時間、場地和資金等方面的限制,可以節約教學資源、提高學習效果。
參 考 文 獻
[1] 周潤景,張麗娜. 基于Proteus的電路及單片機系統設計與仿真[M]. 北京:航空航天大學出版社,2006.
[2] 李學禮,林海峰. 基于Proteus 軟件的單片機實驗室建設[J]. 單片機與嵌入式系統應用,2005,(9).
[3] 馬剛,李向倉. 用Proteus 與Keil整合構建單片機虛擬仿真平臺[J]. 現代電子技術,2006,(24).