趙蒼榮 辛元芳 郭來功
摘要:針對(duì)微機(jī)原理課程教學(xué)實(shí)際狀況,主要研究將計(jì)算機(jī)仿真技術(shù)、虛擬儀器技術(shù)等相關(guān)現(xiàn)代計(jì)算機(jī)技術(shù)引入微機(jī)原理教學(xué)問題。利用EMU8086編譯軟件進(jìn)行8086匯編語言程序設(shè)計(jì)教學(xué),利用Proteus進(jìn)行8086系統(tǒng)接口電路仿真設(shè)計(jì)。實(shí)踐表明,該方法能提升教學(xué)效率,改善教學(xué)效果。
關(guān)鍵詞:微機(jī)原理;計(jì)算機(jī)仿真;Proteus
中圖分類號(hào):G642? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)10-0181-03
Abstract: This paper mainly studies on the computer simulation technology, virtual instrument technology and other related modern computer technology are introduced into microcomputer principle teaching, for the actual situation of Microcomputer Principle Teaching. Use EMU8086 compiler software for 8086 assembly language programming teaching, and use Proteus for 8086 system interface circuit simulation design. Practice shows that this method can improve teaching efficiency and teaching effect.
Key words: microcomputer principle; computer simulation; Proteus
1 背景
微機(jī)原理是我院電氣信息類專業(yè)的基礎(chǔ)專業(yè)課,為學(xué)科專業(yè)必修課,其在電氣信息類專業(yè)中的地位非常重要。其主要授課內(nèi)容包括8086CPU、尋址方式和指令系統(tǒng)、匯編語言程序設(shè)計(jì)、存儲(chǔ)器、I/O接口和并行接口芯片8255A、可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用、中斷和可編程中斷控制器8259A、串行通信和可編程接口芯片8251A、模數(shù)A/D和數(shù)模D/A轉(zhuǎn)換等[1]。既有硬件原理部分,更有軟件應(yīng)用設(shè)計(jì)方面,課程內(nèi)容多,涉及范圍廣且較為抽象,具有一定的深度難度,對(duì)于教師授課、學(xué)生學(xué)習(xí)都具有很大的挑戰(zhàn)性[2]。傳統(tǒng)的微機(jī)原理的理論課程教學(xué)往往使用多媒體,課件使用PPT進(jìn)行演示。應(yīng)該說,其比純粹使用黑板板書在教學(xué)效果上已經(jīng)有了很大的提高,但是一般多媒體課件很難展現(xiàn)電路設(shè)計(jì)的動(dòng)態(tài)過程以及仿真結(jié)果,學(xué)生不易深入理解相關(guān)微機(jī)原理系統(tǒng)的應(yīng)用設(shè)計(jì)。因此,很有必要將計(jì)算機(jī)仿真技術(shù)、虛擬儀器技術(shù)等相關(guān)現(xiàn)代計(jì)算機(jī)技術(shù)引入微機(jī)原理及應(yīng)用這一傳統(tǒng)專業(yè)課程[3-4]。
2 EMU8086在教學(xué)中的應(yīng)用
匯編語言程序設(shè)計(jì)是微機(jī)原理課程的一個(gè)重點(diǎn)內(nèi)容,也是一個(gè)難點(diǎn)內(nèi)容,學(xué)生學(xué)習(xí)過程中普遍感覺匯編語言抽象、晦澀,如果只是用PPT講解書本上的源程序例程,效果往往欠佳,對(duì)匯編語言程序運(yùn)行過程以及相關(guān)內(nèi)部資源的使用和變化情況也缺乏動(dòng)態(tài)直觀的演示過程。在課堂教學(xué)中使用EMU8086可以很好地解決這些問題。EMU8086集源代碼編輯器,匯編/反匯編工具以及可以運(yùn)行debug的模擬器于一身,可以在執(zhí)行程序的同時(shí)可觀察寄存器,標(biāo)志位和內(nèi)存。算術(shù)和邏輯運(yùn)算單元(ALU)顯示中央處理器內(nèi)部的工作情況。在微機(jī)原理指令系統(tǒng)和匯編語言程序設(shè)計(jì)的課堂講解中,引入EMU8086可以加深學(xué)生對(duì)相關(guān)指令和程序段的理解,知其然,更知其所以然。尤其是匯編語言程序設(shè)計(jì)舉例,由于往往還沒有涉及硬件部分,不方便通過軟硬件結(jié)合的方式對(duì)學(xué)生進(jìn)行講述,在傳統(tǒng)的多媒體教學(xué)中,學(xué)生往往對(duì)較長(zhǎng)的程序段難以全面理解,尤其是涉及一些算法和內(nèi)部寄存器的分配使用時(shí),學(xué)生往往容易迷糊,引入EMU8086后可以直觀地對(duì)相關(guān)寄存器、變量等內(nèi)容的變化進(jìn)行直觀的演示,結(jié)合程序流程圖,大大降低了程序的理解難度,減少學(xué)生畏學(xué)情緒。
3 Proteus在教學(xué)中的應(yīng)用
Proteus軟件由英國(guó)Lab Center Electronics公司推出,采用虛擬仿真技術(shù),可在無微處理器硬件的條件下,利用PC機(jī)實(shí)現(xiàn)微處理器軟件和硬件的同步仿真,可以實(shí)現(xiàn)在沒有目標(biāo)原型時(shí)就可以對(duì)系統(tǒng)進(jìn)行調(diào)試、測(cè)試和驗(yàn)證。更為重要的是,仿真結(jié)果可以直接用于真實(shí)設(shè)計(jì),極大地提高了微處理器應(yīng)用系統(tǒng)的設(shè)計(jì)效率,并使學(xué)習(xí)微處理器應(yīng)用開發(fā)過程變得直觀和簡(jiǎn)單。Proteus主要由ISIS和ARES兩個(gè)設(shè)計(jì)平臺(tái)組成,前者主要用于電路原理圖的設(shè)計(jì)以及交互式仿真,后者用于印刷電路板的設(shè)計(jì)并能生成光繪輸出文件。
I/O接口電路是微機(jī)原理課程的重要組成部分,其既考查學(xué)生硬件設(shè)計(jì)能力,同時(shí)針對(duì)不同項(xiàng)目功能,還要求學(xué)生結(jié)合設(shè)計(jì)指標(biāo)進(jìn)行軟件編程。這部分內(nèi)容的傳統(tǒng)多媒體教學(xué)很難對(duì)設(shè)計(jì)過程動(dòng)態(tài)展示,學(xué)生理解起來有一定的難度,課堂教學(xué)組織具有較大的挑戰(zhàn)性。通過Proteus仿真調(diào)試和運(yùn)行,不僅可以加深對(duì)語法的理解,也可使枯燥抽象的編程學(xué)習(xí)變得生動(dòng)有趣,達(dá)到事半功倍的效果。
4 仿真系統(tǒng)設(shè)計(jì)實(shí)例
8255A是Intel公司生產(chǎn)的通用可編程并行接口芯片,具有非常廣泛的應(yīng)用,其也是微機(jī)原理課程的重要內(nèi)容,要求學(xué)生掌握其工作原理和設(shè)計(jì)應(yīng)用。8255A共有3種工作方式,通過其方式控制字來設(shè)定。下面以方式0為例進(jìn)行方式0為基本輸入/輸出方式,通過方式選擇控制字可任意選擇其為輸入口或輸出口,主要用于同步傳送數(shù)據(jù)的場(chǎng)合,電路設(shè)計(jì)較為簡(jiǎn)單,一般都作為課程的主要講述內(nèi)容。設(shè)計(jì)一個(gè)開關(guān)檢測(cè)電路,要求不斷地檢測(cè)它們的通斷狀態(tài),并隨時(shí)在發(fā)光二極管上顯示出來。開關(guān)斷開,相應(yīng)的LED點(diǎn)亮;開關(guān)合上,LED熄滅。8086CPU與8255A之間的連接包括數(shù)據(jù)線,地址線和控制線。8255A的數(shù)據(jù)總線接到8086的低8位數(shù)據(jù)總線上,其端口地址均選為偶地址。具體來說,8086分時(shí)復(fù)用的數(shù)據(jù)/地址總線通過3個(gè)8位地址鎖存器作為系統(tǒng)地址總線A0-A19。系統(tǒng)的地址譯碼器使用4線-16線譯碼器,系統(tǒng)地址線A9-A12作為譯碼輸入,A13-A15經(jīng)過或非門及非門后作為譯碼器門控信號(hào),譯碼器輸出端[IO1]作為8255A的片選,系統(tǒng)地址線A2和A1分別連8255A的A1與A0,可知8255A的基地址為0200H。另外,8個(gè)獨(dú)立按鍵接在8255A的PA口,8個(gè)發(fā)光二極管接在PB口上,顯然此時(shí)PA口作為輸入,PB口作為輸出。軟件編寫思路是確定8255A控制字并寫到其控制口完成初始化,整體采用查詢方式,循環(huán)讀PA端口數(shù)據(jù)并寫到PB端口,從而實(shí)現(xiàn)不斷檢測(cè)開關(guān)狀態(tài)并在LED上顯示出來的功能。從仿真結(jié)果可以看出,當(dāng)PA口的PA0-PA2線上的開關(guān)閉合時(shí),PB口的PB0-PB2線上的LED發(fā)光,達(dá)到了設(shè)計(jì)要求。
通過應(yīng)用電路的軟硬件設(shè)計(jì)并仿真,直觀展現(xiàn)設(shè)計(jì)思路和實(shí)現(xiàn)結(jié)果,相比傳統(tǒng)的PPT等多媒體教學(xué),學(xué)生對(duì)微機(jī)系統(tǒng)I/O接口電路提高教學(xué)效果。在實(shí)際教學(xué)過程中,更可以通過變更開關(guān)和LED接口、開關(guān)顯示邏輯等設(shè)計(jì)要求,方便進(jìn)行課堂練習(xí)、課外設(shè)計(jì)作業(yè)等拓展,可以方便在課堂上對(duì)設(shè)計(jì)思路和實(shí)現(xiàn)方法和學(xué)生進(jìn)行交流與互動(dòng),引導(dǎo)學(xué)生對(duì)相關(guān)知識(shí)點(diǎn)進(jìn)行梳理和總結(jié),幫助學(xué)生更好地掌握I/O接口電路應(yīng)用設(shè)計(jì)知識(shí),對(duì)教學(xué)效率有明顯提升。
5 項(xiàng)目驅(qū)動(dòng),增強(qiáng)課后教學(xué)管理
微機(jī)原理是一門實(shí)踐性、綜合性較強(qiáng)的課程,傳統(tǒng)的教師課堂教學(xué),課后布置作業(yè)的方式不利于培養(yǎng)學(xué)生的綜合開發(fā)能力[5]。為了加強(qiáng)課堂教學(xué)質(zhì)量管控,我們?cè)黾与S堂測(cè)試環(huán)節(jié),讓學(xué)生在整個(gè)學(xué)習(xí)過程中保持專注度。同時(shí),我們通過設(shè)計(jì)一些項(xiàng)目任務(wù),以綜合練習(xí)的方式讓學(xué)生完成。在項(xiàng)目設(shè)計(jì)中將學(xué)生按照5人左右規(guī)模進(jìn)行分組,根據(jù)學(xué)生的平時(shí)表現(xiàn),按照學(xué)生自愿、老師指導(dǎo)分配的原則分組。在項(xiàng)目?jī)?nèi)容的設(shè)計(jì)結(jié)合生活生產(chǎn)實(shí)際,由易到難,循序漸進(jìn)。我們分別設(shè)計(jì)了“8255并行I/O口獨(dú)立鍵盤顯示電路設(shè)計(jì)”“4×4鍵盤LED顯示電路設(shè)計(jì)”“8253脈沖波形產(chǎn)生電路設(shè)計(jì)”“點(diǎn)陣顯示電路設(shè)計(jì)”“直流電機(jī)控制系統(tǒng)”“步進(jìn)電機(jī)控制系統(tǒng)”等項(xiàng)目訓(xùn)練,每一個(gè)項(xiàng)目側(cè)重涵蓋2-3個(gè)重要知識(shí)點(diǎn),部分綜合性較強(qiáng)的項(xiàng)目給出部分設(shè)計(jì)思路和軟件編寫框架,理論聯(lián)系實(shí)際,增強(qiáng)趣味性,提高學(xué)生學(xué)習(xí)興趣和設(shè)計(jì)熱情。在這些項(xiàng)目中,往往綜合幾章教材內(nèi)容,涵蓋硬件電路設(shè)計(jì),軟件程序編寫,并要求學(xué)生進(jìn)行仿真驗(yàn)證。在提交項(xiàng)目報(bào)告中,需明確每名學(xué)生的工作,防止出現(xiàn)一人操作,組內(nèi)其他人旁觀的現(xiàn)象。引入答辯、現(xiàn)場(chǎng)講解等考核環(huán)節(jié),抓強(qiáng)過程管理,確保每一名學(xué)生都能通過項(xiàng)目訓(xùn)練不斷提升自己的學(xué)習(xí)水平。通過訓(xùn)練,學(xué)生能迅速掌握相關(guān)軟件的使用,與教師課堂運(yùn)用計(jì)算機(jī)仿真技術(shù)進(jìn)行授課形成有機(jī)互補(bǔ)、鏈接,并能加深對(duì)相關(guān)知識(shí)點(diǎn)的理解和掌握,實(shí)現(xiàn)連貫的學(xué)習(xí)積累,激發(fā)學(xué)生的創(chuàng)新能力。
6 結(jié)束語
微機(jī)原理作為電氣信息類等專業(yè)經(jīng)典、重要的專業(yè)基礎(chǔ)課,是學(xué)生學(xué)習(xí)的第一門嵌入式類課程,內(nèi)容橫跨軟件編程和硬件電路設(shè)計(jì),將EMU8086及Proteus等計(jì)算機(jī)仿真軟件引入教學(xué)能提升學(xué)生的軟硬件綜合開發(fā)能力,改善教學(xué)效果,提升教學(xué)效率。同時(shí),相關(guān)軟件的學(xué)習(xí)也為學(xué)生進(jìn)一步學(xué)習(xí)嵌入式技術(shù)打下基礎(chǔ),項(xiàng)目形式的綜合練習(xí)訓(xùn)練,能進(jìn)一步激發(fā)學(xué)生學(xué)習(xí)熱情和創(chuàng)新能力。
參考文獻(xiàn):
[1] 張妍. “微機(jī)原理及應(yīng)用”研究性教學(xué)模式探索與實(shí)踐[J].實(shí)驗(yàn)室科學(xué),2017(4):117-120.
[2] 史慶武,顏兵兵等. 提高《微機(jī)原理與接口技術(shù)》課程教學(xué)質(zhì)量的方法與實(shí)踐[J]. 沈陽(yáng)師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2016(4):494-498.
[3] 徐燕華. “微機(jī)原理與接口技術(shù)”課程的教學(xué)創(chuàng)新研究[J].科技資訊,2017(33):114-115
[4] 王詠寧,馮桂蓮. 虛擬儀器技術(shù)在《微機(jī)原理與接口技術(shù)》中的應(yīng)用[J]. 軟件工程,2017(2)4-6.
[5] 趙蒼榮. 基于競(jìng)賽平臺(tái)的電氣信息類大學(xué)生創(chuàng)新能力培養(yǎng)的探索[J].科技信息,2012(6):119.
【通聯(lián)編輯:謝媛媛】