王艷艷 張榮國(guó) 羅曉鋒
(1.內(nèi)蒙古科技大學(xué) 礦業(yè)與煤炭學(xué)院,內(nèi)蒙古 包頭 014010;2.太原科技大學(xué) 計(jì)算機(jī)學(xué)院,山西 太原 030024)
隨著計(jì)算機(jī)技術(shù)普遍應(yīng)用于電氣工程領(lǐng)域,對(duì)學(xué)生進(jìn)行計(jì)算機(jī)技術(shù)基礎(chǔ)教育勢(shì)在必行,C語(yǔ)言集高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的優(yōu)點(diǎn)于一身,成為高校計(jì)算機(jī)技術(shù)基礎(chǔ)教學(xué)的首選必修課。受課程設(shè)置及學(xué)時(shí)的影響,目前,“C語(yǔ)言”是我院電氣類專業(yè)學(xué)生的必修課,其它專業(yè)的選修課,開設(shè)該課程旨在提高學(xué)生的邏輯思維能力和實(shí)際編程技能,為后繼的《單片機(jī)與接口技術(shù)》課程及其他程序設(shè)計(jì)課程的學(xué)習(xí)和應(yīng)用打下堅(jiān)實(shí)基礎(chǔ)。由于我院一直將煤炭、冶金作為主體專業(yè),面向科研、生產(chǎn)一線,服務(wù)于自治區(qū)的支柱產(chǎn)業(yè),為工礦企業(yè)培養(yǎng)大批急需的研究型及技術(shù)型人才,因此這門課程對(duì)我院的其它專業(yè),如機(jī)電一體化、機(jī)械制造與自動(dòng)化等具有同等意義。
“C語(yǔ)言”是電氣自動(dòng)化專業(yè)程序語(yǔ)言必修課程,“單片機(jī)”是一門應(yīng)用型課程,這兩門課程對(duì)電氣專業(yè)的大學(xué)生將來(lái)的發(fā)展起著舉足輕重的作用[1]。學(xué)習(xí)“C語(yǔ)言”是為能更好學(xué)習(xí) “單片機(jī)”;在單片機(jī)的學(xué)習(xí)過(guò)程中,又可以提升程序設(shè)計(jì)能力。因此這兩們課程的學(xué)習(xí)是相輔相成[2],但就目前的實(shí)際情況而言,兩門課程是完全割裂的,這是由于目前的教學(xué)現(xiàn)狀造成的。
多年來(lái),筆者一直承擔(dān)電氣專業(yè)“C語(yǔ)言”這門課的教學(xué)任務(wù),通過(guò)日常觀察及與學(xué)生的交流發(fā)現(xiàn),大部分學(xué)生反映上課時(shí)都能聽(tīng)懂,可動(dòng)手編寫程序時(shí)無(wú)從下手。存在的問(wèn)題主要有以下幾方面:
1)學(xué)生不知道為什么要學(xué)習(xí)“C語(yǔ)言”,學(xué)完后有什么用,因此對(duì)該課程沒(méi)有興趣。目前由于大學(xué)生自身能力水平的原因,對(duì)程序語(yǔ)言的學(xué)習(xí)容易產(chǎn)生枯燥難懂并且厭惡的情緒,他們認(rèn)為這門課就是介紹關(guān)于C語(yǔ)言本身的一些語(yǔ)法規(guī)則,只能輸出一些黑底白字的結(jié)果,對(duì)以后的學(xué)習(xí)、就業(yè)和發(fā)展沒(méi)有什么影響,所以學(xué)生不愿學(xué)。
2)C語(yǔ)言本身的特點(diǎn)增加了學(xué)習(xí)難度。C語(yǔ)言是學(xué)生接觸的第一門程序設(shè)計(jì)語(yǔ)言,具有數(shù)據(jù)類型和運(yùn)算符豐富、語(yǔ)法限制不嚴(yán)格、程序設(shè)計(jì)自由度大、可由用戶自定義數(shù)據(jù)類型等特點(diǎn)。這種課程內(nèi)容與專業(yè)其它課程內(nèi)容區(qū)別很大,且沒(méi)有先序課程起到承上的作用,因此對(duì)于初學(xué)者來(lái)說(shuō),會(huì)感到突兀,不易接受,因此也增加了學(xué)習(xí)難度。
3)學(xué)生不善于動(dòng)手,過(guò)分依賴課本和教師。C語(yǔ)言的實(shí)驗(yàn)教學(xué)往往采取學(xué)生模仿實(shí)驗(yàn)指導(dǎo)書的內(nèi)容進(jìn)行練習(xí),教師答疑輔導(dǎo)的形式。在調(diào)試程序的過(guò)程中,大部分同學(xué)看不懂給出的錯(cuò)誤信息,基本是靠教師指點(diǎn),學(xué)生過(guò)分依賴教師,沒(méi)有達(dá)到提高獨(dú)立設(shè)計(jì)、調(diào)試程序能力的目的。
1)單片機(jī)內(nèi)部結(jié)構(gòu)復(fù)雜,電路設(shè)計(jì)難度大。學(xué)生很難弄清楚清楚單片機(jī)的工作原理,學(xué)習(xí)起來(lái)勢(shì)必吃力,部分學(xué)生將會(huì)失去興趣。在教學(xué)的過(guò)程中難免出現(xiàn)注重理論而輕實(shí)踐狀況。
2)匯編語(yǔ)言晦澀難懂。好多教材陳舊,往往以匯編語(yǔ)言作為編程工具,而匯編語(yǔ)句抽象,可讀性差,學(xué)生難理解;編程效率低,學(xué)生學(xué)習(xí)難度大;代碼結(jié)構(gòu)復(fù)雜,難以維護(hù)、更新。
3)缺少綜合設(shè)計(jì)能力的培養(yǎng)。由于學(xué)時(shí)的限制,課堂的試驗(yàn)基本上是些驗(yàn)證性的小實(shí)驗(yàn),沒(méi)有一些綜合性的試驗(yàn),既可以考查學(xué)生的硬件設(shè)計(jì)能力,又可以鍛煉學(xué)生的軟件編程能力。因而,不能調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性。
因而多年來(lái),學(xué)生不愿學(xué)習(xí)“C語(yǔ)言”,更不愿意學(xué)習(xí)“單片機(jī)”。學(xué)完“C語(yǔ)言”的不知道其用途,學(xué)完便忘;學(xué)習(xí)“單片機(jī)“的學(xué)生,感覺(jué)單片機(jī)內(nèi)部結(jié)構(gòu)錯(cuò)綜復(fù)雜,難以理解,到最后,連最基本的程序也無(wú)法完成。
因此,通過(guò)對(duì)上述這兩門課程的教學(xué)現(xiàn)狀的分析發(fā)現(xiàn),之所以這兩門課難教難學(xué),其根本原因是由這兩門課的教學(xué)過(guò)程完全割裂導(dǎo)致的。因此,提出把Proteus與Keil軟件融入到“C語(yǔ)言”教學(xué)中,即對(duì)一個(gè)實(shí)例,先用proteus繪制出電路圖,再在keil中用C語(yǔ)言編寫程序,通過(guò)將keil程序與proteus電路聯(lián)調(diào),就可以看到keil程序的運(yùn)行效果,很自然地將“C語(yǔ)言”與“單片機(jī)”這兩門課程結(jié)合起來(lái)從而進(jìn)行整合式教學(xué)。
Proteus軟件最令人稱贊的是電路原理的仿真功能,除了普通分立器件、小規(guī)模集成器件的仿真功能以外,還具有多種帶有CPU可編程器件的仿真功能,如80C51系列、68系列、PICS系列等;具有多種虛擬儀器幫助完成實(shí)時(shí)仿真調(diào)試,用于課堂教學(xué)也是一種非常好的演示工具。
Keil C51是目前世界上最優(yōu)秀、最強(qiáng)大的51系列單片機(jī)開發(fā)應(yīng)用平臺(tái)之一,它集成編輯、編譯、仿真于一體。支持C語(yǔ)言的程序設(shè)計(jì),界面友好,易學(xué)易用。它內(nèi)嵌的仿真調(diào)試軟件可以讓用戶采用模擬仿真和實(shí)時(shí)在線仿真兩種方式對(duì)目標(biāo)系統(tǒng)進(jìn)行開發(fā)。
在學(xué)習(xí)“C語(yǔ)言”之前,“電路基礎(chǔ)”、“模擬電路”等一些學(xué)習(xí)“單片機(jī)”的前導(dǎo)課程已經(jīng)學(xué)習(xí)結(jié)束,學(xué)生對(duì)電路設(shè)計(jì)不會(huì)感到十分的困難,學(xué)習(xí)Proteus軟件容易上手。即使有的同學(xué)短時(shí)間學(xué)不會(huì)Proteus軟件,網(wǎng)上大量的電子書、視頻、案例等豐富的proteus教學(xué)資源應(yīng)有盡有,可以選擇有代表性的電路圖下載,直接在Keil中編寫C程序與其聯(lián)接觀看程序的模擬效果。另外,這些在Keil下編譯的C程序,可以隨時(shí)修改,直到調(diào)試成功,省時(shí)省力,效果良好。
首先,培養(yǎng)學(xué)生學(xué)習(xí)“C語(yǔ)言”的興趣。由于C語(yǔ)言課程是在機(jī)房上,有速龍系統(tǒng)電子教室系統(tǒng),在教師機(jī)上的任何操作學(xué)生都可以看得見(jiàn),且每臺(tái)學(xué)生機(jī)上都裝有Proteus和Keil兩個(gè)軟件。由于學(xué)生還沒(méi)有接觸過(guò)單片機(jī),C語(yǔ)言編程還剛剛起步,因此,老師可以根據(jù)課程的教學(xué)進(jìn)度選取典型的簡(jiǎn)單的例子進(jìn)行現(xiàn)場(chǎng)模擬示范,利用模擬得到的現(xiàn)象與每句程序語(yǔ)句對(duì)應(yīng)起來(lái)進(jìn)行講解。由于程序的每條語(yǔ)句都與模擬中具體現(xiàn)象相對(duì)應(yīng),直觀明了,使其知其然,又知其所以然,學(xué)生將會(huì)產(chǎn)生濃厚的興趣。
其次,教師告訴學(xué)生如何對(duì)程序進(jìn)行修改,就可以出現(xiàn)不同的模擬效果,或者指導(dǎo)學(xué)生用不同的語(yǔ)句編程實(shí)現(xiàn)相同的功能,達(dá)到舉一反三的目的。這樣極大地提高了學(xué)生的積極性。由于學(xué)生的編程積極性提高了,在學(xué)習(xí)理論課的過(guò)程中必將注重每個(gè)環(huán)節(jié),為下一次的實(shí)驗(yàn)課打下良好的基礎(chǔ)。
圖1 為紅綠燈proteus電路圖
圖2 為模擬效果圖
另外,教師在課堂演示或者給同學(xué)們上機(jī)指導(dǎo)時(shí),對(duì)單片機(jī)硬件設(shè)計(jì)進(jìn)行一些簡(jiǎn)單的介紹,雖然學(xué)生還不知道單片機(jī)硬件的具體功能和結(jié)構(gòu),但已對(duì)單片機(jī)硬件有了初步的認(rèn)識(shí)。這些都為后續(xù) “單片機(jī)”課程的學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ),在講授“單片機(jī)”課程的同時(shí),可根據(jù)編程的需要,不斷地滲透C語(yǔ)言的知識(shí),再通過(guò)觀察程序驅(qū)動(dòng)硬件的現(xiàn)象,深入體會(huì)單片機(jī)的原理。
在課堂中,我們引入了“LED模擬交通燈”案例(Proteus電路圖可在網(wǎng)上下載)。模擬效果:當(dāng)東西向綠燈亮?xí)r,南北向的紅燈亮;當(dāng)四方向的黃燈閃爍后,東西向紅燈亮,南北向的綠燈亮,依次循環(huán)往復(fù)。圖1為紅綠燈proteus電路圖。圖2為模擬效果圖。
Keil程序如下:
通過(guò)上例我們可以看出,在“C語(yǔ)言”教學(xué)過(guò)程中,當(dāng)講完if語(yǔ)句后,學(xué)生已經(jīng)可以順利使用if語(yǔ)句編寫該程序,當(dāng)講完switch語(yǔ)句的語(yǔ)法規(guī)則后,可以讓學(xué)生自己動(dòng)手將上述程序用switch語(yǔ)句來(lái)實(shí)現(xiàn),達(dá)到舉一反三的目的。將“C語(yǔ)言”知識(shí)以一種顯性的方式體現(xiàn)出來(lái),提高教學(xué)效果。
在“C語(yǔ)言”的教學(xué)過(guò)程中,采用任務(wù)驅(qū)動(dòng)教學(xué)模式,將Proteus和Keil軟件用于“C語(yǔ)言”課程的教學(xué)過(guò)程,使得程序效果得以實(shí)時(shí)模擬與體現(xiàn),有助于提高學(xué)生的學(xué)習(xí)興趣和創(chuàng)新意識(shí)、培養(yǎng)了學(xué)生的探究性學(xué)習(xí)能力;實(shí)現(xiàn)了知識(shí)循序漸進(jìn)的傳授,取得了良好的課堂效果。
[1]湯旭慧,等.基于工學(xué)結(jié)合的高職電子類專業(yè)C語(yǔ)言教學(xué)新模式的探索[J].中國(guó)職業(yè)技術(shù)教育教學(xué)與教研,2008,4(302):13-14,17.
[2]蘇波,陶寧.“C語(yǔ)言”與“單片機(jī)”相結(jié)合的教學(xué)研究[J].光學(xué)技術(shù),2010,12(36):108-110.