一、引言
《微機(jī)原理》是電氣信息類的專業(yè)基礎(chǔ)課,通過學(xué)習(xí)該課程,建立起微型計算機(jī)系統(tǒng)的基本概念和結(jié)構(gòu);了解微處理器指令集和指令系統(tǒng)的概念、功能及機(jī)內(nèi)編碼格式,熟悉計算機(jī)系統(tǒng)內(nèi)部指令的執(zhí)行過程;掌握程序的基本概念和利用指令構(gòu)成程序的方法,利用匯編語言助記符設(shè)計匯編語言程序的基本方法;掌握微型計算機(jī)接口的基本概念和接口的硬件設(shè)計方法。程序的執(zhí)行過程一定要建立起存儲程序的工作原理的概念、指令及程序在機(jī)器內(nèi)部的表示方法。實驗是對理論知識的運用和檢驗理論知識是否扎實,根據(jù)微機(jī)原理實驗教學(xué)現(xiàn)狀和存在的不足,探討了提高微機(jī)原理實驗教學(xué)的教學(xué)方法和實驗內(nèi)容設(shè)計。通過DEBUG來觀察寄存器、存儲器、標(biāo)志位中的數(shù)據(jù)現(xiàn)狀和修改后的變化,也可以觀察地址的變化和地址單元的數(shù)據(jù)變化。程序的運行過程可以通過操作數(shù)的數(shù)據(jù)變化讓學(xué)生理解尋址方式實現(xiàn)的過程和指令運行產(chǎn)生的作用。系統(tǒng)集成是利用所學(xué)的理論知識和已有技術(shù),模塊化的設(shè)計電路系統(tǒng)。以系統(tǒng)集成能力培養(yǎng)學(xué)生,學(xué)生可以根據(jù)需求將各子模塊組成一個完整的電路系統(tǒng),使整體性能更佳。
二、教學(xué)現(xiàn)狀與不足
很多院校《微機(jī)原理》重理論教學(xué),輕實驗教學(xué);理論學(xué)時長,實驗學(xué)時較短。理論課堂上的相關(guān)知識不能及時安排實驗進(jìn)行驗證和應(yīng)用,出現(xiàn)了學(xué)生覺得理論抽象復(fù)雜、學(xué)習(xí)興趣低、實驗環(huán)節(jié)薄弱的現(xiàn)象。學(xué)生在實驗課上根據(jù)實驗指導(dǎo)書按部就班,只做驗證性實驗,做設(shè)計性實驗時無從下手。在這種教學(xué)情況下,教師需要探討多種可提高微機(jī)原理實驗教學(xué)效果的方法。
三、實驗教學(xué)方法和實驗內(nèi)容的改進(jìn)
1.DEBUG的使用。微機(jī)原理的工作原理包括指令集機(jī)內(nèi)表示、指令及程序的機(jī)內(nèi)執(zhí)行過程、存儲程序原理、存儲器及其管理、接口技術(shù)。掌握匯編語言程序的概念、設(shè)計與調(diào)試方法,從而建立起面向計算機(jī)的程序設(shè)計方法,這是今后面向?qū)ο蟮某绦蛟O(shè)計方法的基礎(chǔ)。通過DEBUG來觀察程序的運行過程,觀察寄存器、存儲器、標(biāo)志位中數(shù)據(jù)現(xiàn)狀和修改后的變化,用操作數(shù)的數(shù)據(jù)變化使學(xué)生理解尋址方式實現(xiàn)的過程和指令運行后產(chǎn)生的作用。
(1)DEBUG觀察寄存器和存儲器。微型計算機(jī)的寄存器有通用寄存器、變址寄存器、指針寄存器、段寄存器和標(biāo)志寄存器[3]。DEBUG觀察寄存器、標(biāo)志位和存儲器的數(shù)據(jù)現(xiàn)狀與修改后的變化。①觀察寄存器和存儲器的數(shù)據(jù)。觀察微型計算機(jī)的寄存器、標(biāo)志位和存儲器的數(shù)據(jù),打開系統(tǒng)盤C,啟動DEBUG.EXE,顯示連接符“-”后可輸入各種DEBUG命令。常用的DEBUG命令有A、D、E、G、P、R、T、U等,輸入DEBUG命令后回車,可觀察寄存器、標(biāo)志位和存儲器的數(shù)據(jù)。②修改寄存器和存儲器的數(shù)據(jù)。修改寄存器和存儲器的數(shù)據(jù)可以直接使用DEBUG命令修改數(shù)據(jù),也可以通過執(zhí)行指令進(jìn)行修改數(shù)據(jù)。執(zhí)行指令修改寄存器和存儲器的數(shù)據(jù)時,需要編寫匯編源程序,例如,給出一個匯編源程序
TEST.ASM。
DATA SEGMENT
SHU DB 00H,01H,02H,03H,04H,05H,06H,07H,
08H,09H,0AH,0BH,0CH,0DH,0EH,0FH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV BX,5;立即尋址
ADD BX,BX;寄存器尋址
MOV SI,[0001];直接尋址
MOV AX,[BX];寄存器間接尋址
MOV AX,[BX+4];寄存器相對尋址
MOV AX,[BX+SI];基址加變址尋址
MOV AX,[BX+SI+4];相對的基址和變址尋址
CODE ENDS
END START
圖1 指令修改寄存器和存儲器的數(shù)據(jù)
在MS-DOS下對匯編源程序TEST.ASM進(jìn)行編譯和鏈接,無語法錯誤和結(jié)構(gòu)錯誤后得到可執(zhí)行文件TEST.EXE,DEBUG調(diào)試可執(zhí)行文件TEST.EXE。指令修改寄存器和存儲器的數(shù)據(jù)如圖1所示。由圖1觀察寄存器、標(biāo)志位、存儲器的現(xiàn)狀和修改后的數(shù)據(jù),使學(xué)生對微型計算機(jī)的寄存器、標(biāo)志位、存儲器、數(shù)據(jù)、地址有深入的認(rèn)識,由抽象思維轉(zhuǎn)變成看得見、有結(jié)果的實際操作。
(2)DEBUG觀察尋址方式。通過DEBUG觀察操作數(shù)的尋址方式,使用DEBUG調(diào)試TEST.EXE,執(zhí)行指令后,由圖1可觀察操作數(shù)存放的位置和各種操作數(shù)尋址方式的實現(xiàn)過程。立即尋址是操作數(shù)包含在指令字節(jié)中,CPU在指令隊列中直接取得立即數(shù),指令執(zhí)行速度快。寄存器尋址是操作數(shù)在指令中CPU內(nèi)部寄存器中,可以減少指令碼的長度,執(zhí)行速度較快。存儲器尋址是操作數(shù)在內(nèi)存的數(shù)據(jù)區(qū),指令給出操作數(shù)在內(nèi)存中的地址信息,CPU可求出存放操作數(shù)的有效地址,執(zhí)行速度慢。由圖1可知AX、BX、SI、IP值的變化過程,根據(jù)AX、BX、SI、IP的數(shù)據(jù)變化,可以理解操作數(shù)存放的位置和各種操作數(shù)的尋址方式。
(3)DEBUG觀察指令系統(tǒng)的作用。微型計算機(jī)的指令系統(tǒng)功能強(qiáng)大,由圖1可知,不同的指令實現(xiàn)不同的功能,通過DEBUG觀察源操作數(shù)和目的操作數(shù)在操作前后的數(shù)據(jù)變化來理解指令運行后產(chǎn)生的作用。
2.實驗項目由淺入深,分層次教學(xué)。學(xué)生對知識的接受能力和應(yīng)用能力不同,根據(jù)學(xué)生的差異進(jìn)行不同程度的引導(dǎo)學(xué)習(xí)。接受知識能力弱的學(xué)生,指導(dǎo)學(xué)生完成驗證性實驗,得到實驗結(jié)果以及實驗現(xiàn)象才能通過實驗課程;接受知識能力和應(yīng)用能力強(qiáng)的學(xué)生,選做設(shè)計性實驗,在已有的驗證性實驗的基礎(chǔ)上,給出實驗條件和實驗現(xiàn)象,在未給出電路圖和操作步驟的情況下,讓學(xué)生自主設(shè)計電路、編程,得到實驗現(xiàn)象,同時可以引導(dǎo)學(xué)生通過多種方法得到同一個實驗現(xiàn)象,讓學(xué)生明白為什么要這樣做,教師的教學(xué)方法由“教”到“導(dǎo)”。
3.實驗項目設(shè)計。實驗項目的設(shè)計以系統(tǒng)集成能力培養(yǎng)學(xué)生為中心,學(xué)生根據(jù)需求將各子模塊連接成一個整體性能高的電路系統(tǒng)。實驗指導(dǎo)書的實驗項目內(nèi)容注重循序漸進(jìn),由驗證性到設(shè)計性實驗。綜合性實驗主要是對CPU與接口電路的應(yīng)用,設(shè)計性實驗是綜合性實驗的創(chuàng)新應(yīng)用,是學(xué)生掌握微型計算機(jī)體系結(jié)構(gòu)的表現(xiàn),熟悉微處理器、存儲器、輸入/輸出接口電路、系統(tǒng)總線之間的相互聯(lián)系。理論課上介紹了8255、8259、8237、8253等接口芯片的接口技術(shù)應(yīng)用[5]。實驗與教學(xué)是緊密聯(lián)系在一起的,實驗項目內(nèi)容圍繞講解的接口技術(shù)進(jìn)行設(shè)計。以完成一個簡易寵物定時喂食器的設(shè)計為例,具有的功能如下:通過鍵盤輸入定時時間;數(shù)碼管顯示時間;定時時間到時,電子發(fā)聲器發(fā)出響聲;喂食器控制步進(jìn)電機(jī)打開寵物食物儲存器閥門,讓食物下落到容器給寵物進(jìn)食。此電路系統(tǒng)看似復(fù)雜,如果將此電路系統(tǒng)分解成若干個基礎(chǔ)實驗完成,那么就顯得相對簡單了。將所有的基礎(chǔ)性實驗進(jìn)行整合,終完成相對復(fù)雜的寵物定時喂食器設(shè)計,具體實驗項目設(shè)計如下:①數(shù)碼轉(zhuǎn)換程序?qū)嶒炘O(shè)計。實驗的目的在于讓學(xué)生掌握程序的設(shè)計方法以及DEBUG軟件的使用方法。通過實驗,學(xué)生可以掌握程序設(shè)計的編譯環(huán)境的使用,編譯、鏈接和執(zhí)行的操作方法,能力強(qiáng)的學(xué)生還能進(jìn)行分支程序結(jié)構(gòu)、循環(huán)程序結(jié)構(gòu)以及子程序結(jié)構(gòu)設(shè)計。②鍵盤掃描及數(shù)碼管顯示程序設(shè)計。該實驗?zāi)康脑谟谧寣W(xué)生掌握使用8255芯片完成矩陣式鍵盤掃描以及數(shù)碼管顯示。個實驗的學(xué)習(xí)內(nèi)容可在第二個實驗中的數(shù)碼管顯示部分程序得到應(yīng)用。這樣既學(xué)習(xí)了新的知識,又復(fù)習(xí)了已學(xué)的知識,更重要的是學(xué)生之前學(xué)到的知識得到了應(yīng)用,增加了學(xué)生對實驗的興趣。③系統(tǒng)設(shè)計。該實驗是在第二實驗中得到進(jìn)一步的完善,增加了8254定時器的使用。使用矩陣鍵盤輸入一個時間,啟動后以秒為單位顯示。④電子發(fā)聲器的設(shè)計。該實驗是在定時器的實驗上得到進(jìn)一步的應(yīng)用,使用定時器產(chǎn)生不同頻率的方波信號,將方波信號送給蜂鳴器,蜂鳴器則發(fā)出有旋律的聲音。⑤步進(jìn)電機(jī)程序?qū)嶒炘O(shè)計。實驗中學(xué)生可利用8255芯片的I/O口,控制步進(jìn)電機(jī)的運動時序,從而控制步進(jìn)電機(jī)的運動方向和運動角度。⑥寵物定時喂食器綜合實驗設(shè)計。該實驗是對前幾次實驗的一個整合,鍛煉學(xué)生將使用模塊整合成系統(tǒng)的能力。整個實驗過程的設(shè)計采用由易到難、由基礎(chǔ)到專業(yè)、由模塊到系統(tǒng)的思想。每次實驗都能完成一個小“作品”,實驗的結(jié)果可以激發(fā)學(xué)生對實驗的興趣。
4.實驗考核方式改革。傳統(tǒng)的實驗考察方式,如通過簽名考查學(xué)生的出勤率和實驗完成報告,終給出實驗成績,使學(xué)生的實驗課程都會通過,這些做法缺乏刺激學(xué)生積極實驗的動力,因此需要對傳統(tǒng)的實驗考核方式進(jìn)行改進(jìn),應(yīng)當(dāng)注重實驗操作過程,而不是片面的通過實驗報告來評定學(xué)生的實驗成績。實驗報告數(shù)據(jù)存在抄襲的現(xiàn)象,實驗課堂上學(xué)生的動手操作能力是的,根據(jù)實驗操作過程和實驗結(jié)果及現(xiàn)象來給學(xué)生評分,做到實驗成績公平、公正,令學(xué)生信服。
四、總結(jié)
通過4年的實驗教學(xué)實踐,對比傳統(tǒng)盲目實驗只看實驗結(jié)果及現(xiàn)象的教學(xué)方法,學(xué)生使用DEBUG查看寄存器、存儲器、標(biāo)志位的數(shù)據(jù)變化,觀察操作數(shù)尋址方式實現(xiàn)的過程和指令運行后所產(chǎn)生的作用,使學(xué)生對微機(jī)原理產(chǎn)生學(xué)習(xí)興趣,掌握了微機(jī)原理的實質(zhì)、尋址方式和指令的作用。對比傳統(tǒng)的“依葫蘆畫瓢”的實驗指導(dǎo)書教法,以系統(tǒng)集成能力的方法培養(yǎng)學(xué)生,充分調(diào)動學(xué)生的積極性,提高學(xué)生的動手能力,使學(xué)生學(xué)會自主設(shè)計程序、調(diào)試程序、發(fā)現(xiàn)問題和解決問題。改進(jìn)的教學(xué)方法滿足了不同學(xué)生的需求,激發(fā)了大部分學(xué)生的自主創(chuàng)新能力,實驗教學(xué)效果良好。
電話
微信掃一掃