摘要針對高等院校《單片機原理及應用》的教學現狀,從教學內容,教學手段和模式以及教學方法等方面分析現狀,提出有效可行的改革方案,以實現培養學生應用能力和實踐能力的目標。
關鍵詞單片機教學 應用能力 實踐能力 教學改革
中圖分類號:G420文獻標識碼:A
目前在許多高校里,《單片機原理及應用》這門課程是應用電子、計算機、自動化甚至機電一體化等專業學生的必修課,尤其從學生就業方面來考慮,由于單片機是一門實踐性很強的課程,因此對學生的應用能力和實踐能力的培養是必要的。筆者結合多年單片機教學的實際情況和學生平時上課的表現以及考試的結果,仔細分析學生的反饋意見,發現目前的單片機教學當中存在著諸多問題和不足亟待解決和改革。為了保證教學質量和教學效果,讓學生畢業后能夠盡快適應工作崗位,基于應用能力和實踐能力培養的教學改革勢在必行。
1 明確教學目標,合理組織教學內容
目前有些高校開設本課程的目標并不明確。目標不明確主要表現在三個方面:一是“為什么要學?”,二是“學什么?”,三是“如何學?”。教學目標不僅要讓學生在他的求職簡歷中反映這門課程的成績,而且要使學生在招聘企業的有關單片機的軟硬件設計的筆試或面試中,能夠反映學生的應用能力和實踐能力。考慮到單片機的概念多、專有名詞多、內容抽象、編程語言指令多、綜合性強和解決實際問題的能力強等特點,在教學時數的限制下對于單片機的教學內容的選擇和組織至關重要。
目前《單片機原理及應用》的教學內容分為理論教學和實踐教學兩部分,理論教學內容主要包括:單片機硬件結構,匯編語言指令系統和程序設計,系統擴展, 接口技術及應用系統設計;實踐教學主要包括實驗和課程設計。
長期以來,單片機的教學都是以匯編語言為主,而匯編語言的學習和單片機抽象的內部硬件結構密切相關,其程序涉及到存儲器、寄存器、狀態標志等,使學生在學習的過程中難閱讀、難理解、難編程,容易感覺枯燥乏味從而失去了學習的激情和興趣,致使教學質量和效果都不盡人意。而C語言是一種結構化的高級語言,它具有豐富的庫函數,可以減少大量的代碼編寫負擔,可以輕松實現復雜的數值計算。同時,C語言較匯編語言有可讀性、可維護性好,便于維護、調試以及移植容易等優點,越來越多的單片機編程人員轉向使用C語言開發程序。另外,一般學生在學習單片機之前剛剛學習過標準C語言,而且單片機的C語言KEIL C的大部分和標準C是一樣的,這樣有利于學生在短期內掌握單片機的C語言編程。
在實踐教學中,由于Proteus具有強大的仿真功能以及原理圖和PCB設計能力,而且可以與Keil C整合構建完整的實驗開發平臺,①完全可以替代硬件電路相對固定的實驗箱或實驗臺,讓學生進行豐富靈活的實踐。使用Proteus進行實踐教學既可以激發學生的學習興趣,又能鍛煉學生的動手能力,培養學生從原理圖制作,程序開發,仿真驗證和測試以及PCB制作等一系列的全面且完備的能力。另一方面,學校實驗室引入Proteus,可以減少大量由于實驗設備的損壞和維護帶來的資金投入。因此,在單片機的教學中引入單片機C語言開發工具Keil C51和仿真工具Proteus的相關內容,增加一些具體應用實例的教學和實踐,以培養學生單片機的應用能力和實踐能力為目標,將有助于提高單片機教學的質量和教學效果。
2 充分利用現有優勢資源,改革教學手段,構建新的教學模式
目前大多數院校的單片機教學手段都是以板書講授為主,缺乏生動、直觀的一些輔助手段,實驗教學大多以單片機實驗箱或實驗臺為實驗平臺,而且實驗時間一般安排在“匯編指令系統”講完之后,理論學習和實驗進行時間的不對應,無法實現課堂上理論教學和實驗室的實踐相聯系。另外實驗的內容也多為驗證性實驗,很少進行開放性和設計性的實驗,導致學生過度追求實驗結果,而忽略了軟硬件設計和調試等過程,單片機的應用能力、開發技巧得不到很好的鍛煉。因此,在教學手段方面引入多媒體教學,在單片機C語言開發工具Keil C51和仿真工具Proteus的平臺支持下,②先利用Proteus可以快速地完成元器件的放置和原理圖的設計,然后在Keil C51開發環境下編寫程序,把源程序編譯連接后,學生可從窗口中清楚地看到程序每條指令的地址、機器碼和源代碼。而且還可以通過單步運行,還可看到單片機內部特殊功能寄存器的變化。這樣不僅可以幫助學生比較直觀地學習單片機的內部硬件結構,而且容易理解堆棧、定時器、中斷向量、中斷調用等抽象的概念。在Keil C51下生成一個可運行的目標文件(如HEX文件),再添加到Proteus的平臺下就可以進行系統仿真了。Proteus所進行的是一種交互式仿真,在仿真進行中可以對各控制按鈕和按鍵等進行操作,系統實時地輸出對輸入的響應。這樣在課堂教學中配合多媒體手段,可以節約大量的繪圖時間,而且可快速靈活地修改硬件設計和軟件編程,實現不同功能的應用設計。
利用多媒體不僅可以增加知識的傳授量,使教學更直觀,教學內容更加豐富多彩、形象、生動,而且可以激發學生的學習興趣,促進學生對知識的理解和應用。這樣實驗教學可以和理論教學同步進行,在教室中教師利用仿真軟件和學生一起做驗證性實驗,③課下讓學生提前在Keil C51和仿真工具Proteus的平臺下做設計性、動手性實驗,最后到實驗室進行驗證和實踐,這樣就可增強他們自主分析問題和解決問題的能力。課程學完之后通過單片機課程設計這一實踐環節,使學生從單片機的選型、外圍接口電路設計、編程及調試等各環節進行一次系統的綜合訓練,例如電子鐘、步進電機控制器、單片機交通燈控制器等的軟、硬件設計,使學生具有單片機應用系統的初步設計能力。
在教學手段方面,采用板書和多媒體相結合進行直觀教學以及學生通過實驗室實踐操作外,還應充分發揮校園網、Internet在教學中的作用。教師可以引導學生學會查閱、消化和運用一些網絡資源,如廠家提供的芯片技術資料、單片機論壇和教學網站里面大量的設計案例、技術文章和單片機軟硬件資源,為自己進行單片機軟硬件設計打下良好基礎。
3 綜合運用多種教學方法,提高教學質量和效果
在單片機的教學中根據不同的教學對象和教學內容采用不同的教學方法,如演示法、實物法、互動法、類比法、啟發法、討論法、任務驅動法等,可以起到事半功倍的教學效果。上單片機第一堂課,教師可以帶一個單片機實驗板的實物到教室,為學生演示一個單片機控制的“走馬燈”實例,其它上課時間也可以根據需要通過實物或多媒體向學生演示單片機的工作過程,這不僅可以有效激發學生學習單片機的興趣,而且使學生對單片機及外圍電路有一個感性認識,為其逐步學會應用單片機進行軟硬件設計打下一定的基礎。講課過程中要有師生間的交流互動,鼓勵學生質疑,并為學生提供自由提問、質疑、探究、討論問題的機會,讓學生通過個人、小組、集體等多種形式解難釋疑。作為教師,要密切注意學生在教學活動中的表現,適當適時啟發學生思考,充分挖掘不同層次學生的潛力,這是取得良好教學效果的保證。另外,對重點概念卻比較抽象的知識可采用類比法進行教學。比如中斷、定時器溢出概念,可分別用接電話和鬧鐘等生活中的事例來類比講解,有助于學生理解和掌握這些難懂的概念。當學生對單片片機的應用有了初步了解后,可以針對某個知識塊采用任務驅動法對學生提出具體的設計要求,比如對并行I/O口的使用這部分內容,可以給出這樣一個任務,單片機的P1口連接8個按鍵,P0口通過上拉電阻接8個發光二極管,編程實現按下某個按鍵對應發光二極管亮的程序。運行成功后可以改變硬件連接,比如斷開上拉電阻,觀察運行結果;或者改變P1口為P2口,如何修改程序等,通過對任務的實現過程,可以達到對并行I/O口的靈活使用。
4 結束語
本文基于學生單片機應用能力和實踐能力的培養,從教學內容、教學手段、教學模式和教學方法等多方面提出了單片機改革的必要性和具體措施,在單片機的教學中引入單片機C語言開發工具Keil C51和仿真工具Proteus,在實際教學過程中取得良好的教學效果,值得其他院校借鑒。
注釋
①房惠龍.基于Proteus的單片機實驗平臺的創建[J].常州:常州信息職業技術學院學報,2007(6).
②林志琦等.基于Proteus的單片機可視化軟硬件仿真[M].北京:北京航空航天大學出版社,2006.
③張玉均.基于Proteus的單片機實踐教學研究與探討[J].太原:太原城市職業技術學院學報,2007(76).