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