趙來定 白曉東
摘要:探討了單片機原理及應用課程的教學體系,對當前該門課程存在的問題進行了分析,提出了教學中可將傳統的單片機與現代功能強大的單片機相結合;匯編語言的學習有助于培養學生的高效率編程能力和故障分析能力;可通過工程演示加實驗教學的方式,合理安排課堂教學內容。通過這些方式,激發學生對這門課程的學習興趣。
關鍵詞:單片機;興趣引導;學習規劃
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2019)30-0129-02
一、引言
現代大學教育中,許多大學將單片機原理及應用作為專業基礎課,教學課時一般安排為32學時。本門課的學習意義在于工程開發應用,但32課時無法去安排一個完整的理論加工程實踐的教學。近些年來,有的文獻指出采用立體化教學的方法[1-2],有的文獻提出采用實踐引導教學興趣的方法[3-4],有的文獻提出了單片機模塊化課程的教學設計思想[5],但這些方法仍是割裂了理論與實踐的教學,學生對教學內容的誤區仍然存在,教學方法不被接受,教學效果仍較差。筆者從事單片機教學及科研工作多年,針對單片機的課堂教學摸索,提出了改進的方法。經教學實踐證明,這些方法是行之有效的。
二、單片機課程教學的現狀
傳統的課堂教學偏重于純理論的講解,以前未接觸過單片機的學生在開始學習后,會覺得內容較難,很快會失去學習興趣。參加過電子設計實踐的一些同學,他們總以為單片機的硬件電路在網上有參照,軟件代碼只是對網上的C語言代碼資源略有改動即可,沒有認識到工程實踐是比較復雜的,對單片機的認識較片面。傳統的8051單片機教材因發展較全面、芯片內資源及管腳簡單而在課堂教學上被廣泛使用。但目前涌現了許多新型的單片機,這些單片機一般內部資源豐富,外部接口較多,如課堂教學主講這些單片機,因內容較多較復雜,故教學課時無法滿足要求。單片機教學主講匯編語言,匯編語言可讀性及可移植性較差,編程極易出錯。怎樣激發學生去學習和應用,也是本課程的課堂教學需要考慮的。
三、單片機課程教學的改革
本節主要講述了在教學中,對上一節提出的關于單片機課程的一些問題進行改革,使得教學內容符合實際教學的要求。
1.課程的認識引導。單片機的硬件設計是在了解芯片內的資源及外圍特性的基礎上進行的。一個好的單片機電路設計師,會根據不同的工程應用場景,選擇不同類型的單片機,設計的電路應該集成度高、體積小、功耗低、性能穩定,絕不是濫用和抄襲網上的硬件電路。
單片機的軟件設計是建立在個性化的硬件電路基礎上的。程序必須根據硬件電路的連線確定外圍芯片的訪問地址、訪問方式、操作時序等。此外,程序的安排不應該是簡單的代碼的堆積,應分清優先順序,應該是高效率地執行完成系統要求的功能。
本課程的教學初期,筆者首先引導學生正確認識這門課程,這樣能極大地提高學生的學習興趣。
2.課程內容的選擇。8051系列單片機出現早、發展成熟、可靠性高、不易損壞,故而在教學及實驗中被廣泛使用。另外,8051系列單片機教材對單片機的工作原理闡述較清晰,片內資源及結構描述較詳細,對于單片機初學者來說易于接受。以往的課堂教學初期,總有學生提出,應該在課堂教學中主講一些功能強大更先進的單片機。但如果課堂教學主講這些單片機,因內容較多較復雜,且目前尚沒有一本完整且闡述清晰的教材可以使用,故教學課時也無法滿足講解要求。筆者在教學過程中,仍以講解8051系列單片機為主,但不局限于課本,在課堂教學中適當地插入了一些如MSP430系列、C8051系列、STM32系列等單片機的知識,講解了它們的性能特點,并與經典的8051單片機進行了比較,以此來引導學生的學習興趣。
3.程序代碼的學習規劃。單片機的匯編語言程序可讀性差,而C語言可讀性強、網上資源多、移植性較好,故而學生更容易接受。許多同學在低年級時為參加電子競賽等活動,為快速應用單片機,均采用C語言編程的方式,在他們的認識中,單片機的C語言編程是最佳的唯一的選擇,他們的片面認識會影響周圍的同學。筆者在課堂講解前期,首先講解了C語言是一種通用性的語言,可以將其看作一個容器,為了減少描述性,讓其適應性較強、無所不能,這個容器就會很大。C語言經單片機的編譯工具編譯后,最終還是變成了匯編語言,但一條C語言的語句可能會變成幾條至幾十條匯編語句。筆者課堂上演示了一條關于浮點運算的C語言語句,將其編譯后,運算仿真顯示其運行時間會很長。
匯編語言的編程是使用者根據工程應用場景來進行的,編程者了解匯編語句的數據格式及輸入輸出,故而匯編語言的執行時間及耗費的存儲資源均會較少。雖然匯編語言可讀性差,但可以通過多加注釋的方式來解決。單片機C語言編程另一大缺陷是編譯器造成的。筆者從事單片機的開發工作多年,有時會發現C語言描述正確,但最終處理結果不正確。遇到這種情況,只有分析C語言所變成的匯編代碼,才能找出原因。由此可見,能讀懂匯編語言,這也是解決工程實際問題的需要。綜上所述,筆者提倡學生在單片機編程中,采用C語言為主、匯編為輔來進行。由本規劃可讓學生懂得匯編語言學習的必要性,以避免學生產生排斥和畏難的心理。
4.實踐環節的安排。單片機原理及應用課程偏重于應用,培養體系一般包含理論教學、單片機軟件設計及仿真、單片機開發板的應用及編程等。課堂教學時應該向學生介紹該培養體系及實踐安排,讓學生了解單片機的理論課學習的效果會影響后繼課程的學習,懂得學好該門課的必要性。
單片機原理及應用課程的理論教學一般包含幾個學時的實驗教學,但實驗教學時間較少,如實驗任務較難將會使學生產生畏難心理,故而實驗教學只能安排編寫和調試一些簡單的程序。在課堂上,可以用演示的方式介紹筆者所編寫的一些程序,以作為課堂教學的補充。這樣,課堂理論教學也能緊密聯系實際。
四、結束語
本文著重研究了單片機原理及應用課程的教學體系,課堂上只有通過合理取舍和安排各方面的教學內容,精心布置講解次序,這樣,才能激發學生的學習興趣。
參考文獻:
[1]趙忠華,王靜,楊曉梅.單片機課程的立體化教學模式研究[J].學園:學者的精神家園,2016,(2):59-60.
[2]蘇智華,李敏,劉穎.單片機課程立體輔學教學研究[J].電子測試,2014,(12x):157-158.
[3]張子紅,劉鑫.基于Proteus的單片機課程教學改革[J].單片機與嵌入式系統應用,2010,10(11):15-18.
[4]許超,吳新杰,張丹.基于Proteus和Keil的單片機課程教學改革[J].遼寧大學學報:自然科學版,2011,38(1):27-29.
[5]易禮智,龍曉慶,龔亮.《單片機應用技術》課程模塊化教學內容的探討[J].電腦知識與技術:學術交流,2012,(33):7953-7954.