糾智先
(武漢輕工大學電氣與電子工程學院,湖北 武漢430023)
隨著微電子技術和計算機技術的飛速發展,單片機的應用已經滲透到人類生活的各個方面。無論是尖端科技,如軍事、通信、能源、機器人、交通、IT,還是現代工業、農業、儀器儀表、汽車電子系統、家用電器、玩具及個人信息終端等各個領域,都離不開單片機,成為了電子系統智能化的最普遍的應用手段。因此“單片機原理及應用”課程也成為各高校工科專業的一門重要專業基礎必修課程。其目的是培養這類學生掌握單片機的結構、原理等硬件特性及匯編語言、指令,并做到兩者融會貫通。通過對單片機理論、系統設計方法的學習,增強工程應用實踐能力,培養學生分析問題和解決問題的能力。
目前培養適應新世紀社會發展需要的高素質創新人才,已成為高等教育發展的重要趨勢。作為高校工科專業的基礎必修課,單片機教學就必須以提高學生的動手能力和創新能力為核心目的。單片機課程是一門理論性、技術性和實踐性都很強的課程,對學生提出了比較高的要求,不僅要能夠融合電子電路、微型原理及程序設計等相關知識,還要具有實際動手能力。因此,如何通過理論和實驗教學使得學生更快的掌握單片機;如何通過改善單片機的理論和實驗教學的內容和方法,充分調動學生學習的積極性,進一步發揮他們的主觀能動性和創造性,這成為了任課老師思考的重點。
傳統的單片機教法,總是先將單片機的基本內部結構和工作原理講完,然后學生開始做實驗。在學理論知識時沒有相應的實踐配合,使學生產生枯燥無味感,加上單片機這門課程比較抽象,學生在剛開始接觸的時候很難入門。任課老師深感教學難度大,學生普遍覺得此課程難以理解,學完后,印象不深刻,不能舉一反三,過后遺忘。學生的學習興趣隨著課程的枯燥也隨之遞減。出現上述問題的主要原因在于該課程抽象復雜,具有軟、硬件相結合的特點,而且實驗學時偏少等原因,學生學完后,不具備靈活應用所學知識的能力,學生單片機綜合實踐技能的能力很難提高。
那么,改變現狀的方法僅有改變原有的教學模式和方法,變抽象為形象、化復雜為直觀。
單片機技能培訓是在系統學習單片機課程之前指導學生了解單片機的基本知識和應用,提高學生對該課程的認識,培養學生對該課程的興趣,并且在有限的一個半星期的集中培訓時間里通過老師的講解、演示和指導,使得學生對單片機有一定的主觀、直觀認識和實踐動手機會,能對單片機的基本指令、編程、調試和應用有一定的掌握,這將為學生今后系統學習單片機課程奠定了基礎,也將使得單片機學習不再枯燥無味。
實驗室配備的單片機軟件開發平臺是Keil uVision。Keil uVision開發平臺由于支持C語言開發、提供良好的集成環境、支持廠商眾多等因素得到了廣泛的應用,成為時下開發單片機應用系統的有力工具。在教學內容上,除講解單片機匯編語言的基本知識,還應該以Keil uVision為開發平臺,講解C51的開發流程。讓學生既掌握匯編指令,又熟悉C51的開發方式,今后在面對實際系統時,能夠做到發揮兩者各自的優勢,高效地完成開發過程。這對今后學生學習該課程及其他相關知識打下基礎。
另外,老師對單片機實驗板的演示讓學生對單片機的應用有一定主觀和直觀認識,激發學生的學習興趣,促進學生對知識的渴望。例如:實驗室里AT89S5x單片機試驗開發板設計了LED循環燈、數碼管、單脈沖發生器等實驗,學生通過自己的動手操作這些實驗項目,初學者很快被其吸引,使得學生對單片機的認識從無到有,從好奇到學習,從學習到掌握,在學生的腦子里迅速形成概念,這樣學生的積極主動性加強了。一旦學生的學習積極主動性被調動起來,那么在下面的學習中將是帶著問題和興趣積極的投身于此。
單片機技能培訓對老師而言具有一定的挑戰性,這不僅要求老師對單片機的知識和應用了如指掌,對知識融會貫通,而且要求老師在有限的較短時間內達到培訓目的。那么在單片機技能培訓的教學方法上就應該大做文章,在培訓期間不是單一的理論或者實驗教學,而是兩者合二為一,只有這樣才能達到更好效果。
2.2.1 理論和實驗教學有機結合
單片機課程本身是一門很有趣的課程,有很多東西都與實際生活相關,很容易激發學生的學習興趣。那么怎樣做才能使得在很短的時間內讓學生有所了解并且掌握相關基本知識?這就需要老師在講一些比較抽象的知識時,能通俗易懂,多舉例說明,通過Keil uVision開發平臺的功能把知識點串起來,那么學生理解起來會更容易些。比如說,對于片內RAM和片外RAM數據傳遞,這需要不同指令才能完成,例如:
MOV 34H,#30H
MOV A,34H
MOV@R1,#52H
MOVX@R1,A
指令執行的過程應該是將立即數30H傳送到片內RAM的34H地址單元內,通過累加器A和R1的間接尋址將數據30H傳送到片外RAM的52H單元中。結果為(A)=30H,(R1)=52H,片內RAM中的(34H)=30H,片外RAM中的(52H)=30H。
上述指令雖然很簡單,但是對于初學者來說,這將很容易出錯。如果老師僅僅就把指令講解完畢,舉兩個例子說明,這將是很枯燥無味的,雖然學生聽明白了為什么要這樣做,這樣做有什么樣的結果,但是還是一頭霧水,有點懵懵懂懂。但是,如果利用Keil uVision開發平臺的程序演示,學生就能有一個很清楚的認識,從片內的數據通過指令運行后傳送到了片外的具體的地址單元里,在相應的地址單元里學生會看到結果:(A)=30H,(R1)=52H,片內RAM中的(34H)=30H,片外RAM中的(52H)=30H,這樣直觀的接觸對理解起到很好的幫助,并且可以單步執行每條指令,學生會更清楚每條指令的實際意義和運行結果。而且老師可以在Keil uVision開發平臺演示寫指令的過程中說明注意事項,寫出錯誤指令后的應對方法等等具體細節,這對提高學生排除故障能力和開發創新能力有重要意義。那么學生有了具體操作和直觀認識后,對指令的學習和Keil uVision開發平臺的操作有了進一步具體的掌握。
在很短的時間內能對單片機有所了解和領悟,這對學生而言是一個不小的進步,也使得學生很有成就感,這就更加激發了他們的學習積極主動性和創新性,而不是僅僅局限于會分析看懂程序上,而是希望通過自己編程,達到成功。一旦自己編程調試成功,這種喜悅和成就感就不言而喻了,這也促使他們對學習新知識和掌握更多知識的渴望。當然在培訓期間,由于時間有限,不可能把所有的知識都面面俱到,那么感興趣的學生就可以自學相關內容,這不僅提高了學生的自學能力,也為他們接觸單片機和進一步了解提供了更長的時間,為今后的學習工作打下堅實的基礎。
2.2.2 引入競爭機制,分組比賽
單片機技能培訓雖然時間短,但是時間很集中,連續全天的上課對學生而言也是比較枯燥和乏味的。如何讓學生充分利用時間,調動學生的學習積極性,在每天的上課時間里有更多的收獲?我想引入競爭,把學生分組,通過比賽完成學習內容不失一個好方法。
把學生5-6人分為一組,每組一位組長,這樣就可以通過每組完成學習任務的先后順序給各組打分,結果將直接帶入最終成績,這對激發學生的學習積極性和發揚團隊精神起到很好作用。在授課過程中,講解到一定程度,老師布置給學生任務,在有限的時間內每組上交答案,具體事項由組長負責。由于學生的集體榮譽感很強,誰也不服輸,出現你追我趕的現象,整個課堂氣氛活躍,學生學習熱情高漲。在學生完成任務期間,老師可以誘導學生如何思考問題和解決問題,幫助他們避免不必要的錯誤,及時解答學生提出的問題,這樣學生在此期間既可以學習新知識又可以鞏固所學知識,同時,學生之間的交流也會讓學習變得生動起來。例如:用多種方法將片內RAM34H單元和36H單元中的內容互換。一般有四種方法:直接地址傳送法,間接地址傳送法,字節交換傳送法和堆棧傳送法。這個任務要求學生能正確應用所學指令,并且要靈活應用不同功能的指令。鼓勵學生相互之間討論,引發新的思維碰撞,一題多解,激發學生的創新意識。這在很大程度上對學生掌握知識和應用知識起到幫助,比老師在黑板上一直講效果要好得多,學生也樂意動腦筋,彼此之間相互討論研究,就連平時不愛學習的學生都變得積極愛學了。整體效果非常不錯。
2.2.3 充分利用多媒體和網絡
老師上課使用多媒體教學能讓學生更快掌握知識和軟件操作,內容更加直觀和形象,學生也更容易接受,不會覺得枯燥乏味。在學生完成任務期間,除了利用課本查找知識解決問題及老師的幫助外,當然也可以借助網絡的強大功能,有什么問題上網“搜”一下,這樣既可以解決問題,也讓學生更加開闊眼界,學習他人思考問題和解決問題的方法。通過一系列的學習過程,對學生而言將是受益無窮的。
針對單片機這門課程而言,學生在學習理論課程之前,能進行單片機技能培訓將是受益匪淺的。這不僅對學生全面認識單片機這門課程起到很好效果,對學生積極學習這門課程也起到不可或缺的作用。如果學期末對學生進行單片機技能培訓,下學期再開始學習這門理論課程將會出現更好效果。學生對單片機有些了解之后,假期可以對此相關知識進行進一步學習,為開學的理論課程學習打下更堅實基礎。老師在開學的理論課程的教授過程中對基礎知識和實際應用可以聯系得更緊密,在有限的理論學時里教授更多和實際應用緊密相關的知識,而學生聽課將不再是一頭霧水,對學生而言這門實際應用很強的課程是多么的有趣和實用。