[摘 要] 對中職學生參加單片機技能大賽的備賽給出了具體可行的策略和方法 ,對中職學生在單片機應用方面快速入門與提高有一定的借鑒價值。
[關 鍵 詞] 中職;計算機;技能大賽
[中圖分類號] G712 [文獻標志碼] A [文章編號] 2096-0603(2016)32-0056-01
單片機(MCU)在智能控制領域應用很廣。國家、省、市職業院校都設有該項目的技能大賽。怎樣使基礎薄弱的中職學生通過備賽快速入門與提高?具體策略如下。
一、選擇合適的實訓設備
各級技能大賽均采用YL-236單片機實訓臺。該實訓臺包含電源、主機、顯示、電機、AD與DA等若干模塊。我們根據任務書的需要選擇相應的模塊,各模塊之間用導線連接,就可構成實現任務書要求的硬件系統。所以一定要選擇與技能大賽一致的設備。
二、選擇編程語言
單片機語言主要有匯編語言和C語言等。匯編語言要求編程者對寄存器的地址非常清楚,指令較多,中職學生很難入門。而C語言靈活、編程思路符合人們的思維習慣,很容易模塊化編程,程序的可移植性強,可供參考的程序示例也很多,所以要采用C語言編程。編程環境一般都采用傳統的 KeiluVision4或其他版本或者亞龍的MedWinV3。
三、循序漸進做好入門三步
(一)做好第一個C51工程(點亮一個LED)——感受入門的氣息
通過點亮一個LED來使學生學會“了解單片機的I/O口→搭建硬件電路啟動keil→uvision 4→ 設置→keil uvision4→建工程→命名→保存建.c文件→命名→將.c文件添加到工程中去→輸入用‘位操作’點亮一個LED的程序代碼(注:代碼只有幾行,不要求學生理解代碼的含義,只要求知道一個C51工程的基本結構)→編譯→燒寫程序到單片機→觀察效果→在此基礎上,再講解代碼的含義”。
第一個C51工程很簡單,但也很關鍵。做好了第一個C51工程,可以使學生掌握開發一個工程的基本步驟,激發學生的好奇心,并增強信心。
鞏固及提高:指導學生做好“操作單個端口(位操作)”同時點亮任意多個燈的實驗,再講清10進制、16進制、二進制數的含義和相互轉換的方法(簡便方法是利用電腦上的計算器),然后指導學生用做“操作一組端口(即字節操作)”同時點亮多個燈的實驗。這時學生就能感受到好像已站在“入門的門檻上”了。
(二)讓燈眨眨眼——一只腳邁進單片機的大門
給學生講清一個帶參數的延時函數,學生就能夠在第一個工程的基礎上使燈周期性地不斷點亮、熄滅。
鞏固及提高:學生獨立完成多個LED的亮、滅閃爍實驗,可以用位操作或字節操作。
(三)學會花樣流水燈——真正入門
該實驗可以把C51語言的基本知識——常量、變量、數據類型、運算符及優先級、語法、語句等全部用到,還可以用到單片機的定時器,學會配置寄存器的基本方法。
注意:這一部分一定要采用有針對性的即學即用的方法。也就是將C51的知識分解成若干個小模塊,每講一個小模塊,就要指導學生用該模塊的知識完成一個流水燈的任務,這樣,學生容易掌握,能夠及時看到成果,體會到成功的喜悅。具體做法是:
1.先讓學生分別用位操作、字節操作實現流水燈,進行復習、鞏固。
2.學習運算符后,用移位運算符實現流水燈。
3.學習庫函數后,用循環移位庫函數實現流水燈。
4.學習if語句、swtich...case語句后,分別用該語句實現流水燈。
5.學習數組后,用數組實現流水燈。學習指針后,用指針實現流水燈。
鞏固及提高:指導學生完成數碼管的靜態顯示和動態顯示。動態顯示有一定的難度,教師可以講解典型范例,使學生理解,然后改變端口和接線、改變顯示內容,讓學生獨立完成。
四、掌握各模塊的使用方法
在入門的基礎上,學習其他各模塊的使用方法,掌握對單片機的常用外圍器件(如按鍵、液晶屏、溫度傳感器、電機、AD/DA等)進行編程,對外圍器件的應用可總結成相應的精典例程,對這些例程可以記住,在應用中直接套用,這樣可以提高速度。
五、綜合實訓——實質性提高
將實訓臺上的各模塊進行組合,可模擬設計很多家電產品(如微波爐、全自動洗衣機、智能豆漿機)、機電產品(自動點焊機、熱工件處理)、工廠的生產線(如物料運輸生產線)、管理系統(蔬菜大棚施工管理)的開發(硬件搭建和軟件編程),很容易激發學生的學習欲望,使學生的綜合編程能力得到提升。
完成綜合性項目的關鍵是:首先認真閱讀項目任務書,搞清楚工作過程,以及工作過程中的各個關鍵時刻(狀態),并用標志變量賦不同的值(如x=1;x=2;)或者給不同的標志變量賦一個值(如a=1;b=1;)表示這些關鍵狀態。這樣有利于編程時對這些關鍵時刻(狀態)的表述,有利于各子程序之間的聯系,有利于快速找到編程思路。
當學生受挫時,教師要及時啟發或者提供思路。當學生做過幾個綜合項目后,可進行按競賽的要求進行模擬訓練和評分,總結經驗、教訓。