耿文靜+吳華
【摘 要】針對應用型本科院校的特性,結合本人13年的教學經驗,從編程語言和理實一體化、模塊化教學兩個方面介紹《單片機原理及應用》課程的教學方法。
【關鍵詞】單片機;C語言;模塊化教學;理實一體化教學
0 引言
《單片機原理及應用》課程是機械制造及其自動化、電氣自動化、車輛工程等工科類本科專業的專業必修類課程,由于單片機的應用在智能控制領域起著舉足重輕的作用,越來越多的專業將《單片機原理及應用》課程定為專業必修課。對于應用型本科院校來說,《單片機原理及應用》的教學方法必然和普通本科院校有所不同,更需要注重課程的應用性和實用性。作為一名工作在應用型本科院校的一線教師,我講授《單片機原理及應用》課程已達13年之久,從中也摸索出了一些自己的方法和技巧,現從編程語言和理實一體化、模塊化教學的兩個方面做一下總結,供諸位同行批評指正。
1 編程語言的變革
首先我對授課時采用的單片機編程語言進行了變革。大部分高等院校的《單片機原理及應用》課程的教材都是采用的傳統的匯編語言進行編程。事實上工業應用中主要是應用C語言進行編程,除非在個別的要求時序的情況下才采用匯編語言編程。因此大部分企業招聘單片機工程師,必要條件之一就是會用C語言進行編程。對于我們的學生來說,學習是為了就業,應該為他們將來的求職提供最大的便利。況且他們在大學一年級的時候都已經學習過《C語言程序設計》這門課程,再切入單片機C語言非常的方便,降低了學習難度。所以近幾年我都采用了C語言進行教學。學生畢業后進入單片機這個行業之后,對單片機的了解更深入了,需要的時候再自學匯編語言就容易了很多。
2 理實一體化、模塊化教學的應用
傳統的教學按照單片機匯編語言的語法進行授課。數據傳輸指令、控制轉移指令、子程序調用指令、位操作指令……一個個語法講過去,最后再綜合應用。通常到了最后學生已經把之前的知識忘得差不多了,相當于重學一遍,老師和學生都辛苦。而且學完之后,學生達不到企業對學生動手能力的要求,學生沒有辦法利用學過的知識直接就業。摸索幾年之后,我采用了模塊化教學,每一模塊的每一節課都采用了理實一體化教學。每個模塊在教學上從易到難、循序漸進安排內容,先通過一個簡單的設計實例講授設備工作原理、電路構成、元件選擇,再講如何根據電路編程。然后直接上機調試程序、用開發板燒寫芯片,驗證效果。學生理解后,提高難度讓學生自己思考,完成從電路設計到程序編寫到上機調試燒寫聯調的全部過程。每次課都是先講授相關知識點再讓學生親自動手練,讓學生每節課都學有所得。相比于枯燥的理論教學,學生每節課都親自動手動腦看到實際的學習成果,而且整個模塊循序漸進,難度逐漸增加,一步步自己完成挑戰讓學生非常的有成就感,非常樂于學習。而每節課學生的表現,將作為平時成績記錄下來,占到總成績的50%。這樣也大大提高了學生的重視程度,能夠更主動投入到學習中來。
我把《單片機原理及應用》課程分為了8大模塊,下面逐一進行介紹。
2.1 基礎知識
包括進制和數的表示法、單片機最小系統、存儲器等幾個內容,花費6課時左右的時間把這些基礎知識灌輸給學生。這部分內容理論性較強、比較枯燥,對于剛剛接觸計算機、單片機的同學們來說有點困難。我總結了一些助記口訣和公式幫助學生掌握。比如記接口的時候,我編了順口溜:“奇左偶右,小上大下,占四個角,P3少三腳。只有P0順序反。”學生幾分鐘就記住了各個端口的位置以及每個管腳的名稱,增強了學生們學習的自信心。
2.2 顯示設備
我把所有常用的顯示類設備都放到這一模塊學習,包括發光二極管、LED數碼管、點陣顯示器、LCD液晶顯示器。這一部分我先從一個發光管的點亮講起,然后是閃爍,再流水燈,再霹靂燈,再一個數碼管的點亮、數碼管的動態掃描顯示、點陣顯示、點陣滾動顯示、LCD1602顯示、彩色液晶顯示器,內容既有銜接,又逐漸加深難度,引導學生獨立一步步去完成每節課的任務。結合實際生活中的顯示器的應用,學生們很感興趣,學習效果很好。
2.3 輸入設備
這一模塊我設置了按鈕、鍵盤、溫度傳感器、紅外接收器等設備。同時引入了中斷的概念和應用。結合上一模塊,先實現按鈕控制的發光二極管、數碼管、LCD的控制,再實現溫度傳感器的溫度顯示(各種不同顯示器的顯示),再實現紅外遙控顯示(各種不同顯示器的顯示),同樣從易到難,讓學生一步步加深理解和應用,達到能夠自己設計實現的水平。
2.4 聲音的產生
這一模塊我介紹了聲音的產生原理,引入了定時器的知識點。先學習用喇叭產生音樂,再進行電子琴的設計,也是從易到難,先設計獨立式鍵盤電子琴再設計陣列式鍵盤電子琴。學生可以自由發揮,加上其他功能,比如音階顯示、彩燈等。
2.5 電機控制
這一部分我設置了直流電機的PWM調速控制、步進電機的控制、舵機的控制等內容。也是先講授設備的工作原理,只有讓學生理解了設備的工作原理才能更好的掌握它的控制方法。然后再讓學生自己設計電路、編程、調試最終完成我每節課的布置的任務。
2.6 擴展
這一部分涉及接口和存儲器的擴展。包括鎖存器芯片、模/數轉換器芯片、數/模轉換器芯片以及一些RAM和ROM存儲器芯片的應用。讓學生掌握將單片機芯片和其他芯片之間接口的連接、對外接芯片的編址等知識點,提高學生芯片擴展的能力。
2.7 通信
現在的智能設備上通常不僅僅只有一片單片機,同一設備的單片機和單片機之間往往需要網絡通信,而且好多設備還需要單片機和計算機之間進行通信。這一模塊就專門介紹單片機和單片機以及計算機和單片機之間的通信,讓學生掌握基本的單片機通信的技能。
2.8 競賽
這一模塊我引入了尋跡車和飛思卡爾的比賽,先進行課內競賽,再選出優秀的參加市賽、國賽。以賽促學是非常好的應用型本科院校提高學生學習興趣的方法。
3 結語
采用C語言教學、理實一體化模塊式教學,充分調動學生的自主性和積極性,讓學生學到的不僅是知識還有技能,這種教學模式能夠將課堂所學和企業需求完美結合,能夠讓畢業后的學生快速投入工作崗位,是一種非常好的教學方法。當然,如果同時加入protel和proteus兩個軟件的學習就更好了。由于課時關系,這兩個軟件我沒有在課堂上講,但是在授課過程中我會體現這兩種軟件的作用和用法,督促參加競賽的學生課下自學這兩個軟件,這樣就和企業接軌的更加緊密了。
【參考文獻】
[1]張義和.例說51單片機(C語言版)人民郵電出版社.
[2]譚浩強.C程序設計,清華大學出版社.
[3]馮文旭.單片機原理及應用,機械工業出版社.
[責任編輯:朱麗娜]