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