《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > Proteus虛擬仿真在微機原理教學(xué)中的應(yīng)用
Proteus虛擬仿真在微機原理教學(xué)中的應(yīng)用
來源:電子技術(shù)應(yīng)用2012年第1期
陳 越, 顧 暉, 梁惺彥
南通大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 江蘇 南通226019
摘要: 基于Proteus和8086微處理器的虛擬實驗平臺,闡述了通過Proteus仿真軟件進行微機原理實踐教學(xué)的新思路和具體方法。實踐表明,該方法能深化學(xué)生對知識點的理解,激發(fā)學(xué)生的學(xué)習(xí)熱情和創(chuàng)造力,提高學(xué)生進行軟硬件開發(fā)的綜合能力。
關(guān)鍵詞: Proteus 仿真 微機原理 8086
中圖分類號: G642
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2012)01-0106-03
The application of Proteus virtual simulation in microcomputer principle teaching
Chen Yue, Gu Hui, Liang Xingyan
School of Computer Science & Technology, Nantong University, Nantong 226019, China
Abstract: A virtual experiment platform is constructed by Proteus and 8086 microprocessor. This paper discusses the idea and methods of microcomputer principle experiment teaching based on Proteus simulation. The practice has proved that this method deepens students’ comprehension, stimulates their interest and creativity, and improves their comprehensive ability of developing software and hardware.
Key words : Proteus; simulation; microcomputer principle; 8086

    微機原理課程是高等學(xué)校工科電工電子類的重要專業(yè)基礎(chǔ)課程,是一門理論性和實踐性都較強的課程。傳統(tǒng)的教學(xué)都是通過理論教學(xué)和有限的實驗進行。微機原理的知識構(gòu)成抽象,理解困難,而實驗內(nèi)容固定,缺乏新意。因此,在教學(xué)過程中,很難激發(fā)學(xué)生的學(xué)習(xí)興趣,學(xué)生的創(chuàng)新思維和綜合開發(fā)能力也難以培養(yǎng)和提高。本文論述了采用Proteus虛擬仿真技術(shù)進行微機原理教學(xué)實踐的新思路和具體方法。

1 Proteus+8086虛擬實驗平臺
    Proteus是英國Labcenter公司開發(fā)的電路分析與實物仿真及印制電路板設(shè)計軟件,它應(yīng)用于Windows操作系統(tǒng),可以仿真、分析各種模擬電路與集成電路。該軟件提供了大量模擬與數(shù)字元器件、外部設(shè)備及各種虛擬儀器,并具有對常用控制芯片及其外圍電路組成的綜合系統(tǒng)的交互仿真功能[1]。
    Proteus提供多種類型的虛擬仿真模型,例如VSM for 8051、VSM for AVR、VSM for ARM7/LPC2000、VSM for PIC11/12/16/18/24/33、VSM for HC11及VSM for MSP430等。Proteus強大的設(shè)計與仿真功能被廣泛應(yīng)用在數(shù)字電路、模擬電路、單片機、嵌入式系統(tǒng)等多門課程的教學(xué)和實驗中。但是,Proteus在微機原理教學(xué)中的應(yīng)用卻鮮有報道,這主要是因為以往的Proteus版本缺乏對微機原理課程所涉及芯片的支持。直至2009年,Labcenter公司推出了VSM for 8086平臺及Proteus 7.5 SP3軟件,支持8086微處理器與8255、8253、8259、8251等接口芯片的系統(tǒng)仿真[2]。
     Proteus為8086微處理器設(shè)定了一些默認(rèn)值,同時也可以通過“編輯元器件”功能對8086模型的多種屬性進行修改,如表1所示。此外,8086模型支持將源代碼的編輯和編譯整合到同一設(shè)計環(huán)境中,用戶可以在設(shè)計中直接編輯代碼,也可以非常容易地修改源程序并查看仿真結(jié)果。


    特別需要指示的是,8086模型支持直接加載BIN,COM和EXE格式的文件到內(nèi)部RAM中,而不需要DOS,并且允許對Microsoft(Codeview)和Borland格式中包含了調(diào)試住處的程序可以進行源和/或反匯編級別的調(diào)試,因此源碼編譯和鏈接過程的參數(shù)相當(dāng)重要。
    應(yīng)用Proteus進行8086接口技術(shù)仿真,主要是在Proteus ISIS中通過以下步驟完成:編輯電路原理圖、設(shè)置外部代碼編譯器、編寫和添加源代碼及仿真調(diào)試。
2 基于Proteus的微機原理教學(xué)設(shè)計
    微機原理課程由匯編語言程序設(shè)計和接口技術(shù)兩大知識塊構(gòu)成,匯編語言是接口技術(shù)開發(fā)設(shè)計的基礎(chǔ),整門課偏重硬件系統(tǒng)的設(shè)計和應(yīng)用。匯編語言程序設(shè)計,主要介紹匯編語句及程序設(shè)計的方法。以往的課堂教學(xué)和實驗通常采用MASM軟件在PC上進行程序編寫和調(diào)試,滿足了教學(xué)和實踐的需求。在Proteus環(huán)境下,亦可進行一些簡單的匯編程序設(shè)計,而其虛擬仿真的優(yōu)勢更主要地體現(xiàn)在接口技術(shù)部分的教學(xué)與實踐環(huán)節(jié)。

 


    接口技術(shù)的內(nèi)容包括存儲器設(shè)計、I/O編址、I/O接口芯片的控制方式及其與CPU的連接等,具體涉及到的有可編程并行接口芯片8255A、可編程定時器/計數(shù)器芯片8253、中斷控制器8259A、可編程串行口芯片8251A以及A/D和D/A轉(zhuǎn)換器ADC0808/0809、DAC0832等。這些接口芯片的工作方式復(fù)雜,引腳數(shù)目多,連接繁瑣。學(xué)生們在學(xué)習(xí)過程中,往往缺乏感性認(rèn)識,使得理解和掌握知識點存在困難,從而失去了學(xué)習(xí)興趣,達(dá)不到很好的教學(xué)效果。
    采用Proteus軟件,利用其動態(tài)仿真的優(yōu)勢,一方面可以在課堂上邊講解理論知識,邊進行實例演示,并針對性地展示各基本模塊的硬件連線和軟件控制的方法,做到理論與實踐相結(jié)合,給學(xué)生直觀的認(rèn)知,激發(fā)學(xué)習(xí)興趣;另一方面,通過教學(xué)研究,對知識點進行拆分和綜合,可以設(shè)計出基于Proteus仿真的實驗項目和綜合實訓(xùn)課題,如圖1所示。在實驗過程中,Proteus很好地克服了硬件實驗箱結(jié)構(gòu)固定、資源有限的缺點,給學(xué)生更多實踐和鍛煉的機會,讓他們能夠在掌握各接口芯片使用方法的基礎(chǔ)上,設(shè)計開發(fā)各種應(yīng)用系統(tǒng),培養(yǎng)了整機概念、創(chuàng)新思維以及軟硬件開發(fā)的綜合能力。

    實踐證明,將Proteus引入到微機原理教學(xué)中,教學(xué)方法直觀,達(dá)到感性和理性認(rèn)識的結(jié)合,激發(fā)了學(xué)生的學(xué)習(xí)熱情,加深對課程知識點的理解,更快地掌握新內(nèi)容,教學(xué)效果有了顯著的提高。
3 Proteus仿真實例
    以基于8086和8255A的“按鍵與數(shù)碼管顯示”實驗為例,說明Proteus虛擬仿真在微機原理課程中的應(yīng)用方法和仿真過程。
3.1 功能設(shè)計
     要求設(shè)計一個4×4的矩陣鍵盤,對鍵盤進行按鍵掃描和判斷,并通過數(shù)碼管顯示鍵值。根據(jù)要求,使用可編程并行接口芯片8255A進行接口電路擴展。對8255的并行口進行分配,A口驅(qū)動數(shù)碼管,B口連接LED電路,C口進行鍵盤掃描。
3.2 電路設(shè)計
    在設(shè)計Proteus仿真電路時,可由CPU、鍵盤電路、顯示電路3個主要模塊實現(xiàn)。CPU模塊由8086CPU、地址鎖存邏輯和I/O譯碼電路構(gòu)成, 8255的起始地址為30 H;按鍵輸入使用4×4的矩陣鍵盤,C口的低四位和高四位分別連接4×4鍵盤的行、列信號線;顯示模塊由7段數(shù)碼管和LED構(gòu)成,數(shù)碼管采用靜態(tài)共陰接法。核心電路如圖2所示。
3.3 軟件設(shè)計
    程序整體采用查詢方式,通過不斷掃描鍵盤,讀取鍵碼,換算鍵值,最終通過顯示模塊讀出結(jié)果。如果讀出的鍵碼非法,則重新掃描。鍵盤掃描采用翻轉(zhuǎn)法,具體算法可參考相關(guān)教材和資料。源代碼的流程設(shè)計如圖3所示。

3.4 仿真調(diào)試與運行
    Proteus本身并未提供8086編譯器,而是通過添加外部代碼編譯器,將編寫好的源代碼加入工程,編譯并生成可執(zhí)行程序。點擊Proteus窗口左下角的運行按鈕,系統(tǒng)進入仿真狀態(tài)。當(dāng)某一按鍵按下時,數(shù)碼管顯示其按鍵值,LED顯示鍵值對應(yīng)二進制編碼。
    點擊暫停按鈕可使電路從仿真狀態(tài)切換到調(diào)試狀態(tài)。在默認(rèn)設(shè)置下系統(tǒng)會彈出兩個窗口:源程序調(diào)試窗口和寄存器窗口??梢栽谠闯绦蛘{(diào)試窗口設(shè)置斷點,進行單步等多種調(diào)試方式,并通過寄存器窗口監(jiān)視寄存器的變化,以校驗指令的運行。需要注意的是,由于PROTEUS是器件級的仿真過程,因此,匯編程序的運行仿真是在無操作系統(tǒng)支持的狀態(tài)下進行的。所以,仿真時在匯編程序中不再支持DOS和BIOS調(diào)用。
4 教學(xué)實踐的體會和經(jīng)驗
    Proteus的引入給教學(xué)實踐帶來了很多新思路、新方法。
    (1) 教學(xué)效果的提高
    Proteus+8086虛擬實驗平臺建設(shè)成本較低,設(shè)備維護簡單;實驗器件豐富,靈活性好。學(xué)生在學(xué)習(xí)和實踐過程中可以充分發(fā)揮主觀能動性,可靈活地從各類元件庫里找到適合設(shè)計目標(biāo)的器件來構(gòu)建自己的電路。
    Proteus除了提供對8086微處理器及相關(guān)接口芯片的支持,同時還提供很多虛擬儀器(如示波器、邏輯分析儀、信號發(fā)生器等),可以用于微機原理課程的相關(guān)應(yīng)用中。學(xué)生可以從小到大、從局部到整體、從小型實例到較大系統(tǒng),隨時進行調(diào)試、檢測,及時修改設(shè)計中的偏差,提高效率。還可以利用Proteus ARES工具布線,生成PCB電路板的3D視圖,實驗效果更加直觀。
    (2) 學(xué)生創(chuàng)新思維的培養(yǎng)
    在微機原理的教學(xué)過程中引入Proteus仿真技術(shù),克服了原有硬件實驗箱由于是成品,學(xué)生很難參與其中的細(xì)節(jié)設(shè)計和擴展設(shè)計的缺點,給學(xué)生提供了一個進行創(chuàng)新設(shè)計的開放平臺。
    (3) Proteus+8086虛擬實驗平臺應(yīng)用于教學(xué)的經(jīng)驗
    ①應(yīng)使學(xué)生認(rèn)識到仿真電路與實際電路之間的差別[3]。實際電路運行時表現(xiàn)出的各種電氣特征是由芯片、元器件、電路連線、運行環(huán)境等多種因素共同決定的,而Proteus則是通過軟件模擬這些電路特性,其表現(xiàn)取決于仿真軟件設(shè)計、計算機運算速度等因素。因此在Proteus環(huán)境下能夠正常運行的仿真系統(tǒng),其電路設(shè)計未必能夠進行實際應(yīng)用,例如8255實例,實際電路中還需考慮機械式鍵盤的去抖操作。而且,當(dāng)前Proteus VSM for 8086的仿真還不是十分完善,例如,8086僅支持最小組態(tài),8259A需要做適當(dāng)修改才能仿真,常用的Intel 2114存儲芯片、ADC0809、8237等尚未支持。
    ②應(yīng)使學(xué)生意識到知識點的正確應(yīng)用比仿真效果更重要。在教學(xué)中發(fā)現(xiàn),部分同學(xué)過于關(guān)注系統(tǒng)仿真運行的效果,并以此來判斷自己設(shè)計系統(tǒng)的合理性。這些電路雖然能正常運行,但不符合邏輯以及實際電路的設(shè)計要求,使學(xué)生產(chǎn)生了認(rèn)知錯誤。因此,應(yīng)幫助學(xué)生培養(yǎng)良好的設(shè)計思路和習(xí)慣,提高設(shè)計的合理性。
    基于Proteus+8086的虛擬仿真,作為傳統(tǒng)微機原理教學(xué)的有效改進和創(chuàng)新,不僅有助力提高教學(xué)質(zhì)量,改善教學(xué)效果,也使學(xué)生的綜合設(shè)計能力和創(chuàng)新能力得到了培養(yǎng)。
參考文獻(xiàn)
[1] 顧暉,陳越,梁惺彥,等.微機原理與接口技術(shù)-基于8086+Proteus仿真[M].北京:電子工業(yè)出版社,2011.
[2] 吉向東,李新鄂.基于Proteus的微機原理實驗仿真[J].信息技術(shù),2010(2):36-39.
[3] 潘輝.Proteus虛擬實驗環(huán)境在單片機教學(xué)中的應(yīng)用[J].計算機教育,2010(20):143-146.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。