朱文彬,王海燕
[摘 要] 單片機是自動化技術中一門專業課程。在智能化程度越來越高的今天,職業技術教育中,無論是電工還是電子專業,單片機技術課程已經不可缺少。對C語言課程教學改革的出發點、教學改革的目標與價值進行了思考闡述。
[關 鍵 詞] 單片機;C語言;課程改革
[中圖分類號] G712 [文獻標志碼] A [文章編號] 2096-0603(2018)06-0128-01
一、課程改革的出發點
單片機控制技術作為電類專業的專業核心課程,是學習者建立編程思維體系、進行電路維護設計開發的基礎,同時也是畢業設計的一個重要方向。但是在日常教學、技能競賽和課題開發過程中發現,現有的單片機教學存在很多的問題:
1.低級編程語言。一直以來,我們采用匯編語言進行單片機教學。匯編語言是計算機軟件開發語言中的低級語言,一共包含111條匯編語言指令,它的可編程性、可讀性、可移植性、靈活性都比較差,屬于入門級語言,在實際開發中很少使用。
2.教學方法比較傳統。在匯編語言教學過程中,按章節從基礎指令開始逐步講解,采用傳統的從低到高的教學方式。但在教學實際中我們發現,學習者往往學習后面的內容時就忘記了前面已學的內容。而且,由于匯編語言的單體指令數太多、語言格式較死,導致學習者在學習過程中很難做到活學活用、融會貫通。
3.教學內容單一。除了對匯編語言的指令系統進行介紹之外,就是進行單片機最小系統的簡單編程。對于片外硬件、液晶顯示、串行通訊等稍復雜的硬件應用涉及很少。這直接影響了學習者對單片機的認知程度。
二、單片機C語言編程的優勢
1.不需要掌握單片機的基本指令集,也能完美編寫單片機程序。
2.不懂單片機的具體硬件,也能編出符合硬件實際的程序。
3.數據實行覆蓋,有效利用片上有限的RAM空間。
4.C語言提供復雜的數據類型(數組、結構、聯合、枚舉、指針等),極大地增強了程序處理能力和靈活性。
5.提供auto、static等存儲類型和專門針對51單片機的data、idata、pdata、xdata、code等存儲類型,自動為變量合理地分配地址。
6.中斷服務程序的現場保護和恢復,中斷向量表的填寫,是直接與單片機相關的,都由C編譯器代辦。
7.提供常用的標準函數庫,以供用戶直接使用。
8.頭文件中定義宏、說明復雜數據類型和函數原型,有利于程序的移植和支持單片機的系列化產品的開發。
三、C語言課改目標與價值
(一)改革目標
有關C語言的書籍很多,但大多屬于以下兩種類型之一:
第一種是C語言類教材:側重于C語言語法、算法講解,知識的體系性非常完整,但學習起來比較枯燥、難度大,相應的學習者是C語言初學者,屬于計算機語言類教學。
第二種是單片機C程序應用型教材:這類教材分析電路組成、羅列相關C程序,但沒有介紹程序中所包含的語法知識、程序結構等內容,對應的學習者應當具備相當的C語言能力,屬于單片機專業類教學。
這兩種類型的教材沒有將C語言基礎講解、單片機C項目程序開發進行融合,沒有在進行單片機編程的同時講解語法知識,需要學習者同時進行兩本教材的學習。但是學習者,尤其是初學者往往在開始學習后并不能抓住重點,不知道如何有效地將兩種教材知識點相結合。所以,發展下去往往會出現兩種結
果:一種是只掌握了C語言的理論(側重學習了C語言教材);另一種只會照著單片機教材錄入程序,對程序本身的含義、語法一無所知或是一知半解。這樣對學習者來說不僅浪費了寶貴的時間和精力,而且單片機C語言編程的知識也沒有學到。
所以想辦法將C語言語法和單片機程序進行有機結合,將兩者的知識點以學習任務為載體由淺入深、循序漸進地展現給學習者是本次課程改革的主要目標。
(二)教學價值
打破固有語言教學體系:將C的語言類教學與單片機程序編寫融合,以項目教學模式,圍繞所編寫單片機程序,以“需要哪些知識點、就講解哪些知識”為原則開展C語言教學,讓學習者邊寫程序、邊學語法,邊調試、邊看現象。以此來激發和提高學習者學習單片機和C語言的興趣。
與技能大賽相融合:將多年來參加技能大賽所積累的單片
機編程方面的案例與單片機C語言教學相結合。
(三)配套硬件電路
為了讓學習者更好地體驗單片機C語言的開發過程,我們
專門設計了相應的單片機開發板。開發板含有十多種功能電路,
可獨立實現簡單功能程序設計,也可組合實現綜合性較強的綜
合控制功能設計。具有較強的可擴展性:電路板上預留了大量的擴展口,可實現單片機功能擴展設計,也可進行多塊板之間的通訊研究,能成為學習者的創新平臺。可使用多種MCU芯片:設計的開發板可以分別使用ATMEL、STC和AVR系列的8位機芯片。
參考文獻:
[1]譚浩強.C程序設計[M].第4版.清華大學出版社,2010.
[2]戴佳,戴衛恒.51單片機C語言應用程序設計實例精講[M].電子工業出版社,2008.
[3]李廣弟,朱月秀,王秀山.單片機基礎(修訂本)[M].北京航天航空出版社,2005.