李 萍
浙江水利水電學院,浙江 杭州 310018
單片機以高性能、高速度、體積小、價格低廉、可重復編程和功能擴展等優(yōu)點,廣泛的應用在各個領域里,單片機技術已經成為許多高職高專院校機電類專業(yè)學生必須掌握的一門重要技術。但單片機課程往往由于內容抽象、邏輯性強、與其他課程關聯度大,按傳統(tǒng)的“原理講解+實驗+期終考試”模式進行教學,學生學習興趣不高,信心不足,教學過程極易陷入難教、難學的境地并形成惡性循環(huán)。
針對目前單片機應用技術課程教學中普遍存在的問題和不足,結合多年的教學經驗,我們提出基PROTEUS和C語言的“項目驅動法”的單片機課程一體化教學新思路,以期為單片機課程教學的改革提供參考。
傳統(tǒng)的單片機教學模式以“知識為本位”,強調以教材為中心、以教師為中心、以課堂為中心,教學上注重知識的系統(tǒng)性與邏輯性,但卻忽視了對學生能力和創(chuàng)造性的培養(yǎng),收效甚微。
“項目驅動法”教學設計∶以應用為主線,按單片機技術典型項目對教學內容進行整合形成“教、學、做”為一體的教學模式;運用項目進行教學設計,采用模塊化結構,每個模塊由一個或幾個項目組成;采用C語言編程,結合KeilC51仿真軟件、Proteus仿真軟件和單片機開發(fā)板實物進行課堂教學。教學設計過程為:教師首先對自行開發(fā)的單片機典型項目進行分析, 使用自行開發(fā)教學課件演示教學內容,接著進行知識點講解,然后是學生進行硬軟件仿真設計和調試,最后在單片機開發(fā)板上進行實物調試。
高職高專的單片機課程要求學生掌握單片機的基本概念、常用設計軟件、 單片機程序設計、單片機的定時/計數器、單片機中斷以及常用接口等知識。本課程根據單片機應用技術所要求的各個知識與技能模塊,精心設計選用18個典型的教學項目,如表1所示,在每個具體項目中穿插相關的教學知識點。如在單片機設計入門模塊中,通過“1個發(fā)光二極管的閃爍控制”項目的實施,來引出相關的知識點,包括單片機的組成、單片機的最小系統(tǒng),以及單片機的外部引腳,內部結構和存儲器的應用。又如,在單片機定時/計數器控制模塊中,通過 “時間間隔為1S的流水燈控制”項目的實施,引出相關的定時器結構工作方式設定、初始值設定等基本知識點和技能;再通過“簡易秒表控制”項目的來進一步熟悉單片機定時器結構、初值設定等基本應用方法和基本技能。
表1 單片機項目教學法的知識能力模塊與具體項目
下面通過簡易密碼鎖設計項目來分析項目的具體教學實施,單片機課程中的其他項目與之基本相同。
(1)項目目標
對具有4個按鍵輸入和1個數碼管顯示的簡易密碼鎖的設計與制作,理解C語言的中數組的基本概念和使用方法;初步了解單片機鍵盤和LED數碼管的接口電路設計及編程方法。
(2)項目要求
在一些智能門控管理系統(tǒng)中,需要輸入正確的密碼才能開鎖,基于單片機控制的密碼鎖硬件電路包括三部分:按鍵,鍵盤顯示和電控驅動電路。
簡易密碼鎖基本功能如下:AT89C51為控制器4個按鍵,分別代表數字0、1、2、3;密碼在程序中事先設定,為0~3之間的數;數碼管顯示“-”,表示密碼輸入;密碼輸入正確時顯示字符‘P’3秒,并通過P3.0口將鎖打開;否則顯示字符”E“3秒,并保持鎖定狀態(tài)。
(3)項目硬件分析與設計
硬件分析與設計:用1位數碼管作為顯示器件,顯示密碼鎖的狀態(tài)信息,數碼管采用靜態(tài)連接方式;4個按鍵接到P0口的低4位P0.0~P0.3,設P0.0接通數字“0”按鍵,……;鎖的開關用P3.0控制一個發(fā)光二極管代替,發(fā)光二極管點亮表示開鎖,熄滅表示鎖定。
以下為采用Proteus硬件仿真得出的電路圖如下圖1所示:
圖1 簡易密碼鎖的Proteus仿真電路
(4)項目的軟件分析與設計
程序設計思路:主程序主要負責按鍵輸入,密碼比較判斷與顯示處理,設定初始密碼關閉,顯示符號為“-”,當按下數字按鍵之后,若與預先設定密碼相同則顯示“P”,打開后3S后恢復鎖定狀態(tài),等待下一次密碼輸入;否則顯示“E”持續(xù)3S,保持鎖定狀態(tài)并等待下一次密碼輸入。設LED采用共陽極顯示方式,預先設定密碼值是“2”。具體的主程序流程圖和具體程序此處略,給出Keil C51集成環(huán)境的程序編輯界面如圖2所示。
圖2 Keil C51環(huán)境下的程序界面
(5)相關知識的介紹和學習
在硬件分析中,介紹與項目硬件相關的數碼管靜態(tài)顯示接口電路的知識;同時在程序分析小結中引出C語言中數組的基本概念。
(6) 實物裝配調試
在Keil C51集成開發(fā)環(huán)境中生成的目標代碼文件(后綴名為.hex,)通過單片機STC燒錄軟件,將其下載到實驗開發(fā)板的單片機ROM中進行實物調試,并驗證Proteus仿真調試的正確性。
(7)項目總結
讓學生和老分別針對項目師進行小結:在該項目設計中,再次對單片機的鍵盤和數碼管顯示接口電路、 程序流程圖及C語言中的數組相關知識以課件形式進行簡單總結,同時強調本項目的學習重點和難點。
將Proteus和C語言結合進行的單片機項目驅動教學法,使抽象的理論變成仿真的模型實現,學生的學習興趣被激活,學生的知識應用水平和實踐動手能力得到很大的提高,同時也提升了學生職業(yè)的核心競爭能力。此外,通過讓學生在課余設計與制作一些典型的單片機產品,如電子單片機電子鐘、數字電壓表、交通燈控制器等,以及參加各種電子設計比賽等活動,進一步提升部分優(yōu)秀學生的單片機實際應用能力和技術。
[1] 王靜霞.單片機應用技術(C語言版)[M].北京:電子工業(yè)出版社,2010.
[2] 彭偉.單片機C語言程序設計實訓100例-基于8051+Proteus仿真[M].北京:電子工業(yè)出版社,2009.
[3] Proteus在單片機教學中的應用分析[J].電氣電子教學學報,2008.30(6)∶71-73
[4] 彭小峰,雷李.基于Proteus和Keil 的整合構建單片機虛擬實驗室[j].重慶工學院學報,2007,21(4):67-68