- 相關(guān)推薦
基于單片機系統(tǒng)開發(fā)的C程序設(shè)計教學(xué)方法探討論文
摘要:“C程序設(shè)計”課程是電子類專業(yè)基礎(chǔ)必修課,主要是為單片機編程服務(wù),該課程的教學(xué)效果直接影響到后續(xù)單片機課程的學(xué)習(xí)。本文結(jié)合單片機系統(tǒng)開發(fā)的特點,探討了C程序設(shè)計教學(xué)方法,為后續(xù)單片機課程的學(xué)習(xí)打下基礎(chǔ)。
關(guān)鍵詞:C程序設(shè)計;單片機;系統(tǒng)開發(fā);教學(xué)方法
隨著微電子技術(shù)的發(fā)展和廣泛應(yīng)用,基于單片機上的系統(tǒng)開發(fā),C語言作為一種高級的編程語言,越來越受到人們的關(guān)注,F(xiàn)在,無論是嵌入式系統(tǒng)開發(fā)企業(yè)還是電子設(shè)計競賽、畢業(yè)設(shè)計等,一般都以C語言為主要開發(fā)工具。結(jié)合單片機的系統(tǒng)資源,用C語言開發(fā)符合實際工程需要的單片機系統(tǒng),對于編程者來說就有重要的意義。
1、C在單片機教學(xué)中的地位。
C語言作為一種結(jié)構(gòu)化的程序設(shè)計語言,它是程序開發(fā)工具中使用最廣泛一門編程語言。C語言具有很強的功能性、結(jié)構(gòu)性、可移植性。用C語言編寫程序比匯編更符合人們的思考習(xí)慣,程序開發(fā)者可以擺脫與硬件不必要的接觸,更專心地考慮程序的功能和算法而不是考慮一些細(xì)節(jié)問題,這樣就減少了開發(fā)和調(diào)試的時間。由于它具有良好的程序結(jié)構(gòu),適用于模塊化程序設(shè)計,因此采用C語言設(shè)計單片機應(yīng)用系統(tǒng)程序時,采用結(jié)構(gòu)化的、自頂向下、逐步求精的程序設(shè)計方法,將功能模塊化,由不同的模塊完成不同的功能。這樣可使整個應(yīng)用系統(tǒng)程序結(jié)構(gòu)清晰,易于調(diào)試和維護(hù)。
2、單片機教學(xué)現(xiàn)狀。
單片機技術(shù)是現(xiàn)代電子工程領(lǐng)域一門飛速發(fā)展的技術(shù),是現(xiàn)代電子技術(shù)中的一項不可缺少的重要技術(shù)。隨著技術(shù)的不斷進(jìn)步和日益普及,單片機技術(shù)已滲透到各個領(lǐng)域,影響著我們的日常生活和工作。因此電子技術(shù)及相關(guān)專業(yè)的學(xué)生學(xué)習(xí)單片機技術(shù)越來越成為社會發(fā)展的需求。當(dāng)前,各大高校的電子、計算機類專業(yè)均開設(shè)單片機課程。
《單片機》是我院電子系一門實踐性極強的專業(yè)主干課程,是我校電子系重點建設(shè)課程之一,是本專業(yè)學(xué)生的必修課程。為了提高我系單片機教學(xué)效果,我們對單片機教學(xué)進(jìn)行了大膽改革,使用C語言開發(fā)單片機,且課程的設(shè)計打破了學(xué)科體系的框架,將單片機和C語言的相關(guān)知識和技能按“項目”進(jìn)行整合,并將《C程序設(shè)計》課程列為電子類專業(yè)核心基礎(chǔ)課程之一。因此,《C程序設(shè)計》課程教學(xué)效果的好壞,將直接影響學(xué)生后續(xù)專業(yè)課程的學(xué)習(xí)。
從近幾年我系《C程序設(shè)計》課程的教學(xué)效果來看,學(xué)生普遍反映該課程的學(xué)習(xí)比較困難,課程的語法知識較多,理解和記憶都不太容易,即使記住了語法知識也不能靈活應(yīng)用;不知道學(xué)習(xí)C語言究竟有何用處,學(xué)完C后不能很好地利用C進(jìn)行單片機小型系統(tǒng)的開發(fā),缺乏知識的靈活應(yīng)用能力。因此,根據(jù)以往單片機教學(xué)所得經(jīng)驗,我覺得教師有必要在《C程序設(shè)計》課程的教學(xué)過程中在以下幾個方面引起足夠的重視,并在教學(xué)中加以改進(jìn),為后續(xù)單片機課程的學(xué)習(xí)打下堅實的基礎(chǔ)。
3、《C程序設(shè)計》課程教學(xué)方法探索。
。1)上好每堂課,激發(fā)學(xué)生的學(xué)習(xí)興趣。
語言程序設(shè)計教學(xué)被認(rèn)為是一種需要師生雙方改進(jìn)的一門課程,因為大多數(shù)語言教材中通常先給出一般的語法格式,然后逐步講解語法要點,再給出實例。這種順序灌輸會使學(xué)生失去學(xué)習(xí)的興趣,所以我認(rèn)為在課堂教學(xué)環(huán)節(jié)應(yīng)采取以學(xué)生為主體、以教師為主導(dǎo)的教學(xué)模式,要求學(xué)生自己先看有關(guān)知識點,并識記。教師采取精講實例,在這過程中引出相關(guān)知識點,然后再舉一類似實例讓學(xué)生自己分析,鞏固知識點。教師應(yīng)把主要精力放在算法的分析和各語句語法的具體應(yīng)用上,同時培養(yǎng)學(xué)生自學(xué)能力,采取互動機制,迫使學(xué)生主動學(xué)習(xí)。
。2)注重演示,強化實驗,提高實踐操作能力。
因為授課對象是一年級新生,所以教師多用通俗易懂的語言進(jìn)行講解,多舉實例,使學(xué)生容易理解和消化。在教學(xué)過程中,盡量采用講解、演示方法,如在講解經(jīng)典算法后,按照理論方法所述,用DEVC++軟件進(jìn)行編程演示,從而加深學(xué)生對教學(xué)內(nèi)容的理解。
在教學(xué)過程中,教師應(yīng)將理論知識與實驗內(nèi)容進(jìn)行整合,根據(jù)教學(xué)內(nèi)容并結(jié)合實際應(yīng)用設(shè)置實驗題目,讓每個學(xué)生獨立完成。遇到學(xué)生不能解決的問題,教師應(yīng)利用多媒體進(jìn)行演示解決問題的過程,從而加深學(xué)生對教學(xué)內(nèi)容的理解并提高實踐操作能力。
(3)培養(yǎng)良好的編程風(fēng)格。
①優(yōu)化程序。
由于在許多工業(yè)測控領(lǐng)域中的嵌入式系統(tǒng)都采用單片機開發(fā),它們所需要的計算和控制工作日趨復(fù)雜,其中軟件的設(shè)計是最復(fù)雜和困難的,工作量大,特別是對于控制系統(tǒng),設(shè)計人員需要考慮單片機的軟硬件資源分配,但是單片機系統(tǒng)是一種資源十分有限的系統(tǒng)。這主要表現(xiàn)在CPU和片內(nèi)結(jié)構(gòu)簡單、程序存儲器資源的不足。因此在用C語言進(jìn)行單片機開發(fā)時,如何使用好這些有限的資源就顯得十分重要。雖然C語言具有許多的優(yōu)點,但是生成的代碼相對要長,基本多占用存儲空間20%——50%。因而,在“C程序設(shè)計”課程教學(xué)中,教師不僅要教會學(xué)生如何編寫程序,而且應(yīng)在教學(xué)過程中向?qū)W生灌輸優(yōu)化代碼的思想,讓學(xué)生從大一開始就有開發(fā)項目的一些經(jīng)驗。
②合理選用數(shù)據(jù)類型。
C語言在程序開發(fā)中提供了的豐富的數(shù)據(jù)類型,尤其是關(guān)于用戶界面開發(fā)和一些動畫與圖像技術(shù)的實現(xiàn)。但是在開發(fā)單片機系統(tǒng)時,我們要按照實際需要,合理地選用數(shù)據(jù)類型。C語言中有Char等少數(shù)的數(shù)據(jù)類型是機器語言直接支持的數(shù)據(jù)類型,用此類數(shù)據(jù)類型的語句所生成的代碼較短,而其它的數(shù)據(jù)類型如整型、浮點型等數(shù)據(jù)要有一定的內(nèi)部程序或內(nèi)部函數(shù)的支持,相對來說較復(fù)雜的數(shù)據(jù)類型的語句生成的代碼也復(fù)雜,不利于轉(zhuǎn)化成單片機的代碼。因此,在“C程序設(shè)計“教學(xué)過程中,要向?qū)W生適當(dāng)說明選擇合適數(shù)據(jù)類型的好處,并盡可能地減少程序中使用的數(shù)據(jù)類型的種類,為以后學(xué)生的單片機學(xué)習(xí)打好基礎(chǔ)。
、酃噍斈K化程序設(shè)計思想。
在普通微型計算機上進(jìn)行C語言程序開發(fā)設(shè)計時,只需考慮程序功能實現(xiàn),而不必考慮程序代碼的長短。但是在單片機上進(jìn)行C語言程序設(shè)計就必須考慮系統(tǒng)的硬件資源,要求設(shè)計的軟件程序結(jié)構(gòu)是合理、緊湊和高效的。同一任務(wù),有時用主程序完成是合理的,但有時需子程序效率最高,占用資源最少;有時并不是程序的算法越簡單、長度越短越好,由于有一些算法要調(diào)用一些內(nèi)部的子程序和函數(shù),生成的機器代碼質(zhì)量反而較低。不同的算法對程序代碼效率影響很大。因此,在進(jìn)行“C程序設(shè)計”教學(xué)時,教師應(yīng)適當(dāng)向?qū)W生灌輸模塊化程序設(shè)計的思想,在不影響程序功能實現(xiàn)的情況下可以采用一些優(yōu)化算法,并且把程序分成若干個功能獨立的模塊,為學(xué)生今后的單片機項目開發(fā)做好鋪墊。
4、結(jié)語。
單片機系統(tǒng)采用C語言開發(fā)與設(shè)計,極大地促進(jìn)了單片機在生產(chǎn)、生活各個領(lǐng)域的應(yīng)用,提高了程序開發(fā)效率。因而,C語言學(xué)習(xí)效果的好壞,對今后單片機課程的學(xué)習(xí)具有深遠(yuǎn)的影響。除了講解C語言的基本語法外,更重要的是改善教學(xué)方法,利用各種方法培養(yǎng)學(xué)生的學(xué)習(xí)興趣,并向?qū)W生灌輸良好的編程風(fēng)格與編程方法,為今后的單片機課程的學(xué)習(xí)打下良好的基礎(chǔ)。
參考文獻(xiàn):
[1]向艷!癈程序設(shè)計”課程教學(xué)體系和模式探討[J]。計算機教育,2010,(3):112—114。
[2]董蘊寶,潘旭君。淺談C語言在單片機中的程序設(shè)計[J]?萍夹畔ⅲ2009,(13):59—67。
。3]張洪靜。電類專業(yè)C語言教學(xué)探討[J]。電腦知識與技術(shù),2010,(29):8280—8281。
。4]林益平,趙福建。單片機C語言課程教學(xué)的探索與實踐[J]。電氣電子教學(xué)學(xué)報,2007,(2):104—106。
。5]石愛榮。C語言程序設(shè)計課程教學(xué)探析[J]。警官教育認(rèn)論壇,2007。2:158—160。
。6]譚浩強。C語言程序設(shè)計[M]。清華大學(xué)出版社,2004。
【基于單片機系統(tǒng)開發(fā)的C程序設(shè)計教學(xué)方法探討論文】相關(guān)文章:
基于問題的教學(xué)方法探討05-02
51單片機C語言程序設(shè)計經(jīng)典案例05-01
探討VB程序設(shè)計課程的教學(xué)方法04-29
計算機程序設(shè)計課程教學(xué)方法探討04-29
高職《C語言程序設(shè)計》課程教學(xué)方法的實踐與探索04-29