周海兵
關鍵詞:圖形編程 ? 函數式編程 ? C代碼編程
單片機技術課程是一門理論與實踐相結合的、專業知識強的電子專業核心課程。根據大學學生調查反饋,學好單片機技術難度大。目前,許多中職學校的電類專業也開設單片機技術課程,根據筆者十幾年的中職學校單片機技術的教學總結,中職學生學習單片機技術難度更大。基于這種背景下,筆者通過十幾年的單片機技術教學中不斷探究、實踐,摸索出一種單片機技術教學新模式,這種教學模式下學生更好更容易地學習單片機技術。這種教學模式分成三個教學階段,第一階段是入門篇為圖形編程;第二階段是提高篇為函數式編程篇;第三階段是深入篇為C代碼編程篇。
一、第一階段是入門篇為圖形編程
這個階段適用于對編程零基礎的學生展開教學,通過這個階段的學習,使學生先建立編程思維,領悟數字電路的數字量輸入輸出的意義,了解單片機技術基本原理、應用及其單片機的外圍電路。這個階段采用圖形編程,圖形編程是采用圖形塊搭積木形式的編程,只要修改圖形塊里的參數,把圖形塊先后順序搭配起來形成一個圖形程序,再通過軟件編譯轉化,下載到單片機板子上運行,實現程序的功能,使實物有動作功能。這種圖形編程學習直觀、通俗易懂,適合入門者學習,建立入門者的編程思維,并且提高學習者學習興趣。現在介紹這種圖形編程的具體形式。圖1所示是一個發光二極管閃爍的圖形程序。程序有四個圖形塊順序搭建起來,第一個圖形塊單片機的數字管腳2輸出高電平,則LED亮;第二個圖形塊延時1000毫秒;第三個圖形塊單片機的數字管腳2輸出低電平,則LED滅;第四個圖形塊延時1000毫秒;這樣循環執行形成了LED閃爍的程序,非常易懂,初學者容易學會。
二、第二階段是提高篇為函數式編程篇
通過學習第一階段的圖形編程,具備了編程的基本思維,了解單片機的原理、應用及外圍電路。進入到第二階段提高篇,函數式編程的學習。函數式編程是采用函數代碼編程,軟件函數庫里已經存在各種功能的函數,編程者編程時只需調用函數,修改函數中的參數,再把各種函數通過C語言的程序結構,合理編排起來形成程序。軟件編譯轉化,下載到單片機板子上,實現程序功能。這個階段學習內容有各種函數的功能及參數的意義,C語言的三種基本程序結構及它們的語句使用和基本語法規則,單片機外圍電路的電路原理和單片機電路連接。有了第一階段圖形編程的基礎,第二階段函數代碼編程的學習難度大幅度降低。圖2所示,是一個LED發光二極管閃爍的函數式程序。程序中的pinMode(2,OUTPUT)函數是設置管腳為輸出模式; digitalWrite(2,HIGH)函數是設置管腳輸出高電平,則燈亮; digitalWrite(2,LOW)函數是設置管腳輸出低電平,則燈滅;delay(1000)是延時函數。
三、第三階段是深入篇為C代碼編程篇
通過前兩個階段的學習,學生掌握了基本編程的邏輯思維,C語言程序的基本結構和編程規則,對單片機的結構原理和外圍電路有了基礎掌握,進入到第三階段深入篇,C代碼編程篇的學習。C代碼編程篇是學習函數內的具體程序的編程,是單片機最底層的代碼編寫,也是編程最難的階段,除了C語言庫函數之外的所有函數內部都需編寫。圖3所示,一個LED發光二極管閃爍的C代碼程序,對應的硬件電路同圖1。Delay延時函數的內部循環程序都是編程者親自編寫的。但有了前面兩個階段的編程基礎,已有了編程的邏輯思維和單片機理論知識,函數內部的C代碼底層編程難度也大幅度降低。
綜上所述,單片機技術的教學分成三步曲,它們是循序漸進的,逐漸遞深的,這樣解決了原先學習單片機技術直接C語言編程的難度大,學生難學懂的問題。通過這樣三步曲的循序漸進的學習,學生更容易學會學懂單片機技術,學懂了會對單片機技術產生了興趣。
參考文獻:
[1]程晨.思齊實戰手Arduino圖形化編程指南[M].人民郵電出版社,2016.
[2]余靜.Arduino入門基礎教程[M].人民郵電出版社,2018.
[3]郭天祥.51單片機C語言教程[M].電子工業出版社,2009.
(作者單位:溫州技師學院)