劉巖

【摘 要】本文從單片機課程傳統教學方法中存在的主要問題入手,結合該課程的特點,采用了任務驅動的教學方法,并將Proteus和Keil51軟件仿真引入其中。在提高學生學習單片機興趣的同時,也培養了學生的創新意識和團隊精神,取得良好的教學效果。
【關鍵詞】單片機;任務驅動;Keil51;Proteus
《單片機原理及應用》是機電一體化專業核心專業課之一,發展迅速更新快、應用面廣。學好用好單片機,也是提升就業競爭能力的一個重要措施。但是傳統的單片機教學,均是先講單片機的硬件結構之后講指令及編程,最后再講一些實例。按照此種教學結構,學生普遍感到難學。而且單片機是一門很注重動手的課程,單片機的指令和程序需要在實踐中加以驗證和鞏固。根據上述問題,我以任務驅動法為主以其他教學方法為輔進行單片機教學,取得了較好的教學效果。
1 任務驅動法教學的前期準備
對于任何一門課程,入門都非常關鍵,如果讓學生一開始就感覺很難,那大多數學生就會望而卻步了。如何有效的調動起學生學習的積極性至關重要。因此,我安排了兩個任務,首先講解單片機的應用,得出結論“單片機已滲透進我們生活中的每一個角落”,激發學生學習興趣。其次讓學生了解單片機的基本結構、匯編語言軟件使用等。接下來我們通過蜂鳴器的單片機控制這個任務的學習,引導學生學會如何利用單片機完成一個任務。由于該電路簡單,學生容易理解,大部分學生都完成了任務,取得了成功,成功的經驗為學生建立起了單片機應用的框架。走出了“不知廬山真面貌”的困惑,樹立起了“一覽眾山小”的自信。
2 任務驅動法在單片機教學中應用實例
在學生了解了單片機的基本結構和應用后,就可以采用任務驅動法教學了。它是以完成一個個具體的任務為線索,把教學內容巧妙地隱含在任務之中。教師的教學與學生的學習都是圍繞著任務來完成的。任務提出后,學生知道做什么,自然會思考如何做,聽課時有的放矢,學習的主動性大大提高。共分為“引入、分析、實施、檢查、總結評估”5個步驟。
1)引入:創建與學習主題和實際相關的情景(夜晚置身街頭,各式彩燈把我們帶入美輪美奐的世界,究竟是什么“魔力”使彩燈變換出多樣的顯示效果?)使學生帶著問題聽課。同時通過實驗箱演示各種流水燈的效果,激發學生的學習興趣。
2)分析:首先提出要求“利用單片機P1口控制8位流水燈”,在教師的引導下學生逐步分析如何去完成任務。任務的實質是每經過固定的時間將P1口的狀態依次循環左移或右移,任務的重點是時間的控制,這部分功能可由延時程序來完成。之后教師開始講解硬件電路設計及循環程序設計相關知識點,重點講解延時子程序的編寫及延時時間的確定。任務分析可培養學生的發散性思維,培養學生分析問題及發現問題的能力。
3)實施:由于單片機學時的限制,每個項目都讓學生做出實物不太現實,那么在進行完任務分析之后,就可以利用現有的編程軟件Keil51及仿真軟件Proteus兩者相結合進行實驗驗證。這種方法可充分利用學校計算機房的現有設備,減少了實驗設備的硬件維護工作量。把學生分成若干組,每組選一名組長。每名同學都需要在仿真軟件中完成硬件電路設計和程序的編寫與仿真調試。此時應該充分調動起各組組長及已經完成項目的同學,讓他們幫助解決,必要時教師給予提示和鼓勵。這樣不但可以促進小組成員間的情感交流,還可以促進合作能力的提高。對于學習較好的同學可以引導其探討更多的彩燈變換效果。對于學習吃力的同學進行單獨輔導,力求每名同學都能夠完成任務。下面詳細說明這兩個軟件的操作。
(1)硬件電路設計:Proteus是一種電子設計自動化軟件,可以仿真常用的MCU和所有的外設。學生在Proteus軟件上完成硬件電路設計。打開Proteus軟件,繪制如圖1所示的8位流水燈的單片機控制硬件電路圖。單片機常用的元器件的名稱應該讓學生記下來,以后的學習中還會用到。(2)控制程序編寫:完成硬件電路的設計之后就可以進行控制程序編寫,Keil51是一款基于51單片機的軟件開發工具,它支持多種語言編程。打開Keil51軟件,新建一個工程項目文件,命名為Lsd,并為工程選擇目標器件,選擇Atmel的AT89C51芯片。接著創建一個源程序文件起名為main2.asm并輸入如圖1的源程序代碼,寫完程序后將該源程序文件添加到當前的工程項目文件Lsd中,并為工程項目設置軟硬件調試環境,一定要為目標設置選項,點輸出選項卡,在產生HEX文件前打勾,并起名為lsdsc,源程序文件經過編譯、建立目標文件lsdsc.hex,若程序沒有提示錯誤就可以進入調試環節。(3)程序的仿真與調試:將lsdsc.hex文件加載到Proteus的單片機中并運行,使學生在沒有單片機硬件實驗箱的情況下也可直觀地看到仿真結果,一目了然,增強了教學的生動性和直觀性。
4)檢查:學生完成任務后,按照任務要求自行檢查是否符合要求,并分析故障現象以及解決辦法。要鼓勵學生勇于提出疑問、大膽猜想與探索。通過完成任務,不僅學到了知識、還提高了學生解決問題的能力以及團結協作等關鍵能力。
5)總結評估:學生操作演示,教師根據學生的表現以及完成任務的情況,按照(硬件電路設計20%、控制程序編寫60%、6S管理20%)給出學生分數,作為學生一個任務的成績,這部分成績占期末成績40%;平時成績占30%(包括出勤、紀律、作業等);階段性測驗占30%。由此可見,對于學生的考核,既包括了專業知識的考核,也包含了方法能力的考核。這種考核注重實踐與理論的結合、結果與過程的結合。最后教師做出總體評價,并總結學生做的過程中出現的成功與不足之處,并在技巧及知識的拓展方面加以總結。這個過程可以開拓學生視野和思路,擴展學生的知識面。
3 任務驅動法下的實訓
由于實驗課時有限,授課過程無法做出實際的產品。課程實訓剛好彌補實驗課的不足。我選擇了《位流水燈的單片機控制》和《1位數碼管顯示控制》這兩個項目。參照企業工作的程序,把全班分成若干組,幾個學生合成一個項目組,共同完成一個課題,從工作任務的提出—硬件電路設計—程序設計及仿真—焊接調試電路板—編譯下載燒錄程序—運行觀察—修改程序等幾個環節,要讓每名學生都參與其中,使學生真實體驗到完成一個單片機項目的全過程。經過兩周單片機實訓,每組都完成了一個電路板。最后把每組的電路板運行起來并進行照相和錄像,使學生對單片機系統有了進一步的認識;培養了學生的實際動手能力、溝通協作能力和創新意識。同時學生做的電路板可以在以后的教學中作為教具使用。
綜上所述,任務驅動教學法始終把學生作為學習的主體。以任務作為驅動,讓學生通過自己的操作并利用Proteus和Keil51軟件,把書上死的理論變成活的應用,提高了學生學習單片機的興趣和積極性,促進了學生創新意識的培養。因此,在我院單片機教學中實施任務驅動教學法并結合軟件仿真等教學方法,能夠大大提高教學效果。
【參考文獻】
[1]董曉慶.單片機教學應注重培養學生動手能力[J].高校理科研究,2010(14).
[2]劉國光.任務驅動法在單片機教學中的應用[J].黃石理工學院,2005(4).
[3]朱翔.單片機課程教學改革探索[J].讀與寫雜志,2010(3).
[責任編輯:楊玉潔]