彭芳+朱春媚
[摘 要]Proteus仿真軟件在微機(jī)接口技術(shù)教學(xué)中的應(yīng)用得到了越來(lái)越多人的認(rèn)可。為進(jìn)一步提高學(xué)生較大規(guī)模電路的開發(fā)能力,培養(yǎng)學(xué)生的學(xué)科素養(yǎng),可將8086 Demo Board為導(dǎo)向,采用任務(wù)驅(qū)動(dòng)法對(duì)微機(jī)接口技術(shù)教學(xué)進(jìn)行改革,引導(dǎo)學(xué)生開發(fā)多接口芯片聯(lián)合的微處理器系統(tǒng)。實(shí)踐證明,該方法能有效激發(fā)學(xué)生的學(xué)習(xí)熱情,增強(qiáng)學(xué)生的自主學(xué)習(xí)性,培養(yǎng)學(xué)生的創(chuàng)新意識(shí),提高學(xué)生解決實(shí)際問(wèn)題的能力和軟硬件設(shè)計(jì)開發(fā)的綜合能力。
[關(guān)鍵詞]Proteus;微機(jī)接口;教學(xué);應(yīng)用研究
[中圖分類號(hào)] G642 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 2095-3437(2016)11-0147-03
一、引言
微機(jī)原理與接口技術(shù)是自動(dòng)化、電子、電信、計(jì)算機(jī)等專業(yè)的學(xué)科基礎(chǔ)課。大部分的本科教材皆以80x86CPU為核心,介紹微處理器的內(nèi)部結(jié)構(gòu)和指令系統(tǒng)、存儲(chǔ)器組織、常用接口芯片等,培養(yǎng)學(xué)生計(jì)算機(jī)硬件和軟件應(yīng)用的能力,因此,軟硬件結(jié)合是本課程的一個(gè)重要特點(diǎn),學(xué)生必須通過(guò)實(shí)踐環(huán)節(jié)加深和提高對(duì)課程內(nèi)容的理解,最終達(dá)到能夠利用外圍芯片設(shè)計(jì)開發(fā)小規(guī)模計(jì)算機(jī)應(yīng)用系統(tǒng)的目的。
從教學(xué)的情況看,這門課程既難教又難學(xué),教學(xué)效果普遍不太理想,在以往講授匯編語(yǔ)言程序設(shè)計(jì)時(shí),教師可以用匯編軟件進(jìn)行程序的調(diào)試和演示,讓學(xué)生理解匯編程序的執(zhí)行過(guò)程和運(yùn)行原理,激發(fā)學(xué)生的學(xué)習(xí)興趣;但對(duì)于接口技術(shù)方面的內(nèi)容,則只有在實(shí)驗(yàn)課實(shí)驗(yàn)箱上來(lái)操作驗(yàn)證,導(dǎo)致課堂講授枯燥難懂,學(xué)生學(xué)習(xí)熱情不高。直到Proteus仿真軟件的出現(xiàn),為微機(jī)原理及單片機(jī)這類軟硬件結(jié)合課程的學(xué)習(xí),打開了另一扇窗口,使學(xué)生能夠在離開實(shí)驗(yàn)室以后,也能隨時(shí)隨地進(jìn)行接口電路程序設(shè)計(jì)仿真。Proteus很好地克服了硬件實(shí)驗(yàn)箱結(jié)構(gòu)固定、資源有限的缺點(diǎn),給學(xué)生更多實(shí)踐和鍛煉的機(jī)會(huì),讓他們能夠在掌握各接口芯片使用方法的基礎(chǔ)上,設(shè)計(jì)開發(fā)各種應(yīng)用系統(tǒng),培養(yǎng)了整機(jī)概念、創(chuàng)新思維以及軟硬件開發(fā)的綜合能力。[1]借助于Proteus仿真軟件,教師可以在授課中隨時(shí)講解知識(shí)點(diǎn),隨時(shí)連接硬件,并進(jìn)行調(diào)試講演,學(xué)生形象地觀察并深刻地理解每一步軟件和硬件之間的內(nèi)在關(guān)系。[2]
文獻(xiàn)[3][4][5]介紹了Proteus仿真技術(shù)對(duì)微機(jī)原理理論與實(shí)驗(yàn)教學(xué)的改進(jìn),在Proteus上開發(fā)了相應(yīng)的實(shí)驗(yàn)仿真平臺(tái),學(xué)生可以使用仿真平臺(tái)實(shí)現(xiàn)對(duì)8255、8253、8251等接口芯片的編程和調(diào)試,仿真平臺(tái)雖然功能完善但比較復(fù)雜,學(xué)生一方面需要花較多的時(shí)間去熟悉仿真平臺(tái)的使用,另一方面又難以根據(jù)自己的需求進(jìn)行創(chuàng)新。學(xué)生依然停留在單個(gè)芯片的學(xué)習(xí)上,在微處理器系統(tǒng)整機(jī)開發(fā)能力的培養(yǎng)上還存在欠缺,本文提出以Proteus自帶的8086 Demo Board為導(dǎo)向,采用任務(wù)驅(qū)動(dòng)方法,拓展微機(jī)接口技術(shù)教學(xué),培養(yǎng)學(xué)生創(chuàng)新思維和學(xué)科素養(yǎng),提高微機(jī)系統(tǒng)的設(shè)計(jì)和開發(fā)綜合能力。
二、以8086 Demo Board為導(dǎo)向的教學(xué)設(shè)計(jì)
(一)8086 Demo Board介紹
2009年,Labcenter公司推出了VSM for 8086平臺(tái),支持8086微處理器與8255A、8253、8259、8251等接口芯片的系統(tǒng)仿真。用戶安裝了Proteus后,在其安裝目錄SAMPLES\VSM for 8086\8086 Demo Board下面有如圖1所示的模板文件,該模板文件已設(shè)計(jì)有相對(duì)完整的微處理器系統(tǒng),將微機(jī)原理課程的核心芯片、地址鎖存與譯碼等微機(jī)系統(tǒng)知識(shí)囊括在了一起,包括8086CPU、地址鎖存模塊、地址譯碼模塊、8255A應(yīng)用電路、8253應(yīng)用電路、8251應(yīng)用電路。
8086 Demo Board以8086為核心,外接3片74LS273鎖存器,用于鎖存AD0~AD15地址 / 數(shù)據(jù)復(fù)用總線于總線周期T1時(shí)刻輸出的低8位地址信息。8086的ALE經(jīng)過(guò)反相器后與鎖存器的74LS273的CLK端相連,作為鎖存器的鎖存觸發(fā)信號(hào)。地址譯碼電路為74154(4-16譯碼器),片選控制采用全譯碼法,為接口芯片提供唯一地址。8255A已接有四位數(shù)碼管和矩陣按鍵;8253的三個(gè)計(jì)數(shù)器脈沖輸入端已接有脈沖輸入信號(hào),計(jì)數(shù)器2的輸出端接有蜂鳴器;8251接有虛擬終端,可進(jìn)行串行數(shù)據(jù)發(fā)送和接收,用于對(duì)串行接口的工作情況進(jìn)行觀察和調(diào)試。這一模板完全可作為學(xué)生學(xué)習(xí)時(shí)的實(shí)驗(yàn)電路使用,在EMU8086等編輯器下編寫源程序,將編譯成功的EXE文件裝載入8086仿真系統(tǒng),學(xué)生可以自由修改各芯片的應(yīng)用電路,學(xué)習(xí)各接口芯片的使用;同時(shí),還可以仿照該模型設(shè)計(jì)出自己的微處理器系統(tǒng)。
(二)8086 Demo Board的案例教學(xué)設(shè)計(jì)
傳統(tǒng)的微機(jī)接口技術(shù)教材,一般會(huì)按照接口芯片的內(nèi)部結(jié)構(gòu)、引腳特性、控制字設(shè)置、初始化編程、應(yīng)用實(shí)例這一循序漸進(jìn)的教學(xué)思路進(jìn)行介紹,但是在大多數(shù)的教材里,各接口芯片的應(yīng)用是相互獨(dú)立的,彼此之前毫無(wú)關(guān)系,同學(xué)們學(xué)完后,只能大致明白這些接口芯片的使用方法,但是建立不起整機(jī)的概念,印象也不深刻。8086 Demo Board為學(xué)生提供了一個(gè)很好的學(xué)習(xí)模板,由這個(gè)電路出發(fā),可引導(dǎo)學(xué)生做如下思考:“這些芯片與CPU之間是怎么通信的?”、“我能用這些芯片來(lái)做什么?”、“多芯片構(gòu)成的微處理器系統(tǒng)是怎么設(shè)計(jì)的?”、“如何訪問(wèn)每個(gè)芯片?”、“如何設(shè)計(jì)自己的微處理器系統(tǒng)?”……諸如此類,進(jìn)行從點(diǎn)到面,由淺入深的學(xué)習(xí),從單個(gè)芯片的學(xué)習(xí)上升到系統(tǒng)的學(xué)習(xí),目的是讓學(xué)生進(jìn)一步加深對(duì)所學(xué)知識(shí)的理解與應(yīng)用,將已學(xué)過(guò)的知識(shí)串在一起形成體系。在此案例的教學(xué)過(guò)程中,要讓學(xué)生認(rèn)知以下三方面的內(nèi)容:
1.接口芯片與CPU的連接。分析地址總線、數(shù)據(jù)總線、控制總線的連接方法,理解8086地址 / 數(shù)據(jù)復(fù)用總線的使用方法和總線時(shí)序,從而真正明白地址鎖存器的作用。
2.接口芯片片選電路的設(shè)計(jì)。在芯片較多的微處理器系統(tǒng)中,必須為每個(gè)芯片分配地址,需要設(shè)計(jì)相應(yīng)的地址譯碼電路對(duì)各芯片片選端進(jìn)行有效控制,分析圖1所示各芯片的地址范圍,再引導(dǎo)學(xué)生思考“如果用我們所熟悉的74138(3-8譯碼器)能否實(shí)現(xiàn)同樣功能的電路”。
3.接口芯片的應(yīng)用和編程。需要學(xué)生掌握常用I / O外設(shè)的基本使用方法和電路設(shè)計(jì),例如獨(dú)立按鍵、矩陣按鍵、二極管、數(shù)碼管等,能夠根據(jù)系統(tǒng)要求進(jìn)行編程和控制。
三、任務(wù)驅(qū)動(dòng)法進(jìn)行微機(jī)接口技術(shù)拓展教學(xué)
(一)任務(wù)驅(qū)動(dòng)法簡(jiǎn)介
任務(wù)驅(qū)動(dòng)教學(xué)法是一種通過(guò)建立特定任務(wù)來(lái)驅(qū)動(dòng)學(xué)生自主學(xué)習(xí)的教學(xué)方法。它轉(zhuǎn)變以往只重視知識(shí)的傳授,以完成一個(gè)任務(wù)來(lái)驅(qū)動(dòng)學(xué)生進(jìn)行自主學(xué)習(xí),使學(xué)生帶著特定的目的去解決問(wèn)題,進(jìn)而調(diào)動(dòng)學(xué)生的自主學(xué)習(xí)的積極性,提高學(xué)生的自學(xué)能力、創(chuàng)新精神和合作意識(shí)。任務(wù)驅(qū)動(dòng)教學(xué)法的本質(zhì)就是要充分發(fā)揮學(xué)習(xí)者的主觀能動(dòng)性,以學(xué)生為主體、教師為主導(dǎo)、任務(wù)為主線,讓學(xué)生就一個(gè)明確的任務(wù)為中心,在特定的一系列問(wèn)題的驅(qū)動(dòng)下,通過(guò)對(duì)學(xué)習(xí)過(guò)的知識(shí)進(jìn)行總結(jié)及應(yīng)用,在完成已有任務(wù)的同時(shí)使學(xué)生逐步養(yǎng)成一種主動(dòng)學(xué)習(xí)的習(xí)慣。[6]
(二)任務(wù)驅(qū)動(dòng)法的實(shí)施
當(dāng)學(xué)生已完全理解圖1所示電路的設(shè)計(jì)后,可采用任務(wù)驅(qū)動(dòng)法,進(jìn)一步培養(yǎng)學(xué)生的動(dòng)手能力和創(chuàng)新意識(shí)。
任務(wù)驅(qū)動(dòng)法的具體實(shí)施過(guò)程可參照?qǐng)D2所示。
1.教師的工作
教師的主要工作是引導(dǎo)。首先要根據(jù)所教學(xué)生的特點(diǎn)和能力提出合理可行的任務(wù),筆者所在班級(jí)的大三學(xué)生專業(yè)課較多,學(xué)習(xí)時(shí)間很緊,8086 Demo Board的使用有效解決了學(xué)生能力不足或者學(xué)時(shí)緊張的問(wèn)題,筆者布置的任務(wù)就是在8086 Demo Board上直接進(jìn)行創(chuàng)新,要求給芯片重新設(shè)計(jì)片選譯碼電路,同時(shí)所設(shè)計(jì)的微處理器系統(tǒng)能最大限度地使用多個(gè)芯片實(shí)現(xiàn)。學(xué)生根據(jù)任務(wù)要求提出方案,教師接著對(duì)學(xué)生所提方案進(jìn)行評(píng)估和審核,對(duì)學(xué)生電路設(shè)計(jì)和程序設(shè)計(jì)過(guò)程中遇到的問(wèn)題進(jìn)行指導(dǎo)。最后安排答辯對(duì)所有作品采取民主評(píng)價(jià)的方法,讓所有學(xué)生參與到學(xué)習(xí)過(guò)程。
2.學(xué)生的工作
本著互助互學(xué)的原則自由組建3~5人的團(tuán)隊(duì),查資料進(jìn)行方案設(shè)計(jì),根據(jù)教師的意見不斷完善方案,確定使用的接口芯片及其地址,所用外設(shè)及外設(shè)驅(qū)動(dòng)電路;在8086 Demo Board基礎(chǔ)上進(jìn)行總體電路設(shè)計(jì),編寫程序調(diào)試電路,最后在全班同學(xué)面前展示團(tuán)隊(duì)的作品并接受其他學(xué)生的質(zhì)詢和教師的點(diǎn)評(píng)。這樣將學(xué)生置身于一項(xiàng)真實(shí)的“任務(wù)”之中,變“學(xué)”為“做”,在“做中學(xué)”,通過(guò)學(xué)生“做”的主動(dòng)探究,鍛煉他們的學(xué)思結(jié)合、獨(dú)立思考、自由探索、勇于創(chuàng)新的精神,培養(yǎng)他們的團(tuán)隊(duì)意識(shí)、動(dòng)手能力和解決問(wèn)題的能力。
3.實(shí)施效果
任務(wù)布置下去以后,學(xué)生的學(xué)習(xí)積極性和主動(dòng)性得到極大提高,利用各接口芯片設(shè)計(jì)出了花樣流水、步進(jìn)電機(jī)控制、交通燈控制、簡(jiǎn)易計(jì)算器、點(diǎn)陣花樣控制等作品,其中也不乏讓人眼前一亮的創(chuàng)新作品,雖然電路規(guī)劃編程技巧上還有待提高,但是對(duì)于只是兩周時(shí)間的團(tuán)隊(duì)作業(yè)而言已經(jīng)不易。圖3為其中一個(gè)團(tuán)隊(duì)的設(shè)計(jì)作品,利用8255和8253芯片實(shí)現(xiàn)的電子琴,電路設(shè)計(jì)有兩個(gè)功能:功能一是用8個(gè)按鍵當(dāng)作電子琴的8個(gè)音階輸入——1、2、3、4、5、6、7、1,通過(guò)8253輸出一定頻率的脈沖信號(hào)驅(qū)動(dòng)喇叭發(fā)出對(duì)應(yīng)音階的聲音;功能二是音樂(lè)播放器功能。電路是在8086 Demo Board上改進(jìn)后得到的,利用74LS138譯碼器重新設(shè)計(jì)了片選譯碼控制電路,設(shè)定8255A端口地址為:800H~806H;8253的端口地址為:400H~406H。在答辯過(guò)程中,該團(tuán)隊(duì)的同學(xué)對(duì)電子琴的發(fā)音原理、電路的設(shè)計(jì)方法、控制程序的設(shè)計(jì)思路給同學(xué)們做了詳細(xì)介紹和交流。
任務(wù)驅(qū)動(dòng)法使課堂教學(xué)由傳統(tǒng)的教師為主的講授變成了學(xué)生為主的自主學(xué)習(xí)模式,學(xué)生通過(guò)主動(dòng)參與、自主合作、探索創(chuàng)新完成了既定的教學(xué)目標(biāo)。
四、教學(xué)設(shè)計(jì)中需要注意的幾個(gè)問(wèn)題
(一)任務(wù)的大小
任務(wù)的大小取決于教學(xué)的目標(biāo)和學(xué)生的實(shí)際能力。一味追求大而全,教師的出發(fā)點(diǎn)是好,但是大部分學(xué)生并不一定能做到,鼓勵(lì)少部分動(dòng)手能力強(qiáng)學(xué)習(xí)能力強(qiáng)的同學(xué)進(jìn)行更好的創(chuàng)新完成更復(fù)雜的任務(wù),但也要從絕大多數(shù)同學(xué)的實(shí)際情況出發(fā),在沒(méi)有額外加重其學(xué)業(yè)負(fù)擔(dān)的情況下能保證他們順利完成任務(wù),這樣才不會(huì)適得其反的打擊他們的積極性和自信心。例如本次的教學(xué)改革,如果不是以8086 Demo Board為平臺(tái)去定義任務(wù),筆者所在班級(jí)的學(xué)生很多可能會(huì)直接從網(wǎng)上下載電路,而不是自己去改進(jìn)電路,這樣反而失去了初衷。
(二)作品的復(fù)雜度
作品不是越復(fù)雜就越好,有些同學(xué)在一開始做方案設(shè)計(jì)時(shí),為了拿到更好的分?jǐn)?shù),規(guī)劃的系統(tǒng)功能非常多,教師在此時(shí)應(yīng)該要謹(jǐn)慎提醒其后續(xù)電路的復(fù)雜程度和程序的可行性,能否在規(guī)定時(shí)間內(nèi)完成正常運(yùn)行的作品,有些團(tuán)隊(duì)就是因?yàn)橐婚_始設(shè)計(jì)的過(guò)于復(fù)雜,在程序設(shè)計(jì)過(guò)程中遇到了巨大阻礙,最終只能提交一個(gè)半成品。匯編編程不同于C程序編程,要考慮的問(wèn)題太多,完成同樣任務(wù)的匯編比C語(yǔ)言要復(fù)雜很多。任務(wù)驅(qū)動(dòng)下的作品設(shè)計(jì)應(yīng)該強(qiáng)調(diào)功能剛好夠用,作品能夠清晰表達(dá)設(shè)計(jì)意圖,程序能夠自行設(shè)計(jì)。目前互聯(lián)網(wǎng)上可參考借鑒的電路和程序非常多,如何成為自己的東西需要進(jìn)行適當(dāng)挑選和整合,最終消化成功的東西才是真正屬于自己的,否則都是別人的。
(三)作品的展示與點(diǎn)評(píng)
作品的課堂展示與點(diǎn)評(píng)環(huán)節(jié)非常重要,要善加應(yīng)用。學(xué)生花了心血和努力完成的作品教師應(yīng)該給予足夠尊重,教師的評(píng)價(jià)可能是主觀和片面的,學(xué)生互評(píng)能夠讓學(xué)生真正從頭到尾作為主體參與到學(xué)習(xí)中。作品展示環(huán)節(jié)要求全體隊(duì)員走上講臺(tái),既鍛煉了學(xué)生的語(yǔ)言表達(dá)能力,又培養(yǎng)了學(xué)生的自信力,臺(tái)下學(xué)生以團(tuán)隊(duì)為單位給其他團(tuán)隊(duì)實(shí)名打分,并可以點(diǎn)名要求其中某個(gè)隊(duì)員回答質(zhì)詢,從而避免某些團(tuán)隊(duì)成員“打醬油,不干活”的情形。從實(shí)施效果看,作品展示點(diǎn)評(píng)是整個(gè)微機(jī)原理教學(xué)過(guò)程中學(xué)生反應(yīng)最熱烈,思維最敏捷,學(xué)生參與度最高的課堂教學(xué)。教師只需要在最后進(jìn)行總結(jié)與點(diǎn)評(píng),提出作品的亮點(diǎn),指出不足與改進(jìn)建議,為學(xué)生們的下一步學(xué)習(xí)指引方向。
五、總結(jié)
經(jīng)實(shí)踐證明,以Proteus 8086 Demo Board為導(dǎo)向的案例教學(xué),以及在其上進(jìn)行的任務(wù)驅(qū)動(dòng)法的創(chuàng)新實(shí)踐,能讓學(xué)生在較短時(shí)間內(nèi)設(shè)計(jì)出較大規(guī)模的微處理器系統(tǒng),極大激發(fā)了學(xué)生的學(xué)習(xí)興趣、增強(qiáng)了學(xué)生創(chuàng)新意識(shí),培養(yǎng)了整機(jī)概念,提高了學(xué)生的自主能力和解決問(wèn)題的能力,促進(jìn)理論和應(yīng)用的結(jié)合,取得了較好的教學(xué)效果。該教學(xué)方法具有一定的參考價(jià)值和借鑒意義,可同樣用于基于Proteus的單片機(jī)教學(xué)設(shè)計(jì)中。
[ 參 考 文 獻(xiàn) ]
[1] 陳越,顧暉,梁惺彥.PROTEUS虛擬仿真在微機(jī)原理教學(xué)中的應(yīng)用[J].電子技術(shù)應(yīng)用,2012(1):106-108.
[2] 陳軍.Proteus仿真技術(shù)與微機(jī)原理及接口技術(shù)教學(xué)整合的實(shí)踐研究[J].自動(dòng)化與儀器儀表,2013(4):216-217.
[3] 高林.PROTEUS軟件對(duì)“微機(jī)原理”課程教學(xué)的改進(jìn)[J].電氣電子教學(xué)學(xué)報(bào),2013(6):113-115.
[4] 卿騰.基于PROTEUS的微機(jī)原理教學(xué)研究[J].電腦知識(shí)與技術(shù),2015(11):218-220.
[5] 田社平,俞水鋒,方向忠,等.Proteus在微機(jī)原理課程教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報(bào),2011(5):70-72.
[6] 郭博,牛磊,王峰.任務(wù)驅(qū)動(dòng)在微機(jī)原理實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].韶關(guān)學(xué)院學(xué)報(bào),2015(2):84-86.
[責(zé)任編輯:張 雷]