Proteus在單片機系統(tǒng)設計中的應用
本文結(jié)合實例,介紹了基于proteus的單片機電路系統(tǒng)設計和仿真過程。與傳統(tǒng)方法相比,使用proteus可以提高單片機系統(tǒng)設計效率,具有很好的經(jīng)濟性、靈活性。
1 引言
單片機是電子類等相關(guān)專業(yè)的一門重要課程,在實際工程中有著廣泛應用。全國各大中專院校開設了不同類型的單片機課程及相關(guān)的實驗和綜合設計。在這些專業(yè)的課程設計、畢業(yè)設計及大學生電子競賽中,單片機也是一種非常重要的開發(fā)工具。
隨著計算機技術(shù)的迅速發(fā)展,使用eda軟件進行電路仿真與設計已經(jīng)成為一種趨勢。眾多院校在電路實踐教學改革中引入了eda技術(shù),并建立了eda實驗室。配備了ewb、pspice、multisim、protel、maxplus ii、systemview等相關(guān)軟件及配套硬件。但這些設備對仿真單片機卻無能為力。本文介紹的一款eda軟件——proteus,則有很大的不同,它的最大特點就是能仿真單片機。 目前proteus已在全球廣泛使用。國外有包括斯坦福、劍橋等在內(nèi)的幾千所高校將proteus作為電子工程學科的教學和實驗平臺;近幾年,國內(nèi)也開始流傳,有一些大學正在體驗proteus所帶來的獨一無二的功能并申報大學計劃[1]?! ? proteus簡介
proteus軟件是由英國labcenter electronics公司開發(fā)的eda工具軟件,已有近20年的歷史。該軟件集成了高級原理布圖、混合模式spice電路仿真、pcb設計以及自動布線來實現(xiàn)一個完整的電子設計系統(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等;具有單步運行、斷點設置等調(diào)試功能;能與常用編譯器如keil、iar、proton等協(xié)同調(diào)試;有直流電流表/電壓表、交流電壓表/電流表、示波器邏輯分析儀、頻率計等虛擬儀器,為仿真中的測量記錄提供了方便;支持圖形化分析功能,具有頻率特性、傅里葉分析等圖形方式,可將仿真曲線精美地繪制出來?! ? proteus應用舉例
下面以基于51單片機的“數(shù)字電壓表”為例,說明使用proteus和keil軟件進行單片機系統(tǒng)設計和仿真的過程。
首先,用proteus isis畫好電路圖(注意mcu的最小系統(tǒng)的外圍電路在仿真時可以省略)。并用keil c51編寫相應程序,編譯無誤后生成.hex文件。其次,將生成的.hex文件“下載”到51芯片中,步驟如下:鼠標右擊at89c51,然后左擊,出現(xiàn)相應元件的屬性對話框。如圖1所示,在該對話框的“program file”一項中選擇要加入的.hex文件。最后,點擊play鍵可看到電路仿真結(jié)果(如圖2所示):調(diào)節(jié)滑動變阻器的大小,對應電壓值隨之而呈現(xiàn)線性變化。仿真結(jié)果完全正確。 此外,proteus還可以和keil進行聯(lián)調(diào)。聯(lián)調(diào)設置步驟如下:
(1)把安裝目錄proteus\models下的vdm51.dll文件復制到keil安裝目錄的\c51\bin目錄中。
(2)修改keil安裝目錄下tools.ini文件,在c51字段加入tdrv5=bin\vdm51.dll(“proteus 6 emulator”)并保存。注意:不一定要用tdrv5,根據(jù)原來字段選用一個不重復的數(shù)值就可以了。引號內(nèi)的名字隨意。
(3)打開proteus,畫出相應電路,在proteus的“debug”菜單中選中“use remote debug monitor”。
(4)進入keil的project菜單option for target‘工程名’。在debug選項中右欄上部的下拉菜單選中proteus driver。再進入settings,機子ip設為127.0.0.1,端口號為8000。
(5)在keil中進行debug,同時在proteus中查看直觀的結(jié)果。這樣就可以像使用仿真器一樣調(diào)試程序了?! ∮缮鲜隼涌梢钥闯?,proteus可以很方便地與keil c51集成開發(fā)環(huán)境連接,程序編譯好之后,立即可以進行軟、硬件結(jié)合的系統(tǒng)仿真。利用proteus仿真只需很少設備,就可以完成小到走馬燈、電子鐘,大到電機控制系統(tǒng)等單片機系統(tǒng)設計,具有明顯的經(jīng)濟優(yōu)勢。對于學生來說,由于使用方便,可以提高學習興趣。當然,它有一些不足。比如仿真模型器件庫中沒有一些元器件模型,或有的模型由于缺少仿真文件,不能進行仿真等[3]?! ? 結(jié)語
使用proteus進行單片機系統(tǒng)設計利大于弊,可以解決單片機實驗室硬件投入不足和設備維護困難等問題,克服實驗箱硬件電路固定、實驗內(nèi)容難于改動等局限,有利于促成課程和教學改革,更有利于人才的培養(yǎng)。
在單片機課程設計和全國大學生電子設計競賽中,我們使用proteus開發(fā)環(huán)境對學生進行培訓,在不需要硬件投入的條