一、引言
“單片機原理”是我院機電一體化、通信技術、機械自動化等專業在大二開設的一門專業必修課。該課程要求學生掌握必要的計算機語言編程方法,同時又要有較強的實踐動手能力,對大部分高職學生來說學好該課程是有難度的。本人認為其中最重要的原因在于兩點:一是沒興趣,缺乏學習動力。二是基礎較差。以我院13通信技術專業學生為例,學生入學高考成績如表一所示:
表一學生入學高考成績調查(滿分750分,總人數46人)總成績1 200分以下1200分―250分1 251分―350分1 350分以上人數1 2人1 10人1 26人1 8人可見:350分以上學生只有8人,大部分200多分。如果我們上課大講、特講編程語言,單片機硬件結構。勢必讓學生云里霧里、不知所云。因此,如何更好地培養技能型、應用型人才,很多高職院校都做了許多有益的探索。單片機原理2013年在我院被評為省級精品課程。本人作為主講教師,在教學方法上做了許多摸索,與同行們探討。
二、上課簡明扼要,注意激發學生興趣
為了使同學們對單片機的應用有一個總的認識,在教學上首先演示了一個實例, 如表二所示:
表二廣告燈演示實例實例名稱1 廣告燈演示模塊教學步驟11、在Proteus下畫一個廣告燈仿真電路圖。2、編寫廣告燈顯示軟件。3、將可執行文件(廣告燈.hex)其裝入AT89C51(一種目前流行的單片機芯片)。4、仿真運行,觀察廣告燈亮滅的效果。5、分組討論。1、廣告燈仿真電路圖如圖一所示:
圖一廣告燈電路圖在Proteus下設計步驟如下:
⑴、啟動Proteus并在元件庫中選擇元件
⑵、畫上電源和地、復位電路、時鐘電路。(這是單片機工作的三要素)
⑶、保存電路圖文件。
2、 “編寫廣告燈顯示軟件”這一過程不是學生馬上能掌握的,需要較多的單片機知識,但這沒關系,畢竟學生剛開始學,關鍵是吸引同學的眼球。
3、 演示結束后,給學生提出問題:若要得到其他的廣告燈圖案(如表三所示),又要如何畫流程圖?讓學生分組討論。
表三實現花樣亮燈數據表序號1 D1 1 D21 D31 數據 圖案1 1 滅 1 滅 1 滅107H 圖案21 亮 1 亮1 亮 1 00H 圖案31 亮 1 滅1 滅1 01H 圖案41 滅 1 亮 1 滅1 02H 圖案51 滅 1 滅 1 亮1 04H4、這種開門見山式的教學方法的好處是:⑴、Proteus是目前流行的多功能軟、硬件仿真軟件。實現了虛擬具體電路功能,避免了由于同學們由于對電子電路不熟悉所帶來的不適應。(像機電一體化專業大二時對集成塊等電子元件了解的還不多,要組裝一個單片機應用電路來驗證還有困難,容易產生畏難情緒。)⑵、使同學們一開始就對所學的單片機原理課程有一個大致的印象,知道自己以后要去學什么。(盡管這個例子簡單,單片機在工業中的應用要復雜得多。)⑶、通過討論,極大提高了學生的學習熱情,使同學們充分參與到學習中來。
三、理實一體化教學,教學任務項目化
在教學過程中,為了充分體現理實一體化教學思想,將單片機的教學任務分解設計在五個項目中完成。如表四所示。
表四項目1教學內容項目一
簡單的單片
機系統設計1任務一:簡單的單片機系統設計1單片機電路組成,內部結構等。任務二:Proteus仿真軟件使用1熟悉用PROTUES仿真軟件設計仿真電路的方法并現場設計制作。任務三:Keil C51的使用1Keil C51的使用。項目二
廣告燈的
設計與制作1任務一:單只二極管閃爍1常用指令的功能、簡單程序的編制。任務二:實現不同圖案的二極管廣告燈閃爍1單片機程序設計順序結構、循環結構、分支結構、子程序。項目三
波形發生器的
設計與制作 1任務一:兩只二極管定時閃爍任務二:方波信號發生器11、 定時計數器的應用
2、 中斷系統的應用項目四
電子鐘及
鍵盤的設計
與制作1任務一:一位數碼管顯示數字1LED顯示器的結構及原理,LED顯示接口電路與編程。查表指令與查表程序。任務二:簡易電子鐘的實現1定時計數器、中斷系統在電子鐘項目中的應用。任務三:按鍵計數器的實現1按鍵消抖的設計,按鍵計數的設計項目五
單片機串行
通信的設計
與制作1任務一:
實現雙機相互傳輸數據的軟件設計1MCS-51單片機串行口的工作原理、編程方法。任務二:雙機接口電路的設計與制作1實現雙機通信的程序編制方法。任務三:綜合應用教學任務項目化最大的特點是將單片機的教學內容分別安排在不同的項目任務中來完成。使學生學習的目的性更強,興趣更高。但要注意以下幾點:
1、 學習理論知識一時跟不上。比如在一個項目中可能涉及到單片機的多方面知識,學生當時還沒學到,難以消化。比如在圖二的廣告燈顯示軟件流程中最佳的編程方法是采用循環結構編寫。但條件轉移指令學生還沒學到,為便于理解,采用順序結構來編寫程序。等后面學到轉移指令時,再采用循環結構編寫程序。同學們一下就理解了,且深深體會到循環結構的好處。
2、在進行項目制作時,要求每位學生都要參與其中。比如程序調試、電路測試、萬用表使用,甚至小到元件的識別,焊接的方法,都要求學生一一過關。為此,構建好的考核評價體系也是非常重要的。學生課程學習成績包括三部分:平時表現、項目測試和期末考試。平時考核由上課的課堂反應、課堂考勤、作業成績組成,占總成10%;項目測試占總成績60%,主要根據學生的制作產品,通過提問來測試學生掌握和應用單片機的能力;期末考試成績占總成績的20%。期末考試是筆試,通常采用開卷的方式。學生可以查閱資料,主要考核學生單片機綜合應用的掌握情況。
四、計算機語言編程方法的教學
對于我院理工科的學生,大一就已經學習了C語言課程,因此在教學過程中,本人主要考慮匯編語言的特點,將單片機C語言結合進來(但仍以匯編語言的教學為主),使學生認識到兩種語言在編程時達到的目的是一樣的,但在具體處理上不同:匯編語言針對的是單片機的每一個單元部件,實時性強。而單片機C語言則由C編譯器(如Keil C51)來完成這些工作,大大提高了編程效率。匯編語言的教學要注意以下幾點:
1、 根據助記符的特點來記住指令。如:數據傳送指令MOV來自英文單詞MOVE,移動的意思,在單片機指令系統中表示數據傳送。其他指令也有類似的特點。
2、 注意掌握順序結構、分支結構、循環結構編寫程序的特點。熟悉一些常用子程序的編寫:如延時程序、代碼轉換程序、算數運算程序、數據處理程序的編寫。
五、結語
以上是本人在單片機教學實踐中的一些做法,教學能否成功的關鍵是因人施教。在對我院13通信技術專業學生的教學效果調查中,學生普遍反映教學情境的設計使得他們的學習態度發生了積極的變化,取得了較好的教學效果。
參考文獻:
[1]候玉寶等.基于Proteus的51系列單片機設計與仿真.電子工業出版社,2010.
[2]曹天漢.單片機原理與接口技術.電子工業出版社,2009.
[3]王會霞等.教育技術基礎.科學出版社,2009.
本文系江西省教育廳省級教改課題“基于Proteus的高職單片機課程理實一體化教學的開發與應用”(課題編號:JXJG-14-70-4)的階段性成果。