鄭祥明,孔晨鑫,李泰
(亳州學(xué)院 電子與信息工程系,安徽 亳州 236800)
微機(jī)原理課程是電子信息類、自動化和電氣工程等工科專業(yè)的重要專業(yè)基礎(chǔ)課之一,在人才培養(yǎng)體系中占據(jù)重要地位,具有較強(qiáng)的理論性、實(shí)踐性與應(yīng)用性,更是工科學(xué)生在未來工作中必備的基本實(shí)踐技能。該課程的學(xué)習(xí)理念對后續(xù)專業(yè)課程的學(xué)習(xí),甚至是工程創(chuàng)新能力的培養(yǎng)有重要影響[1]。在電子信息類專業(yè)中,微機(jī)原理課程是單片機(jī)技術(shù)和嵌入式系統(tǒng)等課程的先修課程,微機(jī)原理與接口技術(shù)的教學(xué)效果的提升對后續(xù)課程的開展具有非常重要的意義[2]。傳統(tǒng)的微機(jī)原理與接口技術(shù)課程單純的以“理論為主,實(shí)驗(yàn)為輔”的方式授課,為提高課程的教學(xué)質(zhì)量,文獻(xiàn)[3]在理論教學(xué)、實(shí)驗(yàn)教學(xué)和考核方式上進(jìn)行探索,在一定程度上提高了教學(xué)效果,但是由于實(shí)驗(yàn)室資源的限制實(shí)驗(yàn)效果仍有不足。隨著虛擬仿真技術(shù)的發(fā)展,英國Labcenter公司開發(fā)的Proteus實(shí)現(xiàn)了基于8086微處理器的VSM仿真,為課程教學(xué)提供了比較理想的虛擬仿真實(shí)驗(yàn)教學(xué)平臺,利用Proteus仿真軟件在一定程度上取得了良好的教學(xué)成果[4-8]。虛擬仿真技術(shù)彌補(bǔ)了實(shí)驗(yàn)資源不足,實(shí)現(xiàn)了對傳統(tǒng)實(shí)驗(yàn)教學(xué)的有益補(bǔ)充,但是由于虛擬仿真與物理實(shí)驗(yàn)的差異,文獻(xiàn)[9]指出了X86在8259實(shí)驗(yàn)中出現(xiàn)的問題并給出了解決方案,進(jìn)一步破解了實(shí)驗(yàn)地點(diǎn)和時間方面的難題。目前在中國工程教育認(rèn)證背景下,文獻(xiàn)[10]在成果導(dǎo)向教育理念下深入課程教學(xué)改革,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)習(xí)效果。微機(jī)原理與接口技術(shù)課程改革與時俱進(jìn),且取得了豐碩的成果,而新建地方本科院校存在基礎(chǔ)薄弱,教學(xué)經(jīng)驗(yàn)不足的情況,如何在新時代背景下充分利用新建地方本科院校自身特點(diǎn),指導(dǎo)學(xué)生高效地學(xué)習(xí)仍是教學(xué)改革的難點(diǎn)。
目前,大多微機(jī)原理教程以8086CPU 芯片為平臺,教學(xué)內(nèi)容的組織和實(shí)施是以匯編語言為開發(fā)語言,以傳統(tǒng)的接口芯片進(jìn)行系統(tǒng)擴(kuò)展等。課程內(nèi)容包含微型計算機(jī)工作原理和常用接口技術(shù)兩部分:微型計算機(jī)的工作原理部分從微機(jī)的內(nèi)部結(jié)構(gòu)進(jìn)行剖析并結(jié)合指令系統(tǒng)逐步引導(dǎo)學(xué)生了解16位和32位微處理器及匯編語言程序設(shè)計,具有理論性強(qiáng)、內(nèi)容抽象和不易理解的特點(diǎn)。常用接口技術(shù)部分以可編程中斷控制器8259A、可編程并行接口8255A 和可編程計數(shù)器/定時器8253等接口芯片培養(yǎng)和引導(dǎo)學(xué)生掌握微機(jī)系統(tǒng)軟、硬件開發(fā)基本能力。針對課程教學(xué)過程中存在開發(fā)平臺芯片老舊,匯編語言不是當(dāng)下的主流開發(fā)語言且晦澀難懂等問題影響學(xué)生學(xué)習(xí)的積極性[1],因此根據(jù)教學(xué)內(nèi)容和章節(jié)特點(diǎn)適當(dāng)改變教學(xué)方法可以取得事半功倍的效果。筆者結(jié)合微機(jī)原理課程特點(diǎn)在教學(xué)過程實(shí)施“1+2+2”教學(xué)改革,探索以理論指導(dǎo)實(shí)驗(yàn),以實(shí)驗(yàn)驅(qū)動理論教學(xué)。同時在實(shí)踐教學(xué)環(huán)節(jié)采用“以虛為主,虛實(shí)結(jié)合”的教學(xué)改革與實(shí)踐,提高學(xué)生課堂參與度,提高課程教學(xué)質(zhì)量。
微機(jī)原理在專業(yè)人才培養(yǎng)中具有承上啟下的重要作用,教學(xué)目標(biāo)和教學(xué)設(shè)計等教學(xué)全過程都將影響課程的教學(xué)效果。圍繞課程的基本教學(xué)目標(biāo),引導(dǎo)學(xué)生掌握微機(jī)系統(tǒng)的基本電路、存儲器、時鐘系統(tǒng)和常用接口電路等,同時融入創(chuàng)新能力培養(yǎng)理念,提升學(xué)生的學(xué)習(xí)興趣,并且培養(yǎng)學(xué)生的創(chuàng)新思維。為此,本方案在課程大綱制定的過程中充分考慮與前導(dǎo)課程和后續(xù)課程之間的聯(lián)系,并根據(jù)微型計算機(jī)工作原理和常用接口技術(shù)兩部分的教學(xué)特點(diǎn)探索“1+2+2”教學(xué)改革方案。即,課程教學(xué)全過程圍繞1個核心處理器8086,根據(jù)課程內(nèi)容和章節(jié)特點(diǎn)適當(dāng)選擇“以理論為輔”和“以實(shí)驗(yàn)為主”2種教學(xué)方法,并在實(shí)踐教學(xué)環(huán)節(jié)中設(shè)置的實(shí)驗(yàn)任務(wù)要求使用“實(shí)驗(yàn)箱+軟件仿真”2 種實(shí)現(xiàn)方案,如圖1所示。
圖1 課程培養(yǎng)路線圖
微機(jī)原理課程內(nèi)容主要圍繞8086處理器進(jìn)行,即實(shí)現(xiàn)對8086 處理器的操作及外圍擴(kuò)展電路的控制。教學(xué)基本思路是:為了實(shí)現(xiàn)對處理器的操作,首先要了解8086內(nèi)部的結(jié)構(gòu)、寄存器和存儲器結(jié)構(gòu)及其工作原理,以理論為主重點(diǎn)介紹二進(jìn)制加法電路、微機(jī)基本組成電路和基本工作原理等內(nèi)容;其次是了解8086CPU 等硬件資源,掌握指令和程序設(shè)計思想,以實(shí)驗(yàn)為主引入算術(shù)運(yùn)算指令、邏輯運(yùn)算指令和程序設(shè)計基礎(chǔ)知識;最后為了實(shí)現(xiàn)更大規(guī)模的系統(tǒng)設(shè)計和外設(shè)的控制,以實(shí)踐應(yīng)用為主逐步引入中斷技術(shù)、定時器/計數(shù)器、輸入輸出和接口技術(shù)等。
實(shí)驗(yàn)教學(xué)是理論應(yīng)用與實(shí)踐的重要環(huán)節(jié),主要培養(yǎng)學(xué)生的動手能力、實(shí)踐能力和創(chuàng)新能力。本方案設(shè)計的實(shí)驗(yàn)任務(wù)包含基礎(chǔ)實(shí)驗(yàn)任務(wù)和拓展實(shí)驗(yàn)任務(wù),基礎(chǔ)實(shí)驗(yàn)任務(wù)是理論教學(xué)的補(bǔ)充和強(qiáng)化,引導(dǎo)學(xué)生更好地理解和掌握理論知識,進(jìn)而進(jìn)行知識遷移,培養(yǎng)學(xué)生解決較復(fù)雜問題的能力,基礎(chǔ)實(shí)驗(yàn)任務(wù)安排如表1所示。
表1 基礎(chǔ)實(shí)驗(yàn)任務(wù)
表1中的基礎(chǔ)實(shí)驗(yàn)任務(wù)根據(jù)理論課程內(nèi)容先后順序安排,由于實(shí)驗(yàn)課時有限,方案設(shè)計了部分第二課堂實(shí)驗(yàn)任務(wù)對第一課堂進(jìn)行補(bǔ)充和完善。同時,為強(qiáng)化學(xué)生的實(shí)踐能力和應(yīng)用能力,設(shè)置了拓展實(shí)驗(yàn)任務(wù),拓展實(shí)驗(yàn)任務(wù)是基礎(chǔ)實(shí)驗(yàn)任務(wù)的鞏固和提高,具有一定的開放性、綜合性和創(chuàng)新性,具體實(shí)驗(yàn)任務(wù)如表2所示。
表2 拓展實(shí)驗(yàn)任務(wù)
1) 第二課堂與第一課堂銜接
為了彌補(bǔ)第一課堂實(shí)驗(yàn)任務(wù)存在綜合性和創(chuàng)新性不足的情況,實(shí)驗(yàn)教學(xué)環(huán)節(jié)增加了第二課堂的實(shí)驗(yàn)任務(wù),指導(dǎo)老師通過給學(xué)生發(fā)放實(shí)驗(yàn)任務(wù)書,指導(dǎo)學(xué)生在課下獨(dú)立完成實(shí)驗(yàn)任務(wù)并要求學(xué)生提交工程文件、源代碼和設(shè)計報告等過程性材料。拓展實(shí)驗(yàn)任務(wù)部分也可以由學(xué)生自擬題目,經(jīng)指導(dǎo)老師同意后即可同步進(jìn)行實(shí)施,在課程規(guī)定時間內(nèi)完成實(shí)驗(yàn)任務(wù)并集中匯報考評。
2) 虛實(shí)結(jié)合,以虛為主
硬件實(shí)驗(yàn)和虛擬仿真實(shí)驗(yàn)都是實(shí)踐教學(xué)的重要組成部分,硬件實(shí)驗(yàn)?zāi)軌蛑庇^、具體地反映實(shí)驗(yàn)現(xiàn)象,有助于培養(yǎng)學(xué)生的動手實(shí)踐能力和硬件設(shè)計能力。虛擬仿真實(shí)驗(yàn)反映的是理想狀態(tài)下的實(shí)驗(yàn)現(xiàn)象,具有實(shí)驗(yàn)平臺易搭建、實(shí)驗(yàn)成本低、不受實(shí)驗(yàn)室條件影響等優(yōu)勢。
實(shí)踐教學(xué)方案中的基礎(chǔ)實(shí)驗(yàn)任務(wù)部分采用微機(jī)原理實(shí)驗(yàn)箱和Proteus 仿真軟件同時實(shí)現(xiàn),以表1 中8255并行接口實(shí)驗(yàn)為例:首先,在軟件設(shè)計部分,學(xué)生需根據(jù)實(shí)驗(yàn)任務(wù)書編寫程序;其次,在硬件設(shè)計環(huán)節(jié),學(xué)生需要按實(shí)驗(yàn)任務(wù)要求連接導(dǎo)線,然后進(jìn)行程序調(diào)試;最后,認(rèn)真檢查軟硬件配置,當(dāng)沒有實(shí)現(xiàn)預(yù)期效果時則需要逐項(程序、硬件電路)排除故障,直至實(shí)驗(yàn)完成。整個調(diào)試過程,尤其是硬件電路調(diào)試經(jīng)驗(yàn)是虛擬仿真無法實(shí)現(xiàn)的,學(xué)生畢業(yè)以后要解決的也是具體的工程實(shí)際問題。因此,完備的實(shí)驗(yàn)室條件和硬件實(shí)驗(yàn)是首先要保證的,而虛擬仿真實(shí)驗(yàn)突破了空間和時間的限制,為學(xué)生提供了更多的實(shí)驗(yàn)機(jī)會,對整個實(shí)踐教學(xué)環(huán)節(jié)是有利的。所以,本方案采用的以虛為主、虛實(shí)結(jié)合的實(shí)驗(yàn)方式,為學(xué)生提供了全方位的實(shí)踐教學(xué)平臺,滿足了實(shí)踐教學(xué)的需求。
3) 任務(wù)驅(qū)動,理實(shí)一體
實(shí)驗(yàn)任務(wù)的設(shè)計是與教學(xué)內(nèi)容密切相關(guān)的,把教學(xué)大綱中涉及的知識點(diǎn)、技能目標(biāo)凝聚為若干典型實(shí)驗(yàn)任務(wù),在理論課學(xué)習(xí)的過程中實(shí)施以學(xué)生為主、教師為輔的方式引導(dǎo)學(xué)生完成實(shí)驗(yàn)任務(wù),在任務(wù)的執(zhí)行過程中理解和掌握理論教學(xué)內(nèi)容。表1 中的實(shí)驗(yàn)任務(wù)對標(biāo)教學(xué)大綱的知識點(diǎn),任務(wù)的設(shè)置與課程內(nèi)容同步,通過有序的組織和實(shí)施實(shí)驗(yàn)教學(xué)任務(wù)引導(dǎo)逐步學(xué)習(xí)和掌握課程的知識架構(gòu)。
在方案執(zhí)行的過程中融合了Proteus 仿真實(shí)驗(yàn)環(huán)境的優(yōu)勢,在教學(xué)的各個環(huán)節(jié)設(shè)置相應(yīng)的任務(wù)模塊,以任務(wù)牽引理論教學(xué),在執(zhí)行任務(wù)的過程中學(xué)習(xí)和掌握課程的核心內(nèi)容,有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,為后續(xù)的單片機(jī)、嵌入式等課程奠定了良好的軟硬件開發(fā)初級技能。
為簡化軟件設(shè)計和調(diào)試過程,本項目選用的是Proteus8.6,打開軟件主界面,選擇Source Code 然后在System→Compilers Configuration 界面選擇下載安裝MASM32 即可使用Proteus 自帶的匯編編譯器。新建工程文件時選擇Create Firmware Project,處理器選擇8086,編譯器選擇MASM32。在Schematic Capture 界面完成相應(yīng)原理圖設(shè)計,在Source Code界面進(jìn)行匯編語言程序設(shè)計。
掌握可編程中斷控制器8259A、可編程計數(shù)/定時控制器8253、可編程DMA 控制器8237A 和可編程并行接口芯片8255A等接口技術(shù)是本課程的重點(diǎn)內(nèi)容。筆者結(jié)合教學(xué)實(shí)際設(shè)計基于Proteus的交通燈系統(tǒng),該系統(tǒng)利用可編程計數(shù)/定時控制器8253 進(jìn)行定時、利用8255A進(jìn)行終端接口控制、利用8259A中斷控制器設(shè)計自動控制模式和手動應(yīng)急控制模式增加系統(tǒng)的實(shí)用性。
系統(tǒng)以8086CPU 為控制核心,通過74LS373 鎖存器和138譯碼電路分別與8253、8255A和8259A連接,8253 負(fù)責(zé)交通燈系統(tǒng)的計時,8255A 的A 口控制LED交通燈,8259A 的IR0 和IR1 用于系統(tǒng)應(yīng)急模式控制,設(shè)計如圖2所示。
軟件設(shè)計之前首先要求學(xué)生查閱相關(guān)接口芯片、鎖存器及譯碼電路的工作原理,尤其是接口芯片的控制字選擇和工作方式選擇等。本系統(tǒng)配置8255A 工作在方式0;A 口輸出控制LED 燈;B 口輸出控制數(shù)碼管顯示倒計時時間;C口PC6配置為輸入,用于模式選擇;配置8253 在計數(shù)器0 方式3;配置8259A 為單片、邊沿觸發(fā)中斷、非自動結(jié)束、非緩沖和全嵌套方式。程序主流程圖如圖3所示,其中交通燈正常工作子程序?yàn)椋簴|西方向紅燈亮,南北方向綠燈亮9秒,黃燈閃爍3秒→南北方向紅燈亮,東西方向綠燈亮9秒,黃燈閃爍3秒。
圖3 主程序流程圖
程序設(shè)計好后可直接在軟件中編譯運(yùn)行,如果編譯有錯誤按提示修改代碼即可。本項目運(yùn)行狀態(tài)如圖4所示。
圖4 交通燈模擬效果圖
文章從教學(xué)實(shí)際出發(fā),結(jié)合微機(jī)原理課程特點(diǎn)在教學(xué)過程實(shí)施“1+2+2”教學(xué)改革,探索以理論指導(dǎo)實(shí)驗(yàn),以實(shí)驗(yàn)驅(qū)動理論教學(xué),同時在實(shí)踐教學(xué)環(huán)節(jié)采用“以虛為主,虛實(shí)結(jié)合”的教學(xué)改革實(shí)踐研究,通過“虛實(shí)結(jié)合”的實(shí)踐教學(xué)改革拓展了學(xué)生的學(xué)習(xí)空間,提高學(xué)生課堂參與度,引導(dǎo)學(xué)生主動學(xué)習(xí)、主動實(shí)踐,有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的實(shí)踐創(chuàng)新能力,對后續(xù)專業(yè)課程的實(shí)施產(chǎn)生了積極影響。