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