華玉明
(江蘇省惠山職業教育中心校,江蘇 無錫 214153)
在單片機教學中使用Proteus仿真軟件實施項目式教學
華玉明
(江蘇省惠山職業教育中心校,江蘇 無錫 214153)
本文分析了傳統的單片機教學中教學方法和教學手段存在的問題,提出了使用Proteus仿真軟件實施項目式教學,培養學生自主學習、實踐動手能力的觀點,介紹總結了仿真教學中的優點、不足及改進措施。
Proteus軟件;單片機教學;項目式教學;創新能力。
單片機原理與應用課程是計算機應用、機電、數控、自動化等專業的一門重要專業課。國內高等院校的單片機教學與研究已經有了近30年的歷程,目前大部分院校開設的單片機課程是以MCS-51系列單片機作為教學內容,以匯編語言或C語言為編程設計語言,以并行擴展為核心講述單片機的相關知識。隨著微電子技術的迅猛發展,市場上出現了AVR、PIC、ARM等單片機。但是,教師在課堂教學過程中沿用傳統的授課模式,往往存在許多問題。Proteus軟件強勢推出以后,改變了傳統的教學方法,筆者在多年單片機教學實踐的基礎上,使用Proteus仿真軟件實施項目式教學,為進行單片機課堂教學改革和學生的學習提供了很好的平臺,提高了教學效率和質量。
傳統的單片機教學,首先學習教材順序安排的單片機相關基礎知識,然后使用計算機在偉福或KEIL等編譯軟件上編寫程序,通過調試分析寄存器、存儲器單元、并行輸出口的內容來檢驗程序設計是否符合要求,或者學生自己制作單片機硬件電路,將目標程序代碼下載到單片機芯片中運行,觀察外部設備的運行效果。這二種學習方法能收到一定的教學效果,但是,學生從單片機第一節課開始到第一次做單片機實驗的時間拖得比較長,理論與實踐的結合不緊密,如果所設計的系統比較復雜,則難以分析相關寄存器的內容變化,或者由于硬件成本過高,難以制作硬件電路,實驗困難而被迫停止,使學生的學習深入和拓展受到限制。
項目式教學是“以培養關鍵能力為核心”,師生通過共同實施一個完整的項目而進行的教學活動。單片機項目式教學,就是將整門課程圍繞項目展開,以項目的開發步驟作為講課順序,將單片機課程編排在各章節的知識點插入到開發項目的過程中,引導學生邊干邊學,在完成一個又一個項目的實踐過程中學習。與傳統的教學方法相比,單片機項目式教學有效地建立了課堂與生產實踐之間的聯系,能將教學課題的理論知識和實際技能結合起來,學生有獨立制定計劃并實施的機會,利于培養學生自主學習、實踐動手能力和創新能力。生動有趣的課程,提高了學生的學習積極性和主動性,較好地解決了傳統教學中存在的問題。
Proteus軟件可以仿真51、AVR、PIC和ARM等系列的單片機,下面以“基于AT89C5l單片機的中斷優先級電路實驗”為例,介紹利用Proteus在單片機教學中進行項目式教學。
1、硬件電路設計
運行Proteus的ISIS程序后,進入該仿真軟件主界面。從Proteus庫中選取元器件:
⑴AT89C51:單片機;
⑵3WATT470R、MINRES10K、RESPACK-8:電阻、帶公共端的排阻;
⑶7SEG-COM-AN-GRN:帶公共端共陽七段綠色數碼管;
⑷BUTTON:按鈕;
⑸PHYC0402NPO22P、HITEMP10U50V:電容、電解電容;
⑹CRYSTAL:晶振。
中斷優先級實驗電路原理圖如圖所示,Proteus和Protel、Multisim等軟件相似,繪制原理圖都要先從軟件包的器件庫里取出元件符號并在繪圖區布局好,同時編輯元器件屬性設置、放置電源和地、接著進行連線、添加必要的網絡標號、電氣檢測等等步驟,整個設計都在ISIS平臺中完成。

2、源程序設計
通過菜單“Source-----Add/RemoveSourceFiles(s)…”,新建源程序文件“中斷優先級.ASM”。通過菜單“Source-------中斷優先級.ASM”,打開PROTEUS提供的文本編輯器SRCEDIT,在其中編輯如下源程序:


程序編輯好后,保存文件“中斷優先級.ASM”。
3、生成目標代碼文件
通過菜單“Source--------BuildAll”編譯源程序,生成目標代碼文件中斷優先級.HEX。
4、加載目標代碼文件
打開元器件單片機屬性窗口,在“ProgramFile”欄中添加編譯好的目標代碼文件中斷優先級.HEX,在“Clock Frequency”欄中輸入晶振頻率為:12MHZ。
5、仿真運行
啟動仿真,就可以系統運行的結果了。單片機主程序控制P0口數碼管循環顯示0~8;外中斷0(INT0)、外中斷1(INT1)發生時分別在P2、P1口依次顯示0~8;INT1為高優級中斷,INT0為低優先級中斷。本實驗使用PROTEUS仿真功能形象直觀地演示了AT89C51單片機高、低兩級優先組級工作原理。高優先級可中斷低優先級,但低優先級的中斷請求不能中斷高優先級,同一優先級不能相互中斷。
如圖所示:當前在主程序控制P0口顯示“8”的時刻,單擊“低優先級”按鈕,觸發INT0中斷,INT0服務程序控制P2口依次顯示1~8,在P2口顯示“2”的這時刻,再單擊“高優先級”按鈕,觸發高優先級INT1,INT1服務程序控制P1口依次顯示1~8,運行片段如圖所示,當前P1 口輸出“3”。接下來,INT1 控制 P1 口輸出 4、5、6、7、8,關閉顯示,中斷返回到INT0顯示“2”的斷點,接著P2口輸出 3、4、5、6、7、8。中斷返回到主程序斷點顯示“8”,接著主程序控制 P0 口輸出循環顯示 1、2、3、4、5、6、7、8。用Proteus的圖形化仿真功能,很好地演示了中斷優先級的原理。
與傳統的教學模式相比,利用Proteus仿真軟件實施單片機項目式教學具有許多優勢:一是Proteus可以方便地與Keil軟件結合實現聯合調試,速度快,程序修改、編譯后運行程序就馬上可以看到效果,提高了課堂教學的效率;二是教師可以用多媒體教室上課,將仿真結果投影在大屏幕上,課堂教學效果非常好;三是部分學生已擁有筆記本電腦,安裝了Proteus仿真軟件后,實驗操作可以在宿舍或家中完成,不受時間和空間的限制,降低了成本,可以擴展學生的思路和提高學生的學習興趣。
雖然Proteus軟件功能較強,在我們經費、儀器、設備很有限的情況下為單片機教學提供了新的方法,但缺點也是存在的,畢竟不能完全取代實際的單片機硬件設備的實驗,為了使學生的學習不脫離實際,必須給學生提供硬件仿真和驗證的機會。做法是,讓學生將仿真軟件里調試通過的程序編譯好,并將目標程序下載到真正的硬件單片機芯片中,觀察運行結果。
Proteus是多功能的EDA軟件,真正實現了虛擬物理原型的功能。利用Proteus軟件進行單片機項目式教學,改變了單片機的傳統教學方法,對于單片機的教學或者系統的開發都能提供有力的幫助。在教學中,可以在沒有硬件電路的情況下,做教材中全部的軟件實驗和大多數的硬件系統,進行相應的程序設計與調試,可以幫助學生更快、更好地掌握課堂講述的內容,加深對概念、原理的理解,同時對培養學生自主學習能力、實踐動手能力、綜合分析能力和創新能力具有重要意義。
[1]張靖武,周靈彬.單片機系統的PROTEUS設計與仿真[M].北京:電子工業出版社.
[2]陳忠平.基于Proteus的AVR單片機C語言程序設計與仿真[M].北京:電子工業出版社.
[3]許志剛.單片機技術與應用[M].北京:人民郵電出版社.
[4]高峰.單片微型計算機原理與接口技術(第二版)[M].北京:科學出版社.
[5]任哲,張永忠.嵌入式系統基礎----ARM與RealViewMDK(KeilforARM)[M].北京:北京航空航天大學出版社.
G712
A
1008-7508(2012)08-0040-02
2012-06-15
華玉明(1958—),江蘇省惠山中等專業學校督導,高級講師。研究方向:單片機原理與應用課程教學研究;嵌入式系統。