摘要:結(jié)合電氣工程及其自動化專業(yè)微機(jī)原理與接口技術(shù)的教學(xué),首先從南通理工學(xué)院微機(jī)原理與接口技術(shù)課程教與學(xué)的現(xiàn)狀進(jìn)行分析;其次提出了在理論與實(shí)踐教學(xué)過程中,通過Emu8086和Proteus軟件進(jìn)行匯編程序編寫、硬件電路設(shè)計(jì)及模擬仿真的設(shè)計(jì)方案。并以8086和8253A構(gòu)建分頻電路仿真實(shí)例進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果表明構(gòu)建的分頻電路可以通過8086的模擬仿真實(shí)現(xiàn)。最終總結(jié)了首次采用Emu8086和Proteus軟件虛擬仿真的教學(xué)方法,取得非常好的教學(xué)效果。通過生動的仿真效果激發(fā)了學(xué)生的學(xué)習(xí)熱情,同時(shí)為南通理工學(xué)院課程教學(xué)改革提供了一種新方法。
關(guān)鍵詞:微機(jī)原理;教學(xué)改革;emu8086;Proteus;分頻電路
中圖分類號:G642 ? ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)35-0251-03
1 課程教與學(xué)的現(xiàn)狀
微機(jī)原理與接口技術(shù)課程是南通理工學(xué)院電氣工程及其自動化、機(jī)械工程、車輛工程、新能源科學(xué)工程等專業(yè)必修的專業(yè)基礎(chǔ)核心課程,課程主要包含微機(jī)的基本組成、8086/8088的工作原理、指令系統(tǒng)、匯編程序設(shè)計(jì)、存儲系統(tǒng)以及微機(jī)的接口電路設(shè)計(jì)。由于近年來計(jì)算機(jī)硬件相關(guān)技術(shù)發(fā)展迅猛,微機(jī)原理與接口技術(shù)這門課程的教學(xué)內(nèi)容陳舊、抽象、復(fù)雜、實(shí)踐性非常強(qiáng)這些問題,而且實(shí)踐教學(xué)環(huán)節(jié)薄弱、資源有限等現(xiàn)象,導(dǎo)致目前在國內(nèi)大多數(shù)高校教學(xué)效果都不容樂觀,導(dǎo)致學(xué)生對這門課程的學(xué)習(xí)興趣低下[1-3]。
2 Emu8086和Proteus軟件概述
隨著計(jì)算機(jī)軟件技術(shù)的飛速發(fā)展,針對上述存在的問題。南通理工學(xué)院在微機(jī)原理與接口技術(shù)教學(xué)改革過程中采用Emu8086 用于匯編程序設(shè)計(jì)理論教學(xué)、Proteus 7.5版本進(jìn)行8086 實(shí)驗(yàn)?zāi)M仿真實(shí)踐教學(xué),取得了非常好的教學(xué)效果[4-5]。對解決微機(jī)原理與接口技術(shù)教學(xué)和實(shí)踐難,以及實(shí)驗(yàn)設(shè)備缺乏等問題提供了一種新的解決方法[6-8]。
2.1 Emu8086軟件
Emu8086是目前學(xué)習(xí)匯編語言必不可少的程序設(shè)計(jì)工具,它結(jié)合了一個(gè)先進(jìn)的原始編輯器、組譯器、反組譯器、具除錯功能的軟件模擬工具,還有一個(gè)循序漸進(jìn)的指導(dǎo)工具。該軟件包含了學(xué)習(xí)匯編語言程序設(shè)計(jì)的全部內(nèi)容。Emu8086還集源代碼編輯器,匯編/反匯編工具以及可以運(yùn)行debug的模擬器于一身,非常適合教師、學(xué)生在指令系統(tǒng)和匯編程序設(shè)計(jì)部分的理論教與學(xué),直觀地反映了相關(guān)寄存器的變化過程以及匯編程序執(zhí)行的步驟。
2.2 Proteus軟件
Proteus軟件是由英國Lab Center Electronics公司出版的EDA工具軟件。它不僅具有其他EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前比較好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型支持8051、DSP、ARM、Cortex、8086和MSP430等,在程序編譯方面,它也支持IAR、Keil編譯器。
3 分頻電路實(shí)驗(yàn)
3.1分頻電路硬件設(shè)計(jì)
分頻電路是指使輸出信號頻率為輸入信號頻率整數(shù)分之一的電子電路。在許多電子設(shè)備中如電子時(shí)鐘、頻率計(jì)等,需要各種不同頻率的信號協(xié)同工作,常用的方法是以穩(wěn)定度高的石英晶體振蕩器為主要振蕩源,通過各種變換得到相關(guān)設(shè)備所需要的各種頻率成分。
實(shí)驗(yàn)主要是借助于Proteus電路仿真軟件來對8086微處理器與8253A定時(shí)/計(jì)數(shù)芯片來實(shí)現(xiàn)十分頻的電路設(shè)計(jì)。由于8086由20根數(shù)據(jù)、地址分時(shí)復(fù)用的雙向信號線,故在電路中選擇了3片74HC373芯片,該芯片具有74LS244三態(tài)門功能和74LS273數(shù)據(jù)鎖存的功能。電路還選用了專用譯碼芯片74LS138作為譯碼電路,圖中用地址總線上的A12—A15作為地址譯碼器的輸入和使能控制,由于非常所有的地址總線作為譯碼電路的輸入,所以這是一種部分地址譯碼的方式,當(dāng)74LS138的IO2輸出低電平時(shí)來片選中8253A芯片。8253A芯片的A0、A1由系統(tǒng)地址總線上A1、A2進(jìn)行四個(gè)端口的控制。在計(jì)數(shù)器0的外部時(shí)鐘輸入端接100Hz的時(shí)鐘脈沖,GATE0外接開關(guān)電路置1后計(jì)數(shù)器0開始計(jì)數(shù),通過計(jì)數(shù)器0的OUT0輸出端口外接虛擬示波器觀察輸入與輸出波形,整個(gè)分頻電路硬件系統(tǒng)原理圖,如圖1所示。
3.2分頻電路軟件設(shè)計(jì)
在進(jìn)行軟件設(shè)計(jì)的前提條件,需要了解8253A定時(shí)/計(jì)數(shù)器的主要組成由3個(gè)計(jì)數(shù)器、一個(gè)控制寄存器以及數(shù)據(jù)總線緩沖器和讀寫邏輯電路組成,只有掌握內(nèi)部電路組成才可以對定時(shí)/計(jì)數(shù)器的選擇、工作方式的設(shè)定來確定端口地址和控制字,最終計(jì)算出計(jì)數(shù)初值。根據(jù)分頻電路系統(tǒng)原理圖列出8086系統(tǒng)地址總線分配表,如表1所示。
實(shí)驗(yàn)要求采用8253A計(jì)數(shù)器0,工作在方式3(方波發(fā)生器方式),輸入時(shí)鐘CLK0 為100Hz,輸出OUT0 要求為10Hz的方波,實(shí)現(xiàn)10分頻的功能,最后用示波器觀察輸出波形。所以先根據(jù)8253A控制字具有的固定格式,計(jì)算得到8253A的控制字為16H,再根據(jù)輸入的時(shí)鐘脈沖和輸出的頻率計(jì)算得到計(jì)數(shù)初值為100Hz/10Hz=10。由表1所示,可以得到計(jì)數(shù)器0的地址為A000H,控制字寄存器的地址為A006H。
根據(jù)上述計(jì)算初值按照8253A的編程算法,用Emu8086匯編程序設(shè)計(jì)軟件先寫計(jì)數(shù)器0的方式控制字,其次寫入計(jì)數(shù)器0的計(jì)數(shù)初值。具體源代碼如下:
ORG 100
CODE SEGMENT
ASSUME CS:CODE
START:MOV DX,0A006H ;控制字寄存器端口地址
MOV AL,16H ? ? ;控制字
OUT DX,AL
MOV DX,0A0000H ;計(jì)數(shù)器0端口地址
MOV AL,10 ? ? ?;計(jì)數(shù)初值
OUT DX,AL
JMP $
CODE ENDS
END START
生成.com文件。源程序可以通過EMU8086進(jìn)行單步調(diào)試,軟件的界面也非常友好,左側(cè)實(shí)時(shí)顯示寄存器的變化狀態(tài)。源程序單步調(diào)試環(huán)境如圖2所示。
源程序以.asm格式進(jìn)行保存,并對源程序進(jìn)行編譯。
COM文件可以很好地結(jié)合Proteus進(jìn)行模擬仿真。具體的裝載COM文件的過程為,右擊8086芯片選擇edit properties彈出如圖3所示的8086芯片屬性對話框窗口,在program file中選擇EMU8086生成的COM文件,設(shè)置時(shí)鐘頻率為1.5MHZ,最重要的是一定要在Advanced properties中選擇Internal Memory Size設(shè)置為0x10000,最終點(diǎn)擊OK即可。
至此,點(diǎn)擊Proteus中的運(yùn)行功能,分頻電路就可以利用8086芯片進(jìn)行模擬仿真。通過觀察虛擬示波器得到如圖4所示的分頻電路輸入與輸出波形圖。
實(shí)驗(yàn)結(jié)果表明構(gòu)建的分頻電路可以通過8086的模擬仿真實(shí)現(xiàn)。學(xué)生們也通過分頻電路實(shí)驗(yàn)對微機(jī)原理與接口技術(shù)課程理論知識有了進(jìn)一步的認(rèn)識,掌握了實(shí)踐教學(xué)環(huán)節(jié)中,硬件開發(fā)的詳細(xì)過程是如何做到軟、硬件的聯(lián)合仿真調(diào)試。增強(qiáng)了學(xué)生學(xué)習(xí)微機(jī)原理與接口技術(shù)這門課程的興趣,使學(xué)生在學(xué)習(xí)微機(jī)原理與接口技術(shù)課程時(shí),不受硬件資源及時(shí)空的限制。同時(shí)也為后續(xù)的專業(yè)課程開設(shè),如單片機(jī)、DSP、ARM、RX23T、FPGA等,打下堅(jiān)實(shí)的基礎(chǔ)。
4 結(jié)束語
微機(jī)原理及接口技術(shù)是一門專業(yè)性很強(qiáng)的課程,在南通理工學(xué)院應(yīng)用型本科工科專業(yè)教學(xué)環(huán)節(jié)中有著非常重要的地位,首次采用EMU8086和Proteus虛擬仿真的教學(xué)方法,取得非常好的教學(xué)效果。通過生動的仿真效果激發(fā)了學(xué)生的學(xué)習(xí)熱情,同時(shí)解決了實(shí)踐教學(xué)環(huán)節(jié)薄弱、實(shí)驗(yàn)室資源有限等問題,為培養(yǎng)了學(xué)生的自主動手能力、創(chuàng)新能力提供了一種實(shí)踐方法,也為南通理工學(xué)院的課程教學(xué)改革提供了一種新方法。
參考文獻(xiàn):
[1] 姚睿, 李增武, 付大豐, 等. 基于Proteus的DSP虛擬實(shí)驗(yàn)系統(tǒng)設(shè)計(jì)與開發(fā)[J]. 實(shí)驗(yàn)技術(shù)與管理, 2015, 32(3):4.
[2] 張軍,葉敏.Proteus和Emu8086在微機(jī)原理實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2015,13(2):43-46.
[3] 王青. 單片機(jī)與PC機(jī)通信的設(shè)計(jì)與仿真[J].實(shí)驗(yàn)室研究與探索,2016,35(12):100-103.
[4] 劉民岷. 微機(jī)原理及接口技術(shù)課程教學(xué)及實(shí)驗(yàn)改革實(shí)踐 [J]. 實(shí)驗(yàn)科學(xué)與技術(shù),2013(11):64-66.
[5] 陳紅衛(wèi),袁偉.虛擬仿真在課堂教學(xué)中的應(yīng)用——以微機(jī)原理與接口技術(shù)課堂教學(xué)為例[J].長春教育學(xué)院學(xué)報(bào),2014,30(7):3-5.
[6] 劉娟,黃忠.《微機(jī)原理與接口技術(shù)》教學(xué)現(xiàn)狀與改進(jìn)[J].安慶師范學(xué)院學(xué)報(bào)(自然科學(xué)版). 2014(01) :129-132.
[7] 趙國增, 郭恒川.《微機(jī)原理與接口技術(shù)》課程教學(xué)探索與實(shí)踐[J]. 現(xiàn)代計(jì)算機(jī)(專業(yè)版). 2014(7):45-48.
[8] 李忠武,陳靜銳,夏春梅. ?Proteus軟件與微機(jī)原理接口技術(shù)課程實(shí)驗(yàn)對接的應(yīng)用[J].網(wǎng)友世界. 2014(3):36-36.
【通聯(lián)編輯:王力】