摘要:針對(duì)微機(jī)原理及接口技術(shù)課程抽象難懂的問(wèn)題,文章分析了其教學(xué)內(nèi)容,并結(jié)合課程群定位,將教學(xué)重點(diǎn)聚焦于微處理器結(jié)構(gòu)和匯編語(yǔ)言程序設(shè)計(jì),旨在幫助學(xué)生通過(guò)匯編語(yǔ)言理解計(jì)算機(jī)的結(jié)構(gòu)與原理。同時(shí),文章引入了類比法、過(guò)程展示法和仿真實(shí)驗(yàn)法等教學(xué)方法,以提高教學(xué)效果。
關(guān)鍵詞:微機(jī)原理;匯編語(yǔ)言;教學(xué)改革;仿真實(shí)驗(yàn)
中圖分類號(hào):G642" " " 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2025)17-0159-03
開放科學(xué)(資源服務(wù)) 標(biāo)識(shí)碼(OSID)
0 引言
微機(jī)原理及接口技術(shù)是一門機(jī)電類專業(yè)的專業(yè)基礎(chǔ)課,內(nèi)容包括微型計(jì)算機(jī)的硬件結(jié)構(gòu)與原理、匯編語(yǔ)言程序設(shè)計(jì)、接口技術(shù)等三部分內(nèi)容。該課程的教學(xué)目標(biāo)是培養(yǎng)學(xué)生掌握微型計(jì)算機(jī)的基本原理及應(yīng)用開發(fā)方法,培養(yǎng)學(xué)生分析和設(shè)計(jì)簡(jiǎn)單微機(jī)系統(tǒng)的能力,為后續(xù)課程奠定技術(shù)理論基礎(chǔ)[1-2]。
但是在實(shí)際教學(xué)過(guò)程中,學(xué)生對(duì)尋址方式和指令的理解存在困難;教學(xué)過(guò)程中難以將匯編語(yǔ)言程序與微機(jī)結(jié)構(gòu)聯(lián)系起來(lái);實(shí)踐教學(xué)環(huán)節(jié)薄弱,學(xué)生缺乏對(duì)指令執(zhí)行過(guò)程的直觀感受。
本文對(duì)微機(jī)原理及接口技術(shù)的教學(xué)目標(biāo)和內(nèi)容進(jìn)行分析,對(duì)內(nèi)容進(jìn)行聚焦,分清主次,與相關(guān)課程進(jìn)行聯(lián)動(dòng),刪減部分內(nèi)容。教學(xué)方法上把抽象的內(nèi)容具體形象化,將過(guò)程和形象展示給學(xué)生,以此來(lái)提高教學(xué)質(zhì)量。
1 教學(xué)內(nèi)容與課程定位
課程的教學(xué)內(nèi)容應(yīng)與其在專業(yè)培養(yǎng)體系中的定位相符,并與課程群中的其他課程協(xié)同配合,形成循序漸進(jìn)的知識(shí)和能力培養(yǎng)體系。在機(jī)電類專業(yè)中,微機(jī)原理及接口技術(shù)是從屬于培養(yǎng)學(xué)生電子控制技術(shù)能力的模塊知識(shí)體系,電子控制技術(shù)這一條能力線按基礎(chǔ)到專業(yè)的順序,主要由計(jì)算機(jī)基礎(chǔ)、C程序、模電、數(shù)電、微機(jī)原理及接口技術(shù)、單片機(jī)開發(fā)、PLC、機(jī)電系統(tǒng)設(shè)計(jì)等課程構(gòu)成。電子控制技術(shù)課程群組成與關(guān)系如圖1所示。
在進(jìn)行微機(jī)原理及接口技術(shù)的教學(xué)內(nèi)容安排時(shí),應(yīng)將這一條能力線上的課程進(jìn)行系統(tǒng)化考慮。各門課應(yīng)該找到其培養(yǎng)內(nèi)容的重點(diǎn),如果追求面面俱到,極容易造成課程內(nèi)容重復(fù),技術(shù)重疊,而且有的技術(shù)已被最新技術(shù)替代,完全不需要講解。
傳統(tǒng)的微機(jī)原理及接口技術(shù)的主要教學(xué)內(nèi)容包括:數(shù)制換算、補(bǔ)碼運(yùn)算與溢出、微機(jī)與微處理器、8086微處理器的內(nèi)部結(jié)構(gòu)、指令系統(tǒng)、匯編語(yǔ)言程序設(shè)計(jì)、存儲(chǔ)器、中斷與接口技術(shù)[3-5]。
數(shù)制轉(zhuǎn)換,尤其是二進(jìn)制與十六進(jìn)制是本課程的基礎(chǔ),需要學(xué)生做到非常熟練。
補(bǔ)碼運(yùn)算與溢出這部分內(nèi)容是微機(jī)的計(jì)算原理,是闡述微機(jī)進(jìn)行計(jì)算的規(guī)則是什么。這一點(diǎn)不同于人類計(jì)算規(guī)則,在其他課程中并未提及,這方面內(nèi)容需要作為本課程的重點(diǎn)講解。
微機(jī)與微處理器的發(fā)展歷史、概念是這門課獨(dú)有的,對(duì)于學(xué)生如何正確認(rèn)識(shí)微處理器、微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)及其他硬件與芯片是非常重要的。
8086微處理器的內(nèi)部結(jié)構(gòu)、指令系統(tǒng)、匯編語(yǔ)言程序設(shè)計(jì),這三部分內(nèi)容要放在一起來(lái)考慮,單學(xué)其中任何一個(gè)模塊都達(dá)不到能力培養(yǎng)目標(biāo),學(xué)習(xí)8086微處理器結(jié)構(gòu)是為了弄清計(jì)算機(jī)的思考方式,但是要把結(jié)構(gòu)與原理真正弄明白需要學(xué)習(xí)其指令系統(tǒng),然后通過(guò)匯編語(yǔ)言程序來(lái)調(diào)動(dòng)微機(jī)的內(nèi)部資源,實(shí)現(xiàn)計(jì)算或控制任務(wù)。這一過(guò)程是相互關(guān)聯(lián)的,故應(yīng)作為整體,是理解計(jì)算機(jī)工作原理的關(guān)鍵,也是本課程的重點(diǎn)。
中斷與接口這部分內(nèi)容屬于接口技術(shù),這部分內(nèi)容也是電子技術(shù)課程群中單片機(jī)開發(fā)的重要內(nèi)容,單片機(jī)開發(fā)這門課的主要目標(biāo)是通過(guò)調(diào)動(dòng)接口、中斷、定時(shí)器、串口等接口資源來(lái)實(shí)現(xiàn)人機(jī)交互、控制設(shè)備。在單片機(jī)中調(diào)用資源的工具是C語(yǔ)言,而微機(jī)原理是通過(guò)匯編語(yǔ)言來(lái)調(diào)用這些資源,所以微機(jī)原理中這部分的理解難度明顯高于單片機(jī)開發(fā)。鑒于有更易于理解的C語(yǔ)言開發(fā)方式,減少課程內(nèi)容的重復(fù)性,形成課程群內(nèi)課程高效聯(lián)動(dòng),故將中斷與接口技術(shù)從微機(jī)原理及接口技術(shù)這門課中刪減,將其放在單片機(jī)開發(fā)這門課中學(xué)習(xí)。學(xué)生通過(guò)微機(jī)原理這門課深刻理解計(jì)算機(jī)的工作原理后,再學(xué)習(xí)單片機(jī)開發(fā),已經(jīng)具備了良好的基礎(chǔ),不需要再花大量時(shí)間學(xué)習(xí)單片機(jī)的工作原理,可以將重點(diǎn)放在接口技術(shù)方面,節(jié)省了時(shí)間和精力,形成循序漸進(jìn)的培養(yǎng)過(guò)程。
這樣,微機(jī)原理及接口技術(shù)將主要內(nèi)容集中在微處理器結(jié)構(gòu)和匯編語(yǔ)言程序設(shè)計(jì)上。將其培養(yǎng)目標(biāo)調(diào)整為通過(guò)匯編語(yǔ)言程序來(lái)理解計(jì)算機(jī)的結(jié)構(gòu)與原理,即計(jì)算機(jī)如何思考和處理問(wèn)題。
2 教學(xué)內(nèi)容與安排
將微機(jī)原理的內(nèi)容分成四大章來(lái)進(jìn)行講解,第一章主要介紹微機(jī)的發(fā)展歷史、操作系統(tǒng)、軟件、數(shù)制計(jì)算、補(bǔ)碼運(yùn)算和溢出、編碼、微機(jī)與微處理器的概念。這一章的內(nèi)容易于學(xué)習(xí),可以在這個(gè)階段培養(yǎng)學(xué)生對(duì)本門課的興趣,提高學(xué)生的學(xué)習(xí)信心。例如在講完微處理器、微型計(jì)算機(jī)、微型計(jì)算機(jī)系統(tǒng)這三者的概念后,讓學(xué)生依據(jù)概念判斷生活中接觸的電子產(chǎn)品是屬于這三者中的哪種。學(xué)生通過(guò)分辨生活中的事物(例如單片機(jī)、銀行卡、手機(jī)中的芯片) ,將理論與實(shí)踐聯(lián)系起來(lái),增強(qiáng)實(shí)際感受,明白學(xué)有所用,從而激發(fā)學(xué)習(xí)興趣。
第二章主要介紹8086微處理器的結(jié)構(gòu)、引腳,及其如何來(lái)識(shí)別存儲(chǔ)單元和IO接口。這一章內(nèi)容看起來(lái)都是文字,學(xué)生此時(shí)通常認(rèn)為微機(jī)原理屬于記憶背誦性課程,其實(shí)不然,要做到對(duì)這一章的真正理解需要在后續(xù)的匯編語(yǔ)言程序設(shè)計(jì)過(guò)程中才能實(shí)現(xiàn)。但可以利用學(xué)生目前的這一認(rèn)知偏見,讓其進(jìn)行翻轉(zhuǎn)課堂,培養(yǎng)其自學(xué)習(xí)慣(課前預(yù)習(xí)、課中匯報(bào)、課后復(fù)習(xí)) 。
第三章主要講解尋址方式和各類指令。在這一章,內(nèi)容難度陡然上升,為了減輕學(xué)生理解負(fù)擔(dān),在不影響理解后續(xù)內(nèi)容的情況下,需要對(duì)此章內(nèi)容進(jìn)行刪減和調(diào)整。微機(jī)原理指令眾多,一共111條指令,如果都要講解,容易導(dǎo)致學(xué)了后面的指令,前面的指令都已忘記,指令與指令之間的關(guān)系也構(gòu)建不起來(lái),故根據(jù)任務(wù)目標(biāo)來(lái)進(jìn)行相關(guān)指令講解,只講一些重要的、相關(guān)的指令。
BCD碼和ASCII碼的作用是在編寫程序時(shí),實(shí)現(xiàn)人機(jī)交互的輸入和輸出。將課程的實(shí)驗(yàn)項(xiàng)目定位于通過(guò)二進(jìn)制數(shù)或十六進(jìn)制數(shù)的計(jì)算來(lái)理解計(jì)算機(jī)的工作原理,則那關(guān)于BCD碼和ASCII碼的運(yùn)算及字符串操作指令就可以刪減。
例題一:“有兩個(gè) 4 字節(jié)的無(wú)符號(hào)數(shù)相加,這兩個(gè)數(shù)分別存放在 2000H 和 3000H 開始的存儲(chǔ)單元中,得到的和也為 4 字節(jié),存放在 2000H 開始的存儲(chǔ)單元中,編一段程序完成這兩個(gè)數(shù)的相加過(guò)程。”此類編程題屬于計(jì)算類編程題,無(wú)需涉及BCD碼及ASCII碼運(yùn)算。
其正確程序如圖2所示。這類計(jì)算類任務(wù)中只需涉及傳送類指令、算術(shù)運(yùn)算指令、邏輯運(yùn)算與移位控制、程序控制類指令。
程序控制類指令,是在編寫程序時(shí),如何控制程序的走向,這一部分可以弱化程序控制類指令的原理,重點(diǎn)在于如何應(yīng)用。將其按編寫程序中的應(yīng)用場(chǎng)景進(jìn)行講解。例如:程序控制指令CALL,CALL指令講解時(shí)常常涉及堆棧的處理和CS、IP如何改變,而其實(shí)在應(yīng)用CALL指令進(jìn)行編程時(shí),只需考慮其是在段內(nèi)還是段間調(diào)用,并不需要過(guò)多地理解其指令原理。
第四章主要是如何編寫完整的匯編語(yǔ)言程序,這部分內(nèi)容采用總分總的方式進(jìn)行教學(xué)內(nèi)容安排,先從完整的匯編語(yǔ)言程序講起,總覽匯編語(yǔ)言程序的組成部分,再將各部分內(nèi)容分散到偽指令、程序結(jié)構(gòu)控制、子程序中,最后通過(guò)習(xí)題練習(xí)達(dá)到綜合運(yùn)用。
例題二:“在內(nèi)存中自RSSA開始的11個(gè)單元中,連續(xù)存放著0~10的平方值(稱為平方表) 。任給一個(gè)數(shù)x(0≤x≤10) 存放在RS1單元中,查表求x的平方值,并將結(jié)果存放于RS2單元中。”,可以先將此題的完整代碼展示出來(lái),如圖3所示。
讓學(xué)生通過(guò)此題目及其程序來(lái)總覽匯編語(yǔ)言程序的結(jié)構(gòu)。并將此程序進(jìn)行劃分,例如圖中的紅色部分屬于數(shù)據(jù)段和程序段的偽指令,并指出這些都屬于固定格式,每次編程時(shí)基本都是固定的。學(xué)生在下一次編程時(shí)就可以將程序的框架直接寫出來(lái),然后就可以在此框架里面填寫相應(yīng)的程序。將上例中用到的偽指令及其含義分散到各例題中進(jìn)行講解,不再進(jìn)行單獨(dú)的偽指令講解。再依次講解順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、子程序的設(shè)計(jì),最后再總結(jié)匯編語(yǔ)言程序的通用書寫與編程結(jié)構(gòu),實(shí)現(xiàn)總分總教學(xué)。
3 教學(xué)方法
微機(jī)原理的內(nèi)容抽象,看不見具體的實(shí)物,邏輯性又很強(qiáng),不便于學(xué)生理解。教師在教學(xué)過(guò)程中需要根據(jù)內(nèi)容采用合適的方法進(jìn)行教學(xué),將抽象的概念用類比的方法將其與生活中的事物聯(lián)系起來(lái),復(fù)雜的執(zhí)行過(guò)程需要教師將過(guò)程進(jìn)行還原,甚至讓學(xué)生自己動(dòng)手還原工作原理及過(guò)程。最后的結(jié)果還需要驗(yàn)證,編程是否對(duì)錯(cuò),需要在驗(yàn)證中逐步修改完善,在驗(yàn)證中進(jìn)行迭代升級(jí),從而加深對(duì)計(jì)算機(jī)工作原理的理解。
(1) 類比法。此門課的特點(diǎn)是抽象,對(duì)于抽象的內(nèi)容,用生活中的事物來(lái)類比課程中抽象的概念,由于學(xué)生有切身體會(huì),更容易接受理解。比如存儲(chǔ)器中的存儲(chǔ)單元,在現(xiàn)實(shí)世界中是無(wú)法觀測(cè)的,沒(méi)有具體的形象,需要通過(guò)類比的方法進(jìn)行講解,將存儲(chǔ)器比作一豎列抽屜,一個(gè)存儲(chǔ)單元就是一個(gè)抽屜,這一個(gè)抽屜中分成8個(gè)小格,小格子中只能放0或者1,那這一個(gè)抽屜就是8位,也稱為1個(gè)字節(jié)。這樣將抽象的事物具象化,在講尋址方式時(shí),就可以讓學(xué)生自己想辦法將這些數(shù)據(jù)找到,也引出了抽屜編號(hào)的問(wèn)題,即地址。地址即為抽屜的編號(hào),數(shù)據(jù)為抽屜中放的數(shù)。在類比法的基礎(chǔ)上,可以適當(dāng)采用拓展演變法來(lái)引導(dǎo)學(xué)生推理,效果更佳。
(2) 過(guò)程展示法(即圖解法和視頻動(dòng)畫法) 。計(jì)算機(jī)的指令操作過(guò)程,如果按文字?jǐn)⑹觯茈y以理解,可以采用繪圖示意的方式,向?qū)W生講解,這一點(diǎn)主要是在繪制示意圖的過(guò)程中,讓學(xué)生觀摩理解計(jì)算機(jī)操作過(guò)程,而非按圖講解。過(guò)程展示法主要是通過(guò)過(guò)程的展示,讓學(xué)生明白計(jì)算機(jī)操作內(nèi)存或IO的順序,如先找通過(guò)地址加法器合成物理地址,通過(guò)地址總線找到存儲(chǔ)單元,之后通過(guò)發(fā)出控制總線輸出讀信號(hào),通過(guò)數(shù)據(jù)總線讀取存儲(chǔ)單元的內(nèi)容,之后在CPU中的ALU中進(jìn)行計(jì)算,而計(jì)算結(jié)果會(huì)影響放標(biāo)志寄存器FR。將這一系列過(guò)程通過(guò)圖形過(guò)程展示,學(xué)生的頭腦中形成動(dòng)態(tài)圖像,即計(jì)算機(jī)的動(dòng)作過(guò)程,有利于原理性內(nèi)容的講解和理解。
再如關(guān)于MOV指令的學(xué)習(xí),可以采用繪圖的形式講解寄存器中數(shù)是如何傳送至存儲(chǔ)器的或者存儲(chǔ)器中的數(shù)如何傳送至寄存器的,其傳送規(guī)則是16位寄存器中的低字節(jié)傳送至低地址存儲(chǔ)單元內(nèi),高字節(jié)轉(zhuǎn)送至高地址的存儲(chǔ)單元內(nèi)。雖然通過(guò)文字可以描述,但這一傳送過(guò)程并沒(méi)有直觀體現(xiàn),可以采用繪制圖4的形式進(jìn)行講解,將傳送過(guò)程圖像化,更易被學(xué)生理解。
計(jì)算機(jī)的結(jié)構(gòu)與原理是動(dòng)態(tài)的過(guò)程,并非靜止的,在理解過(guò)程中,需要學(xué)生在腦海中形成動(dòng)態(tài)的圖像,故采用過(guò)程演示法是理解動(dòng)態(tài)過(guò)程的不二法門。
(3) 仿真實(shí)驗(yàn)法。指令學(xué)習(xí)完后,學(xué)生也能在紙上編寫程序了,這時(shí)候,并不能真正明白其中的原理,而且也不知道自己寫的程序是否正確,采用Emu8086仿真軟件,讓學(xué)生通過(guò)仿真軟件進(jìn)行驗(yàn)證,達(dá)到認(rèn)知的閉環(huán)驗(yàn)證,讓學(xué)生根據(jù)結(jié)果進(jìn)行對(duì)事物的認(rèn)知調(diào)整。將編寫的程序通過(guò)編輯器敲入,然后編譯生成com文件或exe文件,之后通過(guò)單步執(zhí)行來(lái)觀看每一步運(yùn)算過(guò)后寄存器、存儲(chǔ)器的變化。達(dá)到對(duì)指令和計(jì)算機(jī)結(jié)構(gòu)原理的協(xié)同理解。具體仿真軟件環(huán)境及調(diào)試與觀測(cè)分別見圖5和圖6所示。
微機(jī)原理這門課的知識(shí)是前后穿插,前面的概念性知識(shí),在未經(jīng)實(shí)踐之前,屬于靜態(tài)知識(shí),而在后期的編程實(shí)踐過(guò)程中,需要通過(guò)指令來(lái)控制計(jì)算機(jī)完成任務(wù),指令如何準(zhǔn)確無(wú)誤調(diào)用計(jì)算機(jī)的資源對(duì)學(xué)習(xí)者來(lái)講,是非常重大的考驗(yàn),這一過(guò)程,需要在實(shí)踐中反復(fù)檢驗(yàn),仿真軟件Emu8086恰好提供了這么一個(gè)實(shí)踐平臺(tái),通過(guò)調(diào)試錯(cuò)誤,查找寄存器、查找內(nèi)存中的代碼段、數(shù)據(jù)段、堆棧段等,將理論知識(shí)、實(shí)踐手段、檢驗(yàn)方法進(jìn)行綜合調(diào)度,才能完成任務(wù),達(dá)到理解知識(shí)并熟練運(yùn)用。
4 結(jié)束語(yǔ)
微機(jī)原理及接口技術(shù)是電子控制技術(shù)課程群中的一門專業(yè)課,其教學(xué)內(nèi)容應(yīng)該放在課程群中進(jìn)行定位和編排,與其他課程起到協(xié)同效應(yīng),減少與其他課程的重復(fù),將接口技術(shù)部分的內(nèi)容放置在課程群的單片機(jī)開發(fā)課程中講解,在本課程中刪除,從而將教學(xué)內(nèi)容聚焦于微處理器結(jié)構(gòu)和匯編語(yǔ)言程序設(shè)計(jì)上。培養(yǎng)目標(biāo)調(diào)整為通過(guò)匯編語(yǔ)言程序來(lái)理解計(jì)算機(jī)的結(jié)構(gòu)與原理。教學(xué)安排采用先易后難,先總覽后細(xì)化,結(jié)構(gòu)與應(yīng)用穿插進(jìn)行。教學(xué)方法上主要采用了類比法、過(guò)程展示法、仿真實(shí)驗(yàn)法,通過(guò)這一系列布局和安排,目標(biāo)指向明確,學(xué)生易于接受。
參考文獻(xiàn):
[1] 向繼文.新工科背景下微機(jī)原理與接口技術(shù)教學(xué)改革探析[J].電腦知識(shí)與技術(shù),2024,20(27):161-163,170.
[2] 樊晨龍,劉英,周宏平. 微機(jī)原理與應(yīng)用課程多元化教學(xué)改革研究[J].輕工人才,2023,218(5):212-213.
[3] 何永玲,余華芳.“微機(jī)原理與接口技術(shù)”課程綜合改革[J].電氣電子教學(xué)學(xué)報(bào),2017,39(3):98-100,104.
[4] 譚道桓.《微機(jī)原理與接口技術(shù)》虛擬仿真實(shí)驗(yàn)教學(xué)系統(tǒng)的研究與實(shí)現(xiàn)[D].昆明:昆明理工大學(xué),2022.
[5] 胡福志,國(guó)海,權(quán)悅,等.OBE理念下微機(jī)原理與接口技術(shù)課程教學(xué)改革與實(shí)踐[J].造紙裝備及材料,2022(6):214-216.
【通聯(lián)編輯:王 力】