劉青+任曉芳

摘 要 針對單片機原理及應用課程教學中學生感到難學、教師感到難教的現狀,將Proteus仿真軟件引入單片機課堂教學中,使課堂教學過程和Proteus仿真技術相結合,實現理論與實踐教學一體化,經過實際教學實踐,取得良好的教學效果。
關鍵詞 單片機;Proteus;仿真
中圖分類號:TP391.9 文獻標識碼:B
文章編號:1671-489X(2016)20-0052-03
Abstract The simulation experiment is done during the class consi-dering present status and problems in the teaching of the Principle and application of single chip microcomputer major. The demonstra-tion of Proteus simulation experiment can make the students further understand and master the contents they learned from the class. Themethod putting the teaching theories into practice, it is proved throughpractice that effects of teaching can be improved by this means.
Key words MCU; Proteus; simulation
1 前言
單片機原理及應用是電氣工程類、電信類和機電類等專業開設的一門非常重要的專業基礎課,也是學生參加大學生電子競賽和進行科技創新活動必須熟練掌握的一門課程。單片機課程具有理論知識體系嚴謹,抽象和邏輯性強、應用性強等特點,單片機的學習需要硬件和軟件相結合進行。多年的教學實踐使筆者深感單片機原理及應用既難教又難學,教學效果一直不太理想,主要有以下幾項原因。
1)教學模式采用傳統的先基礎后應用模式,學理論時學生感覺枯燥無味,學習積極性不高,同時有畏難情緒。
2)單片機的學習需要理論和實踐相結合,而目前蘭州工業學院的單片機教學則是實踐環節和理論教學環節相脫節。蘭州工業學院的單片機原理及應用這門課程的教學主要包括課堂理論教學環節、課外實驗環節、課程設計環節和實訓環節。理論教學主要介紹單片機硬件結構、軟件指令編程、硬件資源的使用以及和外圍接口芯片的應用等,實驗是在實驗室利用實驗箱所提供的硬件資源來設計能完成一定功能的程序或驗證一些程序的運行結果,課程設計和實訓等環節又在課程結束后進行。由于學生在理論教學時只聽到教師在講解每段程序,不能及時觀察到程序運行的結果,很難理解和掌握;而做實驗時,只是按部就班,也談不上靈活應用,致使學生容易對該課程學習缺乏興趣。
3)由于受到硬件資源的限制,學生動手訓練太少。單片機的課程設計和實訓等環節是對所學知識的一次系統綜合應用,但是由于受硬件資源的限制,學生在課程設計時所設計的硬件電路有些不能在實訓環節實現,設計的程序不能觀察到運行的結果,學生容易失去繼續學習的興趣。
為增強單片機課程的教學效果,在單片機課程教學中,結合重點、難點,適當將Proteus仿真技術引入課堂。Proteus仿真技術可動態實時模擬程序在硬件元器件(如顯示、按鍵、電機等)運行的狀態和結果,有利于形象化教學,吸引學生的學習興趣,增強教學效果;有利于開闊學生的視野,讓學生了解單片機的發展和新技術的應用;有利于培養學生的編程能力和仿真實驗能力,建立科學的分析設計理念;有利于提高學生的科學探索能力和自主創新能力。同時,以往在實驗室進行的單片機的實踐環節,如單片機實驗、課程設計和實訓,都可以在Proteus軟件中進行仿真。Proteus就相當于一個可以移動的、功能非常強大的單片機實驗室,給學生提供了自主學習和創新的平臺。
2 Proteus簡介及特點
Proteus軟件是由英國Labcenter公司開發的世界上著名的EDA工具(仿真軟件)。Proteus從原理圖分布、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現從概念到產品的完整設計,是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺[1]。它運行于Windows操作系統上,具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統的仿真等功能,目前支持的單片機類型有MCS-51系列、DSP
系列、Arm系列等[2]。Proteus軟件有以下特點。
1)具有強大的原理圖繪制功能:Proteus自帶35 000多種電子元器件,并且提供總線器件和總線布線,方便使用者繪圖。
2)具有完善的電路仿真功能:Proteus可提供常見的激勵源,如直流信號、脈沖信號、正弦信號、分段線性脈沖、音頻等,并可以設定和改變性能參數;可提供多種儀器儀表的仿真,在虛擬面板上進行參數調節,如交直流電壓/電流表、示波器、邏輯分析儀、信號發生器等。
3)單片機協同仿真功能:Proteus支持主流單片機系統的仿真,包括68000系列、8051系列、AVR系列、PIC系列、ARM系列等;支持字符LCD模塊、圖形LCD模塊、LED點陣、LED七段顯示模塊、鍵盤/按鍵等通用外設模型[3]。
4)提供軟件調試功能:Proteus軟件可對8051、PIC、AVR等單片機進行匯編語言調試,同時支持Keil等第三方的軟件編譯和調試。
5)強大的PCB設計平臺:Proteus具有PCB的自動布局/布線功能和原理圖到PCB的自動轉換,為電路的硬件實現提供方便,并支持多種輸出格式。
3 Proteus仿真在單片機原理及應用課程教學中的應用
在單片機原理及應用課程教學中,LED數碼管的動態顯示技術在課堂講授時,因為學生沒有感性認識,教師的各種理論分析使學生感到煩躁,失去興趣。如果利用仿真電路來展示程序在單步執行和全速執行時LED數碼管所顯示的狀態,將有助于激發學生的興趣并加深理解。下面以LED數碼管的動態顯示技術為例,說明Proteus仿真技術在課堂教學中的應用。
運行Proteus的ISIS程序,進入仿真軟件的主界面,點擊Library選擇Pick Device/Symbol以打開元件庫,將電路所需的元件添加到對象選擇器窗口,在圖形編輯窗口將各個元器件按設計原理圖放置并連線。利用Keil編譯器或文本文檔編寫相應程序,生成.ASM文件,在主菜單欄點擊source菜單,選擇Add,添加源程序.ASM文件,再選擇Builled All進行編譯,編譯無誤后生成.hex文件,并加載到51芯片中。最后點擊菜單Debug→Execute或按Play鍵進行電路仿真。LED數碼管的動態顯示原理圖及仿真結果如圖1所示[4]。
在本例中,將要顯示的數據的顯示碼從P0口送出,位選信號從P2.0—P2.3送出,教學中先讓學生觀察全速執行和單步執行時的顯示結果,再結合程序進行單步演示,并引導學生實時觀察P0寄存器(80H)和P2寄存器(A0H)的值,如圖2所示。此時P0寄存器或P0寄存器物理地址80H的值均為2的共陰極字形碼值5BH,P2寄存器或P2寄存器物理地址A0H的值均為FDH,目的是使P2.1引腳輸出為0,其余位為1,從而使2能在指定位點亮。通過觀察,使學生看到段選碼信號和位選碼信號的配合輸出,有了感性認識,同時增加了學生對動態顯示的程序的理解,活躍了課堂氣氛,激發了學生學習興趣,達到事半功倍的效果。
4 結束語
教學實踐證明,將仿真軟件引入單片機的課堂教學中,可以把抽象的理論知識通過仿真實驗形象化,使學生對單片機的學習從不愿學、學不懂到喜歡學、容易學。同時,Proteus軟件中有很多實際中不易接觸到的儀器,可以很方便地從軟件中選用,不受硬件資源的限制,能夠增強課堂教學的直觀性和生動性,加深學生對概念、原理、編程思路的理解,激發學生的學習興趣和積極性,從而提高教學質量,增強教學效果。
參考文獻
[1]張文梅,黃曉紅,崔楠.仿真技術在電類課程實踐教學中的應用[J].廣東農工商職業技術學院學報,2013(2):42-46.
[2]喬建華,李臨生,田啟川.Proteus在單片機教學中的應用分析[J].電氣電子教學學報,2008(3):70-73.
[3]董紅生,秦雯,劉青,等.Proteus虛擬仿真在單片機綜合實踐教學中的應用探討[J].中國現代教育裝備,2015(2):152-154.
[4]朱一綸.智能儀表基礎[M].北京:電子工業出版社,2012.