泰山學(xué)院 魏魯原 崔 霞
基于PROTEUS的單片機虛擬實驗室的構(gòu)建
泰山學(xué)院 魏魯原 崔 霞
本文提出一種基于PROTEUS軟件仿真的單片機虛擬實驗室構(gòu)建方案 ,首先介紹了虛擬實驗室的概念和特點,簡要說明了PROTEUS軟件的特點,最后通過實例介紹了基于PROTEUS的單片機虛擬實驗室的搭建過程。
單片機;虛擬實驗室;仿真;Proteus
單片機課程是很多工科專業(yè)的重要課程,由于其獨特的優(yōu)點,單片機廣泛應(yīng)用于各個領(lǐng)域。近年來,隨著技術(shù)的進步,單片機的性能不斷提升,價格越來越來低,使得單片機的應(yīng)用范圍越來越大。但是很多人在學(xué)習(xí)單片機的過程中,感到困惑和吃力,覺得學(xué)了單片機的理論知識,卻不知道如何進行實際應(yīng)用。單片機是一門實踐性很強的學(xué)科,然而個人配備單片機實驗開發(fā)系統(tǒng),成本較高,很多人無法承受,PROTEUS恰好解決了這個矛盾。利用PROTEUS實現(xiàn)虛擬實驗不受時間、空間的限制,功能易于擴充、花費少、耗材少、加深對知識的理解并提高動手能力。
虛擬實驗室(Virtual Laboratory)通過開發(fā)一系列虛擬實驗組件來模擬和再現(xiàn)實驗環(huán)境、實驗設(shè)備和實驗過程,使實驗者脫離實際實驗條件的束縛,互動的感受實驗信息,在更加方便和快捷的條件下,以近似真實的方式實現(xiàn)實驗過程。它是以計算機軟件硬件技術(shù)為支撐,使用軟件開發(fā)工具實現(xiàn)的一種虛擬實驗環(huán)境,在虛擬實驗室中,實驗對象、實驗設(shè)備用計算機軟件模擬,實驗者控制實驗過程,實驗結(jié)果可以進一步分析處理。虛擬實驗室運用計算機強大的運算處理能力,借助于虛擬現(xiàn)實和仿真等技術(shù),具有友好的互動能力和強大的數(shù)據(jù)處理功能、豐富的界面信息,再加上各種其他外部設(shè)備,利用多媒體、互聯(lián)網(wǎng),構(gòu)成了一個精彩的虛擬實驗室。
為了保證相應(yīng)實驗的開設(shè),必須要有配套的實驗系統(tǒng)。如果要保證一定的實驗硬件設(shè)備套數(shù),將是一筆更大的開支。實驗設(shè)備在實驗過程中也會有各種損害和損耗,Proteus軟件較好地解決了這個問題。Proteus是英國Labcenter公司的嵌入式系統(tǒng)仿真開發(fā)軟件,它包括原理圖布圖、VSM嵌入式仿真、混合模式仿真以及PCB制板等功能。它的主要特點是:
2.1 支持常用單片機系統(tǒng)的仿真
這是PSPICE電路仿真,EWB電路仿真,Multisim電路仿真等其他電路仿真軟件不具備的功能。目前支持的單片機類型有:8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、68000系列以及各種外圍芯片。
2.2 實現(xiàn)軟件調(diào)試功能
Proteus能仿真單片機全速運行時的狀態(tài),也可以觀察電路中各一件引腳的電平。因此在仿真時,可以像其他仿真軟件一樣,觀察某些語句執(zhí)行時存儲器內(nèi)容和單片機寄存器的改變,也能看到電路工作和程序運行的結(jié)果和過程。
2.3 提供豐富的外圍接口器件
8000多種的可選虛擬器件,可以進行模擬電路仿真、數(shù)字電路仿真、RS-232動態(tài)仿真、I2C調(diào)試器、LCD系統(tǒng)仿真、SPI調(diào)試器、鍵盤和、單片機及其外圍電路組成的系統(tǒng)的仿真的功能。在進行實驗時,可以選擇不同的電路,方便將來的設(shè)計與調(diào)試。
2.4 提供豐富的虛擬儀器
包含13種虛擬儀器,包括示波器、信號發(fā)生器、邏輯分析儀等。外觀真實,功能齊全。
以下給出一個模擬開關(guān)燈的例子,來說明如何利用Proteus構(gòu)造單片機虛擬仿真實驗室。
3.1 實驗原理
監(jiān)視開關(guān),用發(fā)光二極管D1顯示開關(guān)狀態(tài),如果開關(guān)合上,D1亮;開關(guān)打開,D1滅。
開關(guān)狀態(tài)的檢測過程相對于單片機來說,是檢測P1端口輸入的信號,而輸入的信號只有高電平和低電平兩種。開始模擬后,開關(guān)可以動作,當開關(guān)撥上去,即輸入高電平,相當于開關(guān)斷開;當開關(guān)撥下去,即輸入低電平,相當于開關(guān)閉合。單片機可以采用JB BIT,REL或者是JNB BIT, REL指令來完成對開關(guān)的檢測。
3.2 硬件設(shè)計
硬件的組成和接線可以完全讓學(xué)生自己完成,也可以給出器件和大部分連線,如圖1所示,剩下的連線讓學(xué)生完成。
圖1 開關(guān)燈部分硬件電路圖
3.3 程序設(shè)計
軟件的設(shè)計可以完全讓學(xué)生自己完成,也可以給出如圖2的流程圖,源程序由學(xué)生完成。
圖2 開關(guān)燈程序流程圖
本例的源程序如下:
3.4 調(diào)試與仿真
(1)選擇CPU類型,此例子中選擇ATMEL中的AT89C51單片機。
(2)新建匯編源文件(.ASM),編寫程序,并保存。
(3)在“Project Workspace”窗口中,將新建的.ASM文件添加到“source Group”。
(4)在Proteus的菜單欄目中,打開“DebuG”菜單進行調(diào)試。
(5)調(diào)出“Proteus ISIS”界面,在程序運行過程中,閉合或斷開開關(guān),觀察LED的變化。
利用單片機AT89S51與ADC0808實現(xiàn)一個數(shù)字電壓表,能夠測量0—5V之間的模擬電壓值,利用四位數(shù)碼管顯示。
由于ADC0808的參考電壓VREF=VCC,所以轉(zhuǎn)換之后的數(shù)據(jù)要經(jīng)過數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。電壓表部分電路圖如圖3所示。剩下的連線讓學(xué)生完成。也可以讓學(xué)生自己選擇器件來實現(xiàn)數(shù)字電壓表的設(shè)計。
程序設(shè)計流程圖如圖4所示,源程序由學(xué)生自己完成。
調(diào)試與仿真過程同上例,最后,調(diào)節(jié)電位器RV1,可以看到數(shù)碼管顯示的A/D轉(zhuǎn)換結(jié)果變化。
圖3 電壓表部分電路圖
圖4 電壓表程序流程圖
我們設(shè)計了十五個基礎(chǔ)實驗,如I/O的應(yīng)用、A/D轉(zhuǎn)換、定時器實驗等,每一個實驗都分為實驗原理、硬件設(shè)計、程序設(shè)計、調(diào)試與仿真這四個項目,部分硬件接線未給出全部的接線,留給學(xué)生思考完成,也可自行動手修改和搭建實驗。通過對這些實驗的操作可以加深對單片機的理解,在虛擬實驗室操作實驗,安全簡單、操作快捷,可以省去實驗板、電源等結(jié)構(gòu)裝置。另外Proteus具有豐富的虛擬儀器,如常見的交、直流電壓電流表、示波器等,這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗。Proteus還具有環(huán)境模擬、圖表分析、噪聲分析等高級應(yīng)用??傊?利用Proteus組建的虛擬實驗室具有很大的靈活性和可擴展性,節(jié)約經(jīng)濟成本。
[1]周潤景,袁偉亭,景曉松.PROTEUS在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例[M].北京:電子工業(yè)出版社,2006.
[2]林志琦等編著.基于Proteus的單片機可視化軟硬件仿真[M].北京:北京航空航天大學(xué)出版社,2006.
[3]唐明翔等.淺談“虛擬實驗室”在高校教學(xué)中的應(yīng)用[J].成都:成都教育學(xué)院學(xué)報,2006(3):75-78.
[4]風(fēng)標科技[EB].http://www.windway.cn. PROTEUS嵌入式系統(tǒng)設(shè)計與仿真平臺.
[5]蔡朝洋.單片機控制實習(xí)與專題制作[M].北京:北京航空航天大學(xué)出版社,2006.
魏魯原(1972—),男,山東泰安人,主要從事單片機、工業(yè)控制方面的教學(xué)與科研工作。
崔霞(1974—),女,山東泰安人,主要從事模擬電子、計算機仿真方面的教學(xué)與科研工作。