李杰++楊文耀++任曉霞
摘 要 針對微機原理與接口技術(shù)課程傳統(tǒng)理論與實驗教學(xué)中存在的問題,提出采用EMU8086+Proteus聯(lián)合仿真平臺,通過理論教學(xué)與實驗教學(xué)有機結(jié)合的方式對教學(xué)方法進行改進,并對該方式的具體實施過程進行闡述。經(jīng)過教學(xué)實踐,取得良好的教學(xué)效果。
關(guān)鍵詞 微機原理與接口技術(shù);EMU8086;Proteus;教學(xué)改革
中圖分類號:G642.423 文獻標(biāo)識碼:B
文章編號:1671-489X(2017)02-0134-04
Investigation of Theoretical and Experimental Teaching Method of Microcomputer Principle and Interface Technology//LI Jie, YANG Wenyao, REN Xiaoxia
Abstract In accordance with the problems existing in the traditional
theoretical and experimental teaching of microcomputer principle and interface technology course, EMU8086+Proteus co-simulation
platform and the organic combination of theoretical and experimental teaching are proposed to improve the teaching method. And the spe-
cific implementation process is described. Through the teaching prac-
tice, has obtained the good teaching effect.
Key words microcomputer principle and interface technology; EMU-
8086; Proteus; teaching reform
1 前言
微機原理與接口技術(shù)是我國多數(shù)本專科院校電類專業(yè)的重要專業(yè)基礎(chǔ)課,是培養(yǎng)學(xué)生具有微機軟、硬件設(shè)計和應(yīng)用能力的必修課[1]。通過學(xué)習(xí)該課程,學(xué)生可以更加深入地掌握計算機體系結(jié)構(gòu)及工作原理,掌握匯編語言的編程方法,熟悉微機接口電路等知識,為后續(xù)學(xué)好單片機、嵌入式、DSP等課程和技術(shù)打下基礎(chǔ)[2]。因此,微機原理與接口技術(shù)課程的教學(xué)工作是大學(xué)培養(yǎng)電類專業(yè)應(yīng)用型人才的重要環(huán)節(jié)之一。
2 教學(xué)問題和現(xiàn)狀
目前大多數(shù)學(xué)生在學(xué)習(xí)微機原理與接口技術(shù)課程的過程中感覺十分困難,主要由于本課程的理論教學(xué)內(nèi)容比較多,硬件方面涉及8086微處理器、存儲器、可編程接口芯片、中斷處理、定時計數(shù)器、串行通信、并行通信、模數(shù)和數(shù)模轉(zhuǎn)換芯片的原理和結(jié)構(gòu);軟件方面涉及匯編語言的學(xué)習(xí)和可編程外圍接口的編程。而且課程的軟硬件系統(tǒng)關(guān)系非常緊密[3],使得大多數(shù)學(xué)生感覺該課程內(nèi)容抽象、枯燥乏味、難學(xué),從而喪失學(xué)習(xí)興趣和信心。因此,對該課程理論與實驗緊密結(jié)合的教學(xué)方法提出更高的要求。
目前多數(shù)高校的實驗教學(xué)仍以實驗箱為主完成實驗內(nèi)容。由于實驗箱中的硬件電路基本固定,器件的品種和數(shù)量難以擴展,實驗項目也主要是由廠家事先規(guī)定,因此,實驗內(nèi)容難以突破實驗箱的限制,有些輔助和加深理解理論課內(nèi)容的項目不能實施[4]。學(xué)生在做實驗時,往往是將現(xiàn)成的程序下載進入實驗箱,看見相應(yīng)的實驗效果,便認為完成了實驗,但實際上沒有真正理解接口電路的連接方法以及指令在8086微處理器中的執(zhí)行原理,然而往往這才是學(xué)生最需要掌握的。而且實驗箱成本高、易損壞,維護也不方便,造成部分學(xué)校實驗設(shè)備不足,限制了學(xué)生的學(xué)習(xí)。因此,如何改善實驗環(huán)境,激發(fā)學(xué)生學(xué)習(xí)興趣,增強教學(xué)效果,是該課程實驗教學(xué)改革中的一個重要課題。
多篇文章已提出采用Proteus仿真軟件進行微機原理與接口電路的實驗教學(xué)改革[5-6],但是也僅僅提出了通過Proteus軟件對8086的最小模式以及相應(yīng)的接口芯片的電路進行搭建,這并不能很好地讓學(xué)生理解指令在微處理器中的執(zhí)行原理。本文提出的采用EMU8086+Proteus聯(lián)合仿真平臺,加上理論與實驗有效結(jié)合的方法,可以使學(xué)生更加深入地理解8086微處理器結(jié)構(gòu)和指令存儲、取指和執(zhí)行過程,并且掌握接口電路的連接和編程方法,為學(xué)生學(xué)好該門課程提供保障。
3 EMU8086軟件在理論和實驗教學(xué)中的應(yīng)用
EMU8086不僅能夠?qū)R編程序進行編輯和編譯,同時能夠生成Proteus仿真所使用的hex或者bin文件。此外,EMU8086還擁有debug的模擬器。使用該模擬器可以一步一步地執(zhí)行程序,并且可以在執(zhí)行程序的過程中查看8086各寄存器的值和存儲器各單元中的值,還可以查看反匯編。相對于傳統(tǒng)的MASM編譯器,EMU8086圖形化的界面使程序調(diào)試更直觀和容易。在理論和實驗教學(xué)中采用EMU8086,可以使學(xué)生加快并加深對8086寄存器類型和作用、指令的存儲和執(zhí)行等方面知識的理解。
EMU8086軟件在理論教學(xué)中的使用 現(xiàn)在的理論教學(xué)大多采用多媒體教學(xué),為EMU8086軟件的演示提供了條件。在微機原理與接口技術(shù)的理論教學(xué)課堂上,可以在多處知識點上采用EMU8086演示的方式,一方面促進學(xué)生對相應(yīng)知識點的理解和掌握,另一方面可以提高學(xué)生的興趣,避免純理論講授的枯燥乏味。
比如在講解尋址方式時,大多數(shù)學(xué)生一開始是比較難理解的,這時就可以采用EMU8086演示的方法。如指令語句“MOV AX,[2010H]”,需要給學(xué)生講授該指令的源操作數(shù)是直接尋址。課本上往往只是給出直接尋址的概念并配上簡單的示意圖,但是學(xué)生學(xué)習(xí)之后并不能有效掌握該指令在內(nèi)存中的存儲形式以及執(zhí)行該指令所涉及的各個存儲單元的關(guān)系。這時教師可以打開EMU8086軟件,在編輯界面定義一個代碼段,代碼段中寫上前面那條指令,如圖1中源程序區(qū)域所示。
程序編寫完后,即進行編譯,如果編譯沒錯,便可生成exe文件。這時選擇仿真選項,打開調(diào)試窗口,如圖1所示。圖中四部分窗口是學(xué)生在調(diào)試過程中需要注意的,即寄存器、內(nèi)存單元、反匯編和源程序。寄存器模塊里顯示了8086當(dāng)前各個寄存器的值。內(nèi)存單元中可以顯示8086的內(nèi)存中各個地址的值,可以通過修改地址,查看不同地址單元的值。圖1中同時可以查看代碼段和數(shù)據(jù)段地址單元的值。反匯編窗口中顯示了編寫程序的反匯編代碼。源代碼窗口中即顯示的是自己編寫的匯編程序。圖1的源程序窗口中能看見剛才寫的指令“MOV AX,[2010H]”。這時就需要給學(xué)生講解,指令都是以二進制的形式存放在8086的內(nèi)存單元中,而且是存放在內(nèi)存單元的代碼段中的。
通過寄存器窗口可以查看到代碼段的段地址(CS)為0710H,當(dāng)前指令的偏移地址(IP)為0000H,可以看到在內(nèi)存單元07100H地址開始的3個字節(jié)單元中存放的值依次為A1H、10H、20H,這便是指令“MOV AX,[2010H]”的機器碼。源操作數(shù)是直接尋址,2010H便是源操作數(shù)所在單元的偏移地址,那么段地址是多少呢?通過講解知道,段地址就是DS的值,通過寄存器窗口可以查看到數(shù)據(jù)段的段地址(DS)為0700H,根據(jù)內(nèi)存單元可以看到0700H:2010H地址開始的兩個字節(jié)單元存放的數(shù)據(jù)為12H和34H。在運行程序之前,AX寄存器的值為0000H;運行程序之后,AX寄存器的值變?yōu)?412H。
通過以上講解和演示,學(xué)生就將指令語句、機器碼、寄存器、代碼段的內(nèi)存單元和數(shù)據(jù)段的內(nèi)存單元等知識點聯(lián)系起來,并建立起比較直觀的概念。
EMU8086軟件在實驗教學(xué)中的使用 要想讓學(xué)生對知識點理解透徹,僅通過在理論課上演示是不夠的,必須通過實驗課讓學(xué)生自己動手去調(diào)試程序。將EMU8086引入實驗課堂,可以加強學(xué)生編寫程序和調(diào)試程序的能力,從而加深對8086的寄存器、存儲器、指令等概念的理解。
如在講解8086指令系統(tǒng)這一節(jié)時,就可以開設(shè)一節(jié)實驗課,由教師給出一段已經(jīng)編寫好的程序,讓學(xué)生自己通過EMU8086進行調(diào)試,調(diào)試的時候?qū)W(xué)生提出以下問題:
1)代碼段和數(shù)據(jù)段的段地址是多少?
2)某一條指令的機器碼是多少?
3)某一指令所在地址是多少?占多少字節(jié)數(shù)?
4)某一指令的源操作數(shù)是什么尋址方式?源操作數(shù)所指向的存儲單元的值是多少?
5)執(zhí)行某一條指令后,標(biāo)志寄存器值的是多少?
除了以上問題,還可以提出許多問題。在教師的指引下,學(xué)生帶著疑問去調(diào)試程序,會獲得不少收獲。
此外,在講解匯編語言程序設(shè)計這一章時,也需要開設(shè)多個實驗,讓學(xué)生多上機編程,才能達到學(xué)以致用的效果。這些實驗可以是字符及字符串輸入輸出實驗、分支結(jié)構(gòu)程序設(shè)計實驗、循環(huán)結(jié)構(gòu)程序設(shè)計實驗等。這些實驗都需要采用EMU8086進行程序的編輯和調(diào)試。
4 Proteus軟件在理論和實驗教學(xué)中的應(yīng)用
Proteus軟件能支持多種微處理器仿真模型,其簡便的電路設(shè)計ISIS模塊和龐大的器件庫完全可以支持微機原理課程的教學(xué)和實驗要求[6]。
在微機原理與接口技術(shù)的后面章節(jié)中涉及存儲器、可編程接口芯片、數(shù)模與模數(shù)轉(zhuǎn)換等知識,要學(xué)好這些知識,需要掌握硬件電路連接方法和軟件編程方法。硬件電路就用Proteus軟件進行繪制,軟件編程采用EMU8086。利用Proteus+EMU8086聯(lián)合仿真的方法,可以實現(xiàn)課本上所有接口電路的仿真。教師在理論課堂上講解接口芯片和電路理論知識的時候,通過Proteus軟件進行演示,可以讓學(xué)生更直觀地掌握8086最小模式的電路、地址譯碼方式、接口芯片的連接方式、輸入輸出電平信號等;然后在實驗課上讓學(xué)生獨立畫電路圖、編寫程序、仿真調(diào)試以實現(xiàn)相應(yīng)功能,進一步加強學(xué)生對硬件電路和軟件編程的掌握。
如在講解簡單I/O接口時,就可以利用鎖存器74LS373和緩沖器74LS244實現(xiàn)對流水燈的控制,如圖2和圖3所示。圖2為8086的最小模式電路,圖3為接口芯片電路。利用該電路實現(xiàn)當(dāng)開關(guān)K1閉合時,8個LED燈按照D0~D7的順序循環(huán)點亮;當(dāng)開關(guān)K2閉合時,8個LED燈按照D7~D0的順序循環(huán)點亮;兩個開關(guān)都閉合時,LED燈全亮。
通過教師對以上例子的演示講解以及學(xué)生自己的實驗仿真,可以使學(xué)生掌握8086最小模型電路的連接方法、鎖存器74LS373和緩沖器74LS244的使用方法、地址數(shù)據(jù)總線的分時復(fù)用原理、IN/OUT指令的使用方法等。此外由于LED燈需要循環(huán)點亮,可以使學(xué)生掌握延時程序的編寫方法。
通過多開設(shè)幾個接口電路實驗,可以極大地提高學(xué)生對8086微處理的指令、外圍電路、接口芯片的掌握程度,也能鍛煉學(xué)生的匯編語言編程能力。
5 總結(jié)
由于微機原理與接口技術(shù)課程知識點多而雜,傳統(tǒng)的理論教學(xué)往往容易使學(xué)生感覺枯燥乏味、難以理解,從而喪失學(xué)習(xí)的興趣和信心。采用實驗箱進行實驗教學(xué),存在實驗項目單一、成本高、易損壞且維護不方便等缺點,極大地限制了學(xué)生的學(xué)習(xí)。
本文提出采用EMU8086+Proteus聯(lián)合仿真平臺,理論教學(xué)與實驗教學(xué)有機結(jié)合的方式,可以有效解決以上問題。在理論課上,教師通過EMU8086和Proteus軟件進行演示,促進學(xué)生對知識點的理解;然后通過實驗課,使學(xué)生獨立編程調(diào)試和繪制電路仿真,達到對知識點的消化和吸收。采用該方式,該課程的理論學(xué)時與實驗學(xué)時比例最好為1:1,才能夠充分促進學(xué)生對教材上知識點的掌握。
多年的微機原理與接口技術(shù)課程教學(xué)成果表明,自從采用了Proteus+EMU8086聯(lián)合仿真平臺后,學(xué)生能更好更深地掌握教材上的知識點,也提高了學(xué)生編寫程序、調(diào)試程序、設(shè)計電路的能力,為后續(xù)學(xué)好單片機、嵌入式系統(tǒng)和DSP等課程打下基礎(chǔ),為培養(yǎng)應(yīng)用型人才提供了保障?!?/p>
參考文獻
[1]李珍香,李全福.Proteus仿真軟件在微機原理與接口技術(shù)課程實驗教學(xué)中的應(yīng)用[J].計算機教育,2015(9):56-60.
[2]張小紅.微機原理與接口技術(shù)實驗教學(xué)改革探討[J].中國教育技術(shù)裝備,2012(21):113-115.
[3]周媛,麥云飛.《微機原理與接口技術(shù)》課程教學(xué)模式探索[J].科技視界,2016(3):13.
[4]汪波,王慶勇.基于PROTEUS平臺的微機原理與接口技術(shù)實驗教學(xué)改革與實踐[J].科技視界,2015(30):77-78.
[5]李娟,王冬星,張華,等.基于Proteus的虛擬實驗改進微機原理與接口技術(shù)課程教學(xué)[J].福建電腦,2015(2):
56-57.
[6]尹晶晶,吳衛(wèi)東.基于Proteus與EMU8086聯(lián)合仿真的微機原理課程教學(xué)改革[J].信息與電腦:理論版,2015(23):
183-184.