基於電子設計的C語言單片機教學改革探究
教學園地
作者:楊光軍
【摘要】介紹了單片機在應用上的重要性,分析了現在單片機教學上的不足之處,提出了基於電子設計項目,應用C語言的單片機教學方式,應用與實際教學並取得了良好效果。
【關鍵詞】單片機;教學改革;項目
單片機技術是自動化領域一門應用非常廣泛的技術,它綜合了軟件編程和硬件電路設計等技術,技術含量比較高,是自動化專業學生必修的一門課程,是技術應用型人才培養的需要。現在單片機技術發展很快,然而如今很多高等院校的單片機課程教學沒有作出相應調整,導致學生的學習效果達不到要求。現在各大院校都提倡基於工作過程的新型教學方式,實踐已經證明這種方法是可行和先進的。現在各種大學生電子設計大賽每年有許多,這些比賽項目都是基於單片機來完成的,每個大賽都吸引非常多的學過單片機技術的大學生參與,這就給了學生一個主動學習和應用單片的機會。為了取得更好的學習和教學效果,滿足單片機企業用人要求和社會應用要求,應該對單片機課程教學進行實踐和授課方法改革。
1.單片機目前教學情況
“課堂授課講原理,中間穿插幾個硬件實驗”是現在大多數學校的教學方式。現在這種教學模式存在許多不足,學生學習沒興趣,不主動,仍是填鴨式教學,沒有給學生自己動腦,主動開發的訓練過程,不能培養學生整體設計和動手能力。
1.1 教學實驗設備單一
目前高校配備的實驗設備一般是綜合了十幾項實驗內容的實驗箱,學生可以通過實驗加深對理論知識的理解。但這類實驗箱最大的問題是無法提供高質量的動手環境,這些試驗箱都是根據實驗項目已經將硬件連接好了,學生隻需要根據要求簡單連線就可以使用,因此學生動腦和動手的機會非常少。由於線路已固定在實驗板上,學生不能自己的設計並改變線路,具有一定的局限性。
1.2 教學與實際應用不符
目前的教學方法基本都是以講授理論為主,使用的編程語言主要以彙編語言為主,但使用彙編語言有一些局限性,主要表現在[1]:編程效率低,學生學習難度大;語句抽象,可讀性差,學生難理解;代碼結構複雜,難以維護、更新;對硬件結構依賴較大,難以實現在不同種類和係列單片機之間移植。這些問題造成了教學效果不太理想,導致學習單片機的學生不少,但真正能動手實際操作的人卻非常少。
1.3 教學效果不理想
作為高校,尤其是地方本科院校,主要任務是為地方培養應用型人才,要求學生具有較強的實踐能力、一定的理論基礎和團隊協作精神。然而,傳統教學模式下,學生上課的大部分時間都在接受較為枯燥的理論知識,然而隻靠死記硬背是很難掌握單片機技術的。因此,傳統授課方式下學生學習效率特別低,甚至有的學生在學完單片機課程後,也不知道單片機到底有什麼用處,怎麼用。這是單片機課程當今所存在的另一大弊端。
2.單片機課程教學改革
2.1 以C語言作為主要編程語言
C語言作為一種結構化的程序設計語言,它是程序開發工具中使用最廣泛的一門編程語言,C語言具有很強的功能性、結構性、可移植性。與彙編語言相比,C語言具有以下特點:用C語言編寫程序比彙編語言更符合人們的思考習慣,有功能豐富的庫函數、運算速度快、編譯效率高,可讀性好,可移植性好。[2]
學習單片機技術這門課的自動化學生都在之前已經學習了C語言,因此,選用C語言作為單片機編程技術對於學生來說編程就變得輕鬆許多。更重要的是,單片機技術發展到現在,單片機相關行業的公司大部分采用C語言開發環境,因此,使用C語言作為單片機的編程語言也是為學生以後更好地就業打好基礎。
2.2 基於電子設計的C語言為主要編程語言的單片機技術教學改革方法
自動化專業單片機現在的授課方法大多是每章節都安排大量理論授課,在最後幾周安排大約4-6個相關實驗,在最後一周做一個課程設計。這種教學方法忽略了平時授課過程中訓練動手能力的環節。都是在講完了理論後再去動手做實驗。實踐證明這樣教學效果比較差,因為學生平時就沒有真正掌握單片機技術,最後做實驗也隻是模仿,而不是根據自己的理解主動開發,甚至有的學生根本就不知道要做什麼東西,怎麼做。這樣的結果不可能培養出學生較強的動手能力。