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