李杰++楊文耀++任曉霞


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