摘要:闡述了單片機仿真軟件Proteus動態(tài)仿真的基本特性,與同類軟件相比Proteus包含了更多的元器件模型庫和虛擬工具箱,仿真更具有實時性,更便于觀察單片機系統(tǒng)的運行狀態(tài)。給出了矩陣顯示控制和步進電機驅(qū)動仿真實例。
關(guān)鍵詞:Proteus;單片機;動態(tài)仿真
1 引言
單片機由于功能強、可靠性高和體積小、價格低等特點,在智能儀器儀表、機電一體化產(chǎn)品、工業(yè)測控、家用電器等領(lǐng)域有非常廣泛的應(yīng)用。各院校機電一體化、自動控制、應(yīng)用電子技術(shù)等工科專業(yè)中都開設(shè)了“單片機原理與應(yīng)用”課程。而這門課程的教學(xué)使上課的老師感到棘手,費了很大的精力,但收到的效果不佳,學(xué)生學(xué)起來也感到吃力,故而缺乏積極性和主動性。在教學(xué)過程中利用Proteus軟件進行單片機的實時動態(tài)仿真,會起到事半功倍的效果,本文主要以單片機的實時動態(tài)仿真為例,使大家初步了解該軟件的強大功能及其在工程實踐和實驗教學(xué)中的重要作用。
2 Proteus 仿真功能簡介
Proteus 是英國Labcenter electronics 公司開發(fā)的EDA工具軟件, 與同類軟件有著很多的相似之處。相比之下,其主要的特點有兩個:一是對動態(tài)元件的實時仿真,它對“人機對話”的模擬增強了系統(tǒng)的真實性;二是虛擬工具箱的功能,它能與仿真同時進行,測量方便而準確。
2.1 實時動態(tài)仿真
與多數(shù)仿真軟件相似,Proteus有著數(shù)量龐大的元件庫,包含6000多個模擬和數(shù)字電路中常用的spice模型以及各種動態(tài)元件,基本元件如電阻、電容、各種二極管、三極管、MOS 管、555 定時器等;74 系列TTL 元件和4000 系列CMOS 元件;存儲芯片包括各種常用的ROM、RAM、EEPROM、還有常見I2C 器件等。在豐富的庫元件的支持下,原理布圖時只要進行相應(yīng)的調(diào)用和連線,通過對每個元件的屬性設(shè)置完成繪圖,然后即可進行仿真和虛擬測量[1]。
基于Labcenter 公司提出的VSM (“虛擬系統(tǒng)模型”)的概念,Proteus支持微處理器的仿真,將spice電路模型、動態(tài)外設(shè)以及微處理器的仿真結(jié)合起來,在物理原型調(diào)試之前對整個單片機系統(tǒng)仿真。仿真的過程中,只需用鼠標去點擊開關(guān)和按鈕,微處理器根據(jù)輸入的信號做出相應(yīng)的中斷響應(yīng),同時輸出運算的結(jié)果到顯示終端。整個過程與真實的硬件調(diào)試是極其相似的,在動態(tài)外設(shè)支持下的實時輸入和輸出為實驗者呈現(xiàn)了一個最接近現(xiàn)實的調(diào)試環(huán)境。
2.2虛擬工具箱
Proteus 的虛擬工具箱提供了電路測試中的常用工具和儀器,如圖1 所示。主要用于在實時仿真同時的電路參數(shù)觀測,測量結(jié)果隨仿真動態(tài)變化并顯示,對于電路特性的定性分析可以起到事半功倍的效果,大大節(jié)約了測試時間和開發(fā)成本。
3 Proteus 在單片機動態(tài)仿真中的應(yīng)用
基于VSM 的理論,Proteus 可以仿真很多常用的微處理器。具體來講,它支持PIC, 8051,AVR, HC11, ARM7/LPC2000 等系列多種型號的微處理器,仿真時只需在設(shè)定元件屬性時指定下載程序的路徑即可進行實時動態(tài)仿真[1]。
3.1單片機系統(tǒng)的Proteus設(shè)計與仿真流程
Proteus強大的單片機系統(tǒng)設(shè)計與仿真功能,使它可成為單片機系統(tǒng)應(yīng)用開發(fā)和改進手段之一,全部過程都是在計算機上通過PROTEUS來完成的,其過程一般可分為三步[2]:
Proteus電路設(shè)計:在ISIS平臺上進行單片機系統(tǒng)電路設(shè)計、選擇元器件、插接件、連接電路和電氣檢測。
Proteus源程序設(shè)計:在ISIS平臺上進行單片機系統(tǒng)程序設(shè)計、編輯、匯編編譯、代碼級調(diào)試,最后生成目標代碼文件(.*hex)。
Proteus實時仿真:在ISIS平臺上將目標代碼文件加載到單片機系統(tǒng)中,并實現(xiàn)單片機系統(tǒng)實時交互、協(xié)同仿真,它在相當(dāng)程度上反應(yīng)了實際單片機系統(tǒng)的運行情況。
3. 2 Proteus 仿真實例分析
圖2給出了AT89C51單片機控制8×8矩陣式方向指示控制的Proteus仿真原理圖。
圖2中8×8矩陣LED用箭頭的形式簡單指示某一方向,三片74LS595為串并轉(zhuǎn)換芯片,分別用于矩陣式LED行列信號控制,單片機AT89C51為74LS595提供轉(zhuǎn)換控制信號和數(shù)據(jù)信號,仿真結(jié)果非常逼真。
圖3給出了ARM單片機LPC2124驅(qū)動步進電機的Proteus仿真原理圖。
這是一個完整的步進電機驅(qū)動電路,同時可以通過DIGITAL ANALYSIS可以觀察有關(guān)信號的波形,仿真效果接近于工程應(yīng)用實際。KEY1和KEY2分別控制電機的正反轉(zhuǎn);L297 和L298用于產(chǎn)生符合電機各個相位正確時序的方波及合適的驅(qū)動電流。單片機LPC2124 在本例中只相當(dāng)于一個信號源,提供L297 的時鐘信號。這樣完整的系統(tǒng)仿真是其他單片機仿真軟件所不能獨立完成的。這時,Proteus 為我們提供的不僅僅是一個單片機的仿真環(huán)境,稱其為一個虛擬的單片機實驗室是完全合適的,只要我們能充分的利用Proteus 提供的實驗器件就可以完成一個比較完整的單片機系統(tǒng)。
4結(jié)束語
本文所介紹的只是Proteus 強大功能中很初步的一部分,Proteus 還具有環(huán)境模擬、圖表分析、噪聲分析等高級應(yīng)用。Proteus 的出現(xiàn)為單片機教學(xué)工作和單片機虛擬實驗室的建設(shè)提供了一條方便、快捷、節(jié)約成本的新思路。相信隨著越來越多的人對Proteus 的了解和使用,它會對我們的學(xué)習(xí)、科研和工作帶來更多的便利。
參考文獻
[1] 張靖武,周靈彬編著.單片機系統(tǒng)的PROTEUS設(shè)計與仿真.--北京:電子工業(yè)出版社,2007.4
[2] 周潤景,袁偉亭編著.基于PROTEUS的ARM虛擬開發(fā)技術(shù).--北京:北京航空航天大學(xué)出版社,2007.1
[3] 于永,戴佳,常江編著.51單片機C語言常用模塊與綜合系統(tǒng)設(shè)計實例精講.--北京:電子工業(yè)出版社.,2007.4
[4] 王曉明編著.電動機的單片機控制.--北京:北京航空航天大學(xué)出版社,2002.5
[5] 朱善君,孫新亞,吉吟東編著.單片機接口技術(shù)與應(yīng)用.--北京:清華大學(xué)出版社,2005.3