熊利平
摘 要: 本文分析了中職電子類專業(yè)“C語言程序設(shè)計(jì)”課程教學(xué)現(xiàn)狀,列舉了教學(xué)過程中遇到的問題。憑借本校的實(shí)際和教育特點(diǎn),使用亞龍YL-236單片機(jī)實(shí)驗(yàn)臺(tái)和MedWIn編程軟件替代Vc++環(huán)境的“C語言程序設(shè)計(jì)”教學(xué)理念,按照“項(xiàng)目引領(lǐng),任務(wù)驅(qū)動(dòng)”的課程教學(xué)模式,選取單片機(jī)項(xiàng)目,以實(shí)踐教學(xué)為主線構(gòu)建教學(xué)內(nèi)容,通過“案例—語法—編程”的規(guī)律組織教學(xué)步驟,從而在課程中體現(xiàn)動(dòng)手實(shí)踐、解決問題的教學(xué)導(dǎo)向,進(jìn)一步培養(yǎng)學(xué)生的素質(zhì)與能力。
關(guān)鍵詞: C語言 單片機(jī) 編程
1.中職C語言教學(xué)現(xiàn)狀
C語言是一門廣泛使用的計(jì)算機(jī)高級(jí)語言,中職電子類專業(yè)都開設(shè)了“C語言程序設(shè)計(jì)”課程,并為后續(xù)課程(如“單片機(jī)原理與應(yīng)用”、“單片機(jī)C語言”、“嵌入式系統(tǒng)”)做基礎(chǔ)性準(zhǔn)備。因此,對(duì)于電子類專業(yè)的學(xué)生來說,C語言是一門必須掌握的專業(yè)基礎(chǔ)課。但從多年的教學(xué)實(shí)踐來看,中職學(xué)生數(shù)學(xué)、英語底子弱,又是第一次接觸這種抽象類的編程課程,學(xué)習(xí)主動(dòng)性不強(qiáng),學(xué)習(xí)目的不明確。學(xué)生反映這門課枯燥難學(xué),大部分學(xué)生半個(gè)學(xué)期下來還沒入門,雖然有些同學(xué)能聽懂老師講的,但實(shí)際操作起來無從下手。為了激發(fā)學(xué)生學(xué)習(xí)C語言的興趣,提高編程能力,筆者結(jié)合“單片機(jī)”課程,進(jìn)行了一次教學(xué)改革嘗試。
2.C語言教學(xué)內(nèi)容改革
2.1原則:夠用就行,不必深究算法。
首先,職業(yè)學(xué)校的學(xué)生大部分是普通教育分流出來的,他們的智力并不差,在動(dòng)手能力等方面甚至有優(yōu)勢,但文化基礎(chǔ)知識(shí)相對(duì)薄弱,要求他們中的多數(shù)人掌握超出對(duì)應(yīng)的培養(yǎng)目標(biāo)所要求的文化知識(shí)是不現(xiàn)實(shí)的,所以只能遵循夠用原則。
其次,電子專業(yè)學(xué)生不同于計(jì)算機(jī)專業(yè)學(xué)生,注重實(shí)用,不探究為什么,筆者在教學(xué)中重視怎么用,用最簡單的算法,讓學(xué)生便于理解,做到會(huì)用,能顯示程序的基本功能效果,讓學(xué)生快速體驗(yàn)成功的樂趣。
2.2根據(jù)專業(yè)需要選擇教學(xué)內(nèi)容。
C語言作為電子專業(yè)的專業(yè)基礎(chǔ)課,照搬計(jì)算機(jī)專業(yè)的教學(xué)內(nèi)容是不切實(shí)際的,筆者根據(jù)多年的C語言和單片機(jī)教學(xué),了解哪些知識(shí)點(diǎn)特別重要必須掌握,哪些可以完全不涉及,對(duì)教學(xué)內(nèi)容進(jìn)行了大膽的調(diào)整,與單片機(jī)中c語言的實(shí)際編程相聯(lián)系。這樣可以抽出時(shí)間抓住重點(diǎn),提高教師教、學(xué)生學(xué)的效率。
為單片機(jī)服務(wù)的只需要學(xué)變量、表達(dá)式、if條件選擇、witch-case、for、while循環(huán)、函數(shù)數(shù)組那些結(jié)構(gòu)體、指針、各種排序算法等,就可以暫時(shí)舍棄,等到學(xué)生入門了,自己回去專研,在優(yōu)化液晶點(diǎn)陣字時(shí)候再學(xué),這時(shí)學(xué)習(xí)起來就不難了,可以達(dá)到事半功倍的效果。
2.3c語言和單片機(jī)結(jié)合教學(xué)。
一個(gè)知識(shí)點(diǎn)的C語言代碼在C語言編譯環(huán)境中運(yùn)行非??菰?,學(xué)生往往不知所言,實(shí)訓(xùn)環(huán)節(jié)將C語言和單片機(jī)結(jié)合后,有利于提高學(xué)生的興趣,把興趣放在首要環(huán)節(jié),讓學(xué)生親自動(dòng)手,體驗(yàn)編程的樂趣。我校單機(jī)實(shí)訓(xùn)室有30套亞龍YL-236單片機(jī)實(shí)驗(yàn)臺(tái),可以滿足一個(gè)班級(jí)上級(jí)練習(xí)的需要。由于學(xué)生沒接觸過單片機(jī),初期的連線需要花點(diǎn)時(shí)間讓學(xué)生熟悉,教室的投影直接顯示接線方法,在老師一一檢查接線后,在保證連線后,就可以實(shí)施實(shí)訓(xùn)環(huán)節(jié)的教學(xué)。
實(shí)訓(xùn)教學(xué)內(nèi)容與單片機(jī)項(xiàng)目,筆者簡單列出下面表格,教學(xué)內(nèi)容對(duì)應(yīng)在單片機(jī)中的項(xiàng)目,在項(xiàng)目中學(xué)生掌握C語言的各個(gè)知識(shí)點(diǎn)。
由于最簡單的單片機(jī)程序都會(huì)出現(xiàn)循環(huán)、函數(shù)等知識(shí),對(duì)于這些知識(shí),采用黑箱原理,即讓學(xué)生不用理會(huì)程序的意思,直接復(fù)制教師的代碼,集中精力研究教師要求的實(shí)訓(xùn)內(nèi)容。比如以下程序:
#include
voidmain(void)
{
P1=36/5; //求整數(shù)
while(1){//無限循環(huán)防止程序“跑飛”
}
}
通過這個(gè)程序,點(diǎn)亮led燈,本程序用于變量和表達(dá)式的學(xué)習(xí),關(guān)于頭文件,while(1)循環(huán)這兩個(gè)知識(shí)點(diǎn)學(xué)生不必深究。表達(dá)式獲得的值通過WedWin軟件編譯環(huán)境顯示變量的值和點(diǎn)亮的8個(gè)led燈亮滅組合成二進(jìn)制數(shù)。表達(dá)式的數(shù)值讓學(xué)生自由變換,列出自己表達(dá)式情況,完成實(shí)驗(yàn)報(bào)告,如下表格。
通過這個(gè)過程,電子電工專業(yè)學(xué)生一開始就把C語言、單片機(jī)、二進(jìn)制數(shù)有機(jī)集合在了一起,比單純的C語言的教學(xué)更加生動(dòng),趣味性更強(qiáng),實(shí)訓(xùn)結(jié)果直觀。同時(shí)在程序中簡單修改,可以讓8個(gè)led流水的動(dòng)起來,流動(dòng)的模式變幻無窮。
3.結(jié)語
將“C語言”與“單片機(jī)”相結(jié)合的教學(xué)方法是一個(gè)大膽的嘗試,目的是提高學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生C語言的邏輯思維能力和單片機(jī)的動(dòng)手能力。通過簡單的單片機(jī)應(yīng)用使學(xué)生產(chǎn)生成就,學(xué)生在兩方面的能力都得到了鍛煉。將兩門課程結(jié)合起來,不僅克服了厭學(xué)、機(jī)械學(xué)習(xí)的弊端,而且通過實(shí)際的操作,提高了學(xué)生們的動(dòng)手能力,為學(xué)生們進(jìn)一步深造或者進(jìn)入社會(huì)打下了堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1]蘇波,陶寧.“C語言”與“單片機(jī)”相結(jié)合的教學(xué)研究.光學(xué)技術(shù),2010(12):109-110.
[2]汪宋良.高職電子類“C語言程序設(shè)計(jì)”課程改革研究.職教通訊,2013(15):12-16.
[3]黃光華.電子信息工程專業(yè)C語言程序設(shè)計(jì)課程“四位一體”教學(xué)模式探索.才智,2011(35):250.
[4]郭天祥.新概念51單片機(jī)C語言教程:入門、提高、開發(fā)、拓展全攻略.北京:電子工業(yè)出版社,2009.