摘 要:介紹Proteus VSM軟件的特點和功能,通過實例介紹如何用Proteus進行單片機應用系統的設計與仿真,并介紹Proteus VSM與Keil的連接方法,通過用Proteus VSM軟件對硬件進行仿真,能夠對單片機的開發應用產生積極的作用。
關鍵詞:Proteus;單片機編譯;Keil;嵌入式開發平臺
中圖分類號:TP29 文獻標識碼:B
文章編號:1004-373X(2008)06-043-02
Design and Simulation of Single Chip Application System Based on Proteus
CHEN Shaohang,LI Shan,MIAO Liangliang,SU Xianlong
(Chongqing Institute of Technology,Chongqing,400050,China)
Abstract:This paper introduces features and function of the Proteus software,and how to use it realize the design and simulation of single chip system.The way of interfacing Proteus VSM to Keil is also presented indetails.Hardware simulation based on Proteus VSM software can carry very good effect to exploitation of single chip.
Keywords:Proteus;single chip compilation;Keil;embedded development platform
如今基于單片機的嵌入式系統已廣泛應用在國防、教育、工業等領域。其核心在于其微處理器。因此單片機的開發越來越受到重視。但是在傳統的嵌入式系統學習中,嵌入式開發平臺是必不可少的。購買開發平臺又是一筆花費,而且對于初學者來說,原理圖設計完成后,需要自己反復搭電路或多次制PCB板,這大大增加了開發成本,這是很多初學者學習單片機的障礙。Proteus是一款優秀的單片機仿真與開發軟件,他可以以軟件的方式模擬整個系統的運行,這樣大大節省了開發周期和開發成本。
1 Proteus VSM簡介
Proteus是英國Labcenter公司開發的電路分析與實物仿真軟件,其主要特點如下:
(1) Proteus VSM是一種基于標準仿真引擎SPICE3F5的混合電路仿真工具,該軟件可以對模擬、數字以及數模混合電路進行仿真和分析,特別是他能夠仿真整個系統;
(2) 可以模擬單片機的外圍電路,可以仿真51系列、AVR、PIC等常用的MCU及其外圍電路,并支持ARM7/LPC2000等系列的微處理器;
(3) 具有虛擬示波器、邏輯分析儀、信號發生器、虛擬終端等各種虛擬儀器可供使用;
(4) 能夠進行原理圖和印制板的設計;
(5) 能夠和第三方軟件Keil進行連機調試,能達到實時的仿真效果。
2 Proteus環境下單片機應用系統的設計與仿真
Proteus和Protel,EWB等軟件在電路系統的設計上具有相似之處。下面通過實例介紹如何使用Proteus實現單片機電路系統的設計與仿真。在該實例中以AT89C51單片機為核心,設計一個24小時制的電子時鐘。顯示格式為“XXXXXX”,由左向右分別是:時、分、秒。
2.1 電路原理圖的設計
首先運行Proteus VSM的ISIS會出現程序的主窗口界面如圖1所示。點擊Library并選擇PickDevice/Symbol以打開元件庫,輸入所要的元件名稱,雙擊該元件,就完成了該元件的添加。電子時鐘所用的元件如表1所示,按照表1的器件清單依次添加元件。




2.2 程序的編制
用單片機定時/計數器T0的定時功能來實現50 ms的定時,定時器每50 ms中斷1次,在中斷服務程序中,對中斷次數進行記數,每中斷20次就是1 s。然后再對秒記數得到分和小時值,并送入顯示緩存。程序流程圖如圖3、圖4所示。
由流程圖編寫的匯編程序中斷部分源代碼如下:
T0_INT:[WB]PUSHPSW
PUSHACC
INCR0
CJNE R0,#20,EXIT
MOV R0,#0
INCSECOND
MOV A,SECOND
CJNE A,#60,EXIT
MOV SECOND,#0
INC MINUTE
MOV A,MINUTE
CJNE A,#60,EXIT
MOV MINUTE,#0
INC HOUR
MOV A,HOUR
CJNE A,#24,EXIT
MOV HOUR,#0
EXIT:POP ACC
POP PSW
RETI


2.3 仿真分析
Proteus能夠與各種單片機編譯程序整合。用 Proteus與Keil聯合調試的方法能達到實時跟蹤的仿真效果。
Proteus與Keil的連接設置的具體步驟如下:
(1) 復制Proteus安裝目錄下MODELS文件夾里的vdm51.dll到keil/C51/BIN目錄;
(2) 修改Keil安裝目錄下的TOOLS.INI,在[C51]欄目中加入TDRV5=BIN\\\\VDM51.DLL(\"Proteus 6 EMULATOR\"),TDRV后面的數字是一系列有序的數字,表示第幾個TDRV,隨不同版本的Keil,TDRV后面的數字應做相應的變化;
(3) 進入Keil的Project→options for target,選擇Debug下的Use復選項,在下拉列表項中選擇Proteus 6 EMULATOR;
(4) 啟動Proteus的ISIS,在Debug菜單中選擇“Use Remote Debug Monitor ”;
(5) IP設置為本級地址127.0.0.1,如果是網絡電腦就得填入該電腦的IP地址,Port為8000。
在Keil里對匯編源程序進行編譯,并將生成的可執行
文件(*.Hex格式)的路徑指定給原理圖里的芯片,現在可以象是在仿真儀上一樣進行單步、全速調試,并可以實時觀察軟硬件的互動工作的過程和結果。
圖6是時鐘運行時的瞬間畫面。

3 結 語
本文給出Proteus VSM 與KEIL C51集成開發環境聯合調試的方法,并以電子時鐘為例簡單介紹了Proteus VSM 在單片機應用系統設計中的應用,Proteus有很多更高級的應用,如環境模擬、噪聲分析等。Proteus的應用給嵌入式系統開發人員節省了大量的研發時間,從而使之能將主要的精力放在系統設計上。這對于提高產品的開發效率、降低開發成本等有著非常重要的作用。
參考文獻
[1]徐煜明,韓雁.單片機機原理及接口技術[M].北京:電子工業出版社,2004.
[2]徐愛鈞,彭秀華.Keil Cx51 V7.0單片機高級語言編程與μVision2應用實踐[M].北京:電子工業出版社,2004.
[3]周立功.增強型80C51單片機速成與實戰[M].北京:北京航空航天大學出版社,2003.
作者簡介
陳少航 男,1981年出生,重慶工學院,碩士研究生。主要從事嵌入式系統及自動化技術的研究。