Proteus在單片機系統(tǒng)設(shè)計中的應(yīng)用
1 引言
單片機是電子類等相關(guān)專業(yè)的一門重要課程,在實際工程中有著廣泛應(yīng)用。全國各大中專院校開設(shè)了不同類型的單片機課程及相關(guān)的實驗和綜合設(shè)計。在這些專業(yè)的課程設(shè)計、畢業(yè)設(shè)計及大學(xué)生電子競賽中,單片機也是一種非常重要的開發(fā)工具。
隨著計算機技術(shù)的迅速發(fā)展,使用EDA軟件進行電路仿真與設(shè)計已經(jīng)成為一種趨勢。眾多院校在電路實踐教學(xué)改革中引入了EDA技術(shù),并建立了EDA實驗室。配備了EWB、Pspice、Multisim、Protel、MaxPlus II、SystemView等相關(guān)軟件及配套硬件。但這些設(shè)備對仿真單片機卻無能為力。本文介紹的一款EDA軟件——Proteus,則有很大的不同,它的最大特點就是能仿真單片機。
目前Proteus已在全球廣泛使用。國外有包括斯坦福、劍橋等在內(nèi)的幾千所高校將Proteus作為電子工程學(xué)科的教學(xué)和實驗平臺;近幾年,國內(nèi)也開始流傳,有一些大學(xué)正在體驗Proteus所帶來的獨一無二的功能并申報大學(xué)計劃[1]。
2 Proteus簡介
Proteus軟件是由英國Labcenter Electronics公司開發(fā)的EDA工具軟件,已有近20年的歷史。該軟件集成了高級原理布圖、混合模式SPICE電路仿真、PCB設(shè)計以及自動布線來實現(xiàn)一個完整的電子設(shè)計系統(tǒng)。它是一種混合電路仿真工具,包括模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的仿真等。
Proteus軟件由ISIS和ARES兩個軟件構(gòu)成,其中ISIS是一款便捷的電子系統(tǒng)仿真平臺軟件,ARES是一款高級的布線編輯軟件[2]。ISIS是一個操作簡便且功能強大的原理繪圖工具,它整合了SPICE的仿真模型,擁有超過8000個元件的龐大庫結(jié)構(gòu)。ARES則可將ISIS的仿真原理圖生成PCB版圖。
Proteus支持許多通用的微控制器,如PIC系列、AVR系列、8051系列等;同時它還支持ARM、PLD及各種外圍芯片的仿真,如基于 HD44780芯片的字符LCD、RAM等;具有單步運行、斷點設(shè)置等調(diào)試功能;能與常用編譯器如Keil、IAR、Proton等協(xié)同調(diào)試;有直流電流表/電壓表、交流電壓表/電流表、示波器邏輯分析儀、頻率計等虛擬儀器,為仿真中的測量記錄提供了方便;支持圖形化分析功能,具有頻率特性、傅里葉分析等圖形方式,可將仿真曲線精美地繪制出來。
3 Proteus應(yīng)用舉例
下面以基于51單片機的“數(shù)字電壓表”為例,說明使用Proteus和Keil軟件進行單片機系統(tǒng)設(shè)計和仿真的過程。
首先,用Proteus ISIS畫好電路圖(注意MCU的最小系統(tǒng)的外圍電路在仿真時可以省略)。并用Keil C51編寫相應(yīng)程序,編譯無誤后生成.hex文件。其次,將生成的.hex文件“下載”到51芯片中,步驟如下:鼠標(biāo)右擊AT89C51,然后左擊,出現(xiàn)相應(yīng)元件的屬性對話框。如圖1所示,在該對話框的“Program File”一項中選擇要加入的.hex文件。最后,點擊Play鍵可看到電路仿真結(jié)果(如圖2所示):調(diào)節(jié)滑動變阻器的大小,對應(yīng)電壓值隨之而呈現(xiàn)線性變化。仿真結(jié)果完全正確。
圖1 AT89C51元件屬性框
圖2 Proteus電路仿真效果圖
此外,Proteus還可以和Keil進行聯(lián)調(diào)。聯(lián)調(diào)設(shè)置步驟如下:
(1)把安裝目錄ProteusMODELS下的VDM51.dll文件復(fù)制到Keil安裝目錄的C51BIN目錄中。
(2)修改Keil安裝目錄下Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL(“PROTEUS 6 EMULATOR”)并保存。注意:不一定要用TDRV5,根據(jù)原來字段選用一個不重復(fù)的數(shù)值就可以了。引號內(nèi)的名字隨意。
(3)打開Proteus,畫出相應(yīng)電路,在Proteus的“Debug”菜單中選中“Use Remote Debug Monitor”。
(4)進入Keil的Project菜單Option for Target‘工程名’。在Debug選項中右欄上部的下拉菜單選中Proteus Driver。再進入Settings,機子IP設(shè)為127.0.0.1,端口號為8000。
(5)在Keil中進行debug,同時在Proteus中查看直觀的結(jié)果。這樣就可以像使用仿真器一樣調(diào)試程序了。
由上述例子可以看出,Proteus可以很方便地與Keil C51集成開發(fā)環(huán)境連接,程序編譯好之后,立即可以進行軟、硬件結(jié)合的系統(tǒng)仿真。利用Proteus仿真只需很少設(shè)備,就可以完成小到走馬燈、電子鐘,大到電機控制系統(tǒng)等單片機系統(tǒng)設(shè)計,具有明顯的經(jīng)濟優(yōu)勢。對于學(xué)生來說,由于使用方便,可以提高學(xué)習(xí)興趣。當(dāng)然,它有一些不足。比如仿真模型器件庫中沒有一些元器件模型,或有的模型由于缺少仿真文件,不能進行仿真等[3]。
4 結(jié)語
使用Proteus進行單片機系統(tǒng)設(shè)計利大于弊,可以解決單片機實驗室硬件投入不足和設(shè)備維護困難等問題,克服實驗箱硬件電路固定、實驗內(nèi)容難于改動等局限,有利于促成課程和教學(xué)改革,更有利于人才的培養(yǎng)。
在單片機課程設(shè)計和全國大學(xué)生電子設(shè)計競賽中,我們使用Proteus開發(fā)環(huán)境對學(xué)生進行培訓(xùn),在不需要硬件投入的條件下,學(xué)生普遍反映,對單片機的學(xué)習(xí)比單純學(xué)習(xí)書本知識更容易接受,更容易提高。實踐證明,在使用Proteus進行系統(tǒng)仿真開發(fā)成功之后再進行實際制作,能極大提高單片機系統(tǒng)設(shè)計效率。因此,Proteus有較高的推廣利用價值。
參考文獻
[1] 汪寧. Proteus軟件的單片機仿真方法[J]. 山東輕工業(yè)學(xué)院學(xué)報,2007,21(1):24-27.
[2] 林志琦,郎建軍等. 基于Proteus的單片機可視化軟硬件仿真[M]. 北京:北京航空航天大學(xué)出版社,2006年.
[3] 李海鯤. Proteus在單片機課程設(shè)計中的應(yīng)用[J]. 電腦知識與技術(shù),2006,12:208.