方群霞
高職單片機C語言程序相當(dāng)于單片機的靈魂。沒有程序的單片機只是一架空殼。只有擁有了程序,單片機才能將控制的無限魅力散發(fā)出來。不論是單片機系統(tǒng)開發(fā)企業(yè)、單片機愛好者,還是單片機教學(xué),單片機程序設(shè)計都以C語言作為了主要開發(fā)工具。其因有三:(1)C語言作為一種高級的編程語言,更符合設(shè)計者的思維習(xí)慣。(2)使用C語言編程可以將設(shè)計者從單片機復(fù)雜的硬件結(jié)構(gòu)中解脫出來。(3)C語言更貼近職業(yè)環(huán)境。因此,單片機的C語言教學(xué)便成了單片機教學(xué)中一個至關(guān)重要的環(huán)節(jié)。
要想完成程序設(shè)計,需要穩(wěn)固的C語言基礎(chǔ)知識和靈活的邏輯思維。而穩(wěn)固的C語言基礎(chǔ)知識要依賴英語基礎(chǔ)。靈活的邏輯思維要有數(shù)學(xué)基礎(chǔ)。英語、數(shù)學(xué)恰恰是高職學(xué)生薄弱的地方。這給單片機的C語言教學(xué)帶來了不小的阻礙。那么,怎樣在薄弱英語和數(shù)學(xué)基礎(chǔ)上,提高單片C語言教學(xué)效果便值得研究和探討一番了。
一、學(xué)——軟、硬穿插
傳統(tǒng)的單片機C語言教學(xué)中,往往是先脫離單片機學(xué)習(xí)C語言程序設(shè)計。學(xué)生普遍反映該課程的語法知識較多,理解和記憶都不太容易,即使記住了語法知識也不能很好地利用C語言進(jìn)行單片機小型系統(tǒng)的開發(fā)。因此,我們以具體項目為基礎(chǔ)將C語言知識穿插在整個單片機硬件教學(xué)中。比如,講解完最小系統(tǒng)后,給學(xué)生一個項目《點亮LED燈》。之所以選擇這個項目是因為它簡單,上手快。它能讓學(xué)生帶著輕松的心情走入單片機應(yīng)用之門。利用此次設(shè)計主要是給學(xué)生灌輸C語言的基本結(jié)構(gòu),從而讓學(xué)生體會單片機的控制意義。之后可以在跑馬燈中穿插for語句知識;在按鍵設(shè)計可以講if、switch語句;在數(shù)碼管顯示中學(xué)會一維數(shù)組等。在軟硬件穿插學(xué)習(xí)過程中,教師應(yīng)選擇什么項目,項目中應(yīng)準(zhǔn)備哪些C語言知識,教師應(yīng)仔細(xì)考量。項目中包含的C語言知識不用面面俱到,應(yīng)以實用、夠用為度。
二、先讀后改——被動變主動
在學(xué)之后,學(xué)生有了單片機的應(yīng)用經(jīng)歷,也累積了的一些C語言知識。但是由于英語知識薄弱,C語言關(guān)鍵字、格式記不住。程序設(shè)計的邏輯思維累積不夠。學(xué)生獨立設(shè)計程序還沒辦法實施??偸且岳蠋熤v,學(xué)生做的模式上課,學(xué)生的積極性調(diào)動不起來。怎么將學(xué)生被動接受變成主動學(xué)習(xí)?
繼學(xué)之后,采用先讀后改的教學(xué)方式。讀——讀程序。發(fā)布設(shè)計項目后,由學(xué)生上網(wǎng)搜集參考程序,然后讀懂參考程序。以這樣的方式來完成項目,一來可以鍛煉學(xué)生信息收集,和信息篩選的能力,這也是我們希望學(xué)生能有擁有的一種能力。二來在讀程序的過程中可以強化在學(xué)的過程中建立起來的C語言知識的模糊記憶。三來在讀的過程可以學(xué)習(xí)一些新穎設(shè)計思路。這些設(shè)計思路不再拘泥于任課教師,可以激發(fā)學(xué)生程序設(shè)計的創(chuàng)新思維。
讀懂程序之后就可以進(jìn)行程序改造了。網(wǎng)上搜集的程序往往不完全符合自己的設(shè)計要求。這樣就要求學(xué)生在讀懂程序的基礎(chǔ)上,進(jìn)行二次改造,變成自己的成果。
能進(jìn)行程序二次改造也是一種程序設(shè)計技能。大多數(shù)學(xué)生今后從事單片機程序設(shè)計崗位,完成設(shè)計工作的方式也是搜集項目相關(guān)的程序,進(jìn)行二次改造。因此,單片機C語言教學(xué)中,通過改造程序來提高學(xué)生的程序設(shè)計能力,進(jìn)而提高學(xué)生單片機產(chǎn)品設(shè)計的職業(yè)能力。
endprint