黃淑玲
(韓山師范學院物理與電子工程學院,廣東 潮州 521000)
微機接口是一門理論與實踐相結合的工科類專業基礎課,通過課程內容的學習和實驗環節的訓練,使學生從理論和實踐中掌握微型計算機的基本組成和工作原理,熟悉微機的匯編指令體系及匯編程序設計方法,以及常用接口技術及其軟硬件設計方法,建立微機系統的整體概念,達到初步具有微機應用系統的軟硬件設計、開發能力。理論學習可以使學生掌握微機各部件的基本工作原理、設計方法及微機整體的互連技術,為培養學生的硬件系統開發能力打下基礎。在微機接口課程中,理論是基礎,但是要深入理解基本原理及體系結構等理論必須結合硬件實驗。高校實驗設備采購在實驗室建設中占有相當大的比重,其成本投入也較大,然而設備的使用壽命周期較短,一般3~5年就要更新換代,而且隨著社會的進步,實驗教學的改革速度遠遠趕不上科技的發展,于是仿真實驗教學在高校實驗教學中得到了廣泛推廣。
基于Proteus的微機接口實驗教學改革主要采用軟件仿真與硬件仿真相結合的方式,可以讓學生全面掌握微機電路工作原理與編程技術。軟件仿真采用Proteus軟件平臺,學習電路設計、軟件編程等相關知識。結合Proteus仿真開發環境,學生既可以通過該實驗系統的仿真了解相應實驗的技術細節,又可以通過實際硬件電路的仿真運行結果建立對實驗的感性認識。
Proteus不僅具有模擬和數字電路仿真功能, 還能仿真單片機及嵌入式系統,可以提供8051、8086、ARM、AVR、PIC等豐富的CPU模型。故能在虛擬環境中運用常見的中小邏輯器件“積木式”設計并搭建實驗平臺,體現了高靈活性的特點。在Proteus虛擬仿真環境中,學生可以從基本數字邏輯器件開始學習,進而學習微機原理與接口技術。基于Proteus的微機接口實驗教學改革,能夠使學生在熟悉硬件的基礎上設計軟件應用,同時鍛煉軟硬件的設計能力。
基于Proteus的微機接口可以實現該課程常用的所有實驗,如IO端口擴展(8255)、定時器/計數器(8253)、串口通信(8251)、模數轉換(ADC0809)、數模轉換(DAC0832)、液晶屏顯示(LCD1602)等。在此基礎上,還能進行一些功能更加強大的綜合性實驗設計,下面是“IO端口擴展(8255)”的實驗過程:
第一,設計好該實驗的Proteus仿真圖,主要包括I/O譯碼電路、8255和8086的連接、8255和I/O外設的連接。“IO端口擴展(8255)”實驗仿真圖如圖1所示。

圖1 “IO端口擴展(8255)”實驗仿真圖
第二,編寫相應匯編程序,并編譯成exe可執行文件。
code segment
assume cs:code
start:
mov ax,0000h
mov dx,ax
mov dx,8006h;設置控制口,設置B口為輸出口
mov al,80h
out dx,al
loop:
mov dx, 8002h;送數據0B給B口控制相應LED燈
mov al,0Bh
out dx,al
jmp loop
code ends
第三,把exe文件加載到8086中并點擊仿真運行按鈕,出現如圖2所示的運行結果。

圖2 實驗運行結果
本實驗平臺采用虛擬與現實相結合的方法,學生通過Proteus可以在沒有硬件的條件下,隨時隨地進行微機接口相關實驗的硬件和軟件設計。實驗過程非常透明清晰,硬件可以看見每根導線和每個端口上的電平高低,編程直接采用匯編語言,有利于學生直觀了解微機內部的運作機制,在牢固掌握所學知識的基礎上實現對知識的實踐應用。