趙蒼榮 辛元芳 郭來功


摘要:針對微機原理課程教學實際狀況,主要研究將計算機仿真技術、虛擬儀器技術等相關現代計算機技術引入微機原理教學問題。利用EMU8086編譯軟件進行8086匯編語言程序設計教學,利用Proteus進行8086系統接口電路仿真設計。實踐表明,該方法能提升教學效率,改善教學效果。
關鍵詞:微機原理;計算機仿真;Proteus
中圖分類號:G642? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)10-0181-03
Abstract: This paper mainly studies on the computer simulation technology, virtual instrument technology and other related modern computer technology are introduced into microcomputer principle teaching, for the actual situation of Microcomputer Principle Teaching. Use EMU8086 compiler software for 8086 assembly language programming teaching, and use Proteus for 8086 system interface circuit simulation design. Practice shows that this method can improve teaching efficiency and teaching effect.
Key words: microcomputer principle; computer simulation; Proteus
1 背景
微機原理是我院電氣信息類專業的基礎專業課,為學科專業必修課,其在電氣信息類專業中的地位非常重要。其主要授課內容包括8086CPU、尋址方式和指令系統、匯編語言程序設計、存儲器、I/O接口和并行接口芯片8255A、可編程計數器/定時器8253及其應用、中斷和可編程中斷控制器8259A、串行通信和可編程接口芯片8251A、模數A/D和數模D/A轉換等[1]。既有硬件原理部分,更有軟件應用設計方面,課程內容多,涉及范圍廣且較為抽象,具有一定的深度難度,對于教師授課、學生學習都具有很大的挑戰性[2]。傳統的微機原理的理論課程教學往往使用多媒體,課件使用PPT進行演示。應該說,其比純粹使用黑板板書在教學效果上已經有了很大的提高,但是一般多媒體課件很難展現電路設計的動態過程以及仿真結果,學生不易深入理解相關微機原理系統的應用設計。因此,很有必要將計算機仿真技術、虛擬儀器技術等相關現代計算機技術引入微機原理及應用這一傳統專業課程[3-4]。
2 EMU8086在教學中的應用
匯編語言程序設計是微機原理課程的一個重點內容,也是一個難點內容,學生學習過程中普遍感覺匯編語言抽象、晦澀,如果只是用PPT講解書本上的源程序例程,效果往往欠佳,對匯編語言程序運行過程以及相關內部資源的使用和變化情況也缺乏動態直觀的演示過程。在課堂教學中使用EMU8086可以很好地解決這些問題。EMU8086集源代碼編輯器,匯編/反匯編工具以及可以運行debug的模擬器于一身,可以在執行程序的同時可觀察寄存器,標志位和內存。算術和邏輯運算單元(ALU)顯示中央處理器內部的工作情況。在微機原理指令系統和匯編語言程序設計的課堂講解中,引入EMU8086可以加深學生對相關指令和程序段的理解,知其然,更知其所以然。尤其是匯編語言程序設計舉例,由于往往還沒有涉及硬件部分,不方便通過軟硬件結合的方式對學生進行講述,在傳統的多媒體教學中,學生往往對較長的程序段難以全面理解,尤其是涉及一些算法和內部寄存器的分配使用時,學生往往容易迷糊,引入EMU8086后可以直觀地對相關寄存器、變量等內容的變化進行直觀的演示,結合程序流程圖,大大降低了程序的理解難度,減少學生畏學情緒。
3 Proteus在教學中的應用
Proteus軟件由英國Lab Center Electronics公司推出,采用虛擬仿真技術,可在無微處理器硬件的條件下,利用PC機實現微處理器軟件和硬件的同步仿真,可以實現在沒有目標原型時就可以對系統進行調試、測試和驗證。更為重要的是,仿真結果可以直接用于真實設計,極大地提高了微處理器應用系統的設計效率,并使學習微處理器應用開發過程變得直觀和簡單。Proteus主要由ISIS和ARES兩個設計平臺組成,前者主要用于電路原理圖的設計以及交互式仿真,后者用于印刷電路板的設計并能生成光繪輸出文件。
I/O接口電路是微機原理課程的重要組成部分,其既考查學生硬件設計能力,同時針對不同項目功能,還要求學生結合設計指標進行軟件編程。這部分內容的傳統多媒體教學很難對設計過程動態展示,學生理解起來有一定的難度,課堂教學組織具有較大的挑戰性。通過Proteus仿真調試和運行,不僅可以加深對語法的理解,也可使枯燥抽象的編程學習變得生動有趣,達到事半功倍的效果。
4 仿真系統設計實例
8255A是Intel公司生產的通用可編程并行接口芯片,具有非常廣泛的應用,其也是微機原理課程的重要內容,要求學生掌握其工作原理和設計應用。8255A共有3種工作方式,通過其方式控制字來設定。下面以方式0為例進行方式0為基本輸入/輸出方式,通過方式選擇控制字可任意選擇其為輸入口或輸出口,主要用于同步傳送數據的場合,電路設計較為簡單,一般都作為課程的主要講述內容。設計一個開關檢測電路,要求不斷地檢測它們的通斷狀態,并隨時在發光二極管上顯示出來。開關斷開,相應的LED點亮;開關合上,LED熄滅。8086CPU與8255A之間的連接包括數據線,地址線和控制線。8255A的數據總線接到8086的低8位數據總線上,其端口地址均選為偶地址。具體來說,8086分時復用的數據/地址總線通過3個8位地址鎖存器作為系統地址總線A0-A19。系統的地址譯碼器使用4線-16線譯碼器,系統地址線A9-A12作為譯碼輸入,A13-A15經過或非門及非門后作為譯碼器門控信號,譯碼器輸出端[IO1]作為8255A的片選,系統地址線A2和A1分別連8255A的A1與A0,可知8255A的基地址為0200H。另外,8個獨立按鍵接在8255A的PA口,8個發光二極管接在PB口上,顯然此時PA口作為輸入,PB口作為輸出。軟件編寫思路是確定8255A控制字并寫到其控制口完成初始化,整體采用查詢方式,循環讀PA端口數據并寫到PB端口,從而實現不斷檢測開關狀態并在LED上顯示出來的功能。從仿真結果可以看出,當PA口的PA0-PA2線上的開關閉合時,PB口的PB0-PB2線上的LED發光,達到了設計要求。
通過應用電路的軟硬件設計并仿真,直觀展現設計思路和實現結果,相比傳統的PPT等多媒體教學,學生對微機系統I/O接口電路提高教學效果。在實際教學過程中,更可以通過變更開關和LED接口、開關顯示邏輯等設計要求,方便進行課堂練習、課外設計作業等拓展,可以方便在課堂上對設計思路和實現方法和學生進行交流與互動,引導學生對相關知識點進行梳理和總結,幫助學生更好地掌握I/O接口電路應用設計知識,對教學效率有明顯提升。
5 項目驅動,增強課后教學管理
微機原理是一門實踐性、綜合性較強的課程,傳統的教師課堂教學,課后布置作業的方式不利于培養學生的綜合開發能力[5]。為了加強課堂教學質量管控,我們增加隨堂測試環節,讓學生在整個學習過程中保持專注度。同時,我們通過設計一些項目任務,以綜合練習的方式讓學生完成。在項目設計中將學生按照5人左右規模進行分組,根據學生的平時表現,按照學生自愿、老師指導分配的原則分組。在項目內容的設計結合生活生產實際,由易到難,循序漸進。我們分別設計了“8255并行I/O口獨立鍵盤顯示電路設計”“4×4鍵盤LED顯示電路設計”“8253脈沖波形產生電路設計”“點陣顯示電路設計”“直流電機控制系統”“步進電機控制系統”等項目訓練,每一個項目側重涵蓋2-3個重要知識點,部分綜合性較強的項目給出部分設計思路和軟件編寫框架,理論聯系實際,增強趣味性,提高學生學習興趣和設計熱情。在這些項目中,往往綜合幾章教材內容,涵蓋硬件電路設計,軟件程序編寫,并要求學生進行仿真驗證。在提交項目報告中,需明確每名學生的工作,防止出現一人操作,組內其他人旁觀的現象。引入答辯、現場講解等考核環節,抓強過程管理,確保每一名學生都能通過項目訓練不斷提升自己的學習水平。通過訓練,學生能迅速掌握相關軟件的使用,與教師課堂運用計算機仿真技術進行授課形成有機互補、鏈接,并能加深對相關知識點的理解和掌握,實現連貫的學習積累,激發學生的創新能力。
6 結束語
微機原理作為電氣信息類等專業經典、重要的專業基礎課,是學生學習的第一門嵌入式類課程,內容橫跨軟件編程和硬件電路設計,將EMU8086及Proteus等計算機仿真軟件引入教學能提升學生的軟硬件綜合開發能力,改善教學效果,提升教學效率。同時,相關軟件的學習也為學生進一步學習嵌入式技術打下基礎,項目形式的綜合練習訓練,能進一步激發學生學習熱情和創新能力。
參考文獻:
[1] 張妍. “微機原理及應用”研究性教學模式探索與實踐[J].實驗室科學,2017(4):117-120.
[2] 史慶武,顏兵兵等. 提高《微機原理與接口技術》課程教學質量的方法與實踐[J]. 沈陽師范大學學報(自然科學版),2016(4):494-498.
[3] 徐燕華. “微機原理與接口技術”課程的教學創新研究[J].科技資訊,2017(33):114-115
[4] 王詠寧,馮桂蓮. 虛擬儀器技術在《微機原理與接口技術》中的應用[J]. 軟件工程,2017(2)4-6.
[5] 趙蒼榮. 基于競賽平臺的電氣信息類大學生創新能力培養的探索[J].科技信息,2012(6):119.
【通聯編輯:謝媛媛】