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