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