單片機(jī)課程是各高校電子信息類專業(yè)的一門非常重要的專業(yè)基礎(chǔ)課程,其實(shí)踐性、操作性,工程性都很強(qiáng),學(xué)好單片機(jī)的應(yīng)用開發(fā)對后續(xù)專業(yè)課程的學(xué)習(xí)起著重要的作用。單片機(jī)教學(xué)分理論教學(xué)和實(shí)驗(yàn)教學(xué)兩部分,實(shí)驗(yàn)教學(xué)是對理論知識的檢驗(yàn)實(shí)踐,對培養(yǎng)學(xué)生的電路設(shè)計(jì)能力和編程能力都起著非常重要作用。單片機(jī)應(yīng)用開發(fā)能力的培養(yǎng)需要的實(shí)驗(yàn)環(huán)節(jié)較多,涉及知識面較廣,對初學(xué)者來學(xué)習(xí)單片機(jī)時(shí)會存在一定困難,為了得到更好的教學(xué)效果,調(diào)動(dòng)學(xué)生的積極性,本文對單片機(jī)實(shí)驗(yàn)教學(xué)環(huán)節(jié)進(jìn)行改革探索。
【摘要】對單片機(jī)實(shí)驗(yàn)課程的實(shí)驗(yàn)教學(xué)改革情況進(jìn)行了介紹,詳細(xì)論述了PROTEUS仿真軟件的優(yōu)點(diǎn)和對單片機(jī)實(shí)驗(yàn)教學(xué)的幫助,以及C語言在單片機(jī)應(yīng)用開發(fā)中的優(yōu)勢。實(shí)踐證明本實(shí)驗(yàn)課程的教學(xué)改革達(dá)到良好效果,激發(fā)學(xué)生對單片機(jī)的學(xué)習(xí)興趣,提高了學(xué)生動(dòng)手實(shí)踐能力,培養(yǎng)了學(xué)生的獨(dú)立思考能力。
【關(guān)鍵詞】單片機(jī)實(shí)驗(yàn),教學(xué)改革,PROTEUS軟件
1.傳統(tǒng)實(shí)驗(yàn)教學(xué)的不足
傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)是在實(shí)驗(yàn)室中進(jìn)行,每個(gè)實(shí)驗(yàn)桌配置PC機(jī)和一個(gè)體積較大的單片機(jī)實(shí)驗(yàn)箱,學(xué)生在做實(shí)驗(yàn)時(shí)需要了解實(shí)驗(yàn)電路圖,實(shí)驗(yàn)接口按鈕以及實(shí)驗(yàn)連線等,操作比較復(fù)雜,如果初學(xué)者對這些不熟悉的話做實(shí)驗(yàn)就比較困難,影響學(xué)生學(xué)習(xí)的興趣,老師也只能忙于指導(dǎo)學(xué)生對硬件進(jìn)行操作,浪費(fèi)實(shí)驗(yàn)時(shí)間。另外如果實(shí)驗(yàn)箱出現(xiàn)故障不能及時(shí)修復(fù)的話會嚴(yán)重影響實(shí)驗(yàn)的進(jìn)度和效果。
因?yàn)閷W(xué)校的實(shí)驗(yàn)室資源有限,而學(xué)生人數(shù)較多,因此學(xué)生能利用實(shí)驗(yàn)室進(jìn)行更多的實(shí)驗(yàn)操作的機(jī)會有限,制約了學(xué)生對單片機(jī)開發(fā)應(yīng)用水平的提高。構(gòu)建傳統(tǒng)的單片機(jī)實(shí)驗(yàn)室除了需要購置單片機(jī)實(shí)驗(yàn)箱外,還需要購置直流穩(wěn)壓電源,示波器,信號源,仿真器的儀器等配套設(shè)備,需要投入的資金較大,且日常維護(hù)成本較高。單片機(jī)實(shí)驗(yàn)箱的硬件資源有限,且已經(jīng)固定不能改變,在實(shí)驗(yàn)時(shí)教師和學(xué)生都感覺到使用實(shí)驗(yàn)箱進(jìn)行單片機(jī)實(shí)驗(yàn)不夠靈活,學(xué)生的電路設(shè)計(jì)能力得不到很好的鍛煉,也不能更深入地理解電路的性能或作用,因此,傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)有諸多弊端。
2.基于PROTUES的實(shí)驗(yàn)?zāi)J降膬?yōu)勢
Proteus是Labcenter公司出品的電路分析、實(shí)物仿真系統(tǒng)。它可仿真各種電路和集成IC,它還支持許多型號的單片機(jī)的仿真,還提供電路原理圖繪制與PCB設(shè)計(jì)功能。它的元件庫齊全,使用方便,是非常好的電子電路設(shè)計(jì)輔助軟件。Proteus軟件不僅能對單片機(jī)進(jìn)行仿真調(diào)試,對單片機(jī)外圍的其他電路同樣可以仿真,不管是否是與單片機(jī)相關(guān)的電路。因此在進(jìn)行仿真調(diào)試時(shí),既可以看到單片機(jī)程序語句的執(zhí)行情況,又可以看到其他電路運(yùn)行的結(jié)果,這與實(shí)際工程開發(fā)非常接近,有利于培養(yǎng)學(xué)生工程應(yīng)用開發(fā)能力。
構(gòu)建基于Proteus軟件的單片機(jī)實(shí)驗(yàn)室只需要一臺PC機(jī)即可,這樣就使得實(shí)驗(yàn)室的通用性很強(qiáng),硬件成本投入大大減少。用Proteus軟件進(jìn)行單片機(jī)實(shí)驗(yàn)開發(fā),儀器設(shè)備資源損耗小,沒有元器件損壞的問題,學(xué)生不需要操作真實(shí)的儀器設(shè)備,使得實(shí)驗(yàn)過程安全系數(shù)增高。實(shí)驗(yàn)內(nèi)容可靈活設(shè)置,學(xué)生可以自行設(shè)計(jì)實(shí)驗(yàn)電路,可以嘗試相同功能的接口電路用不同的器件構(gòu)成,有利于擴(kuò)展設(shè)計(jì)思路,培養(yǎng)和提高設(shè)計(jì)能力。用Protues仿真軟件進(jìn)行單片機(jī)課程實(shí)驗(yàn)教學(xué),可以克服用傳統(tǒng)實(shí)驗(yàn)箱帶來的硬件電路固定,實(shí)驗(yàn)內(nèi)容固定等方面的局限性,學(xué)生只要有電腦即可安裝軟件自行學(xué)習(xí),減少學(xué)習(xí)資金的投入,從而提高學(xué)生的學(xué)習(xí)效果和學(xué)習(xí)興趣。
在學(xué)生學(xué)習(xí)過程中,會接觸到多種單片機(jī),學(xué)校也會開設(shè)各種單片機(jī)的選修課,如AVR單片機(jī),PIC單片機(jī)等,為了教學(xué)需要就要購買相應(yīng)的實(shí)驗(yàn)設(shè)備,建設(shè)和維護(hù)成本較高。而Proteus軟件可以支持多種單片機(jī)的仿真實(shí)驗(yàn),并且提供了大量的元件庫,有數(shù)千種元件供使用,包括模擬電路,數(shù)字電路相關(guān)元件,以及交流和直流相關(guān)元件;另外Proteus軟件提供了豐富的儀器儀表資源,包括常用的示波器、信號發(fā)生器、直流電壓表、邏輯分析儀、計(jì)數(shù)器等,這是實(shí)驗(yàn)室必備的設(shè)備,為建立仿真實(shí)驗(yàn)室提供了可靠的資源保障,這體現(xiàn)了軟件仿真的經(jīng)濟(jì)優(yōu)勢。Proteus軟件還具有圖像顯示模塊,以及提供多種激勵(lì)測試信號,這些資源在調(diào)試電路時(shí)發(fā)揮很大的作用,為調(diào)試電路提供方便。
在單片機(jī)實(shí)驗(yàn)完成后會安排單片機(jī)課程設(shè)計(jì)環(huán)節(jié),這時(shí)要求學(xué)生做出具體的硬件電路來,把在Proteus軟件上驗(yàn)證好的工程項(xiàng)目移植到具體電路中,讓學(xué)生體會仿真運(yùn)行結(jié)果和具體硬件電路運(yùn)行結(jié)果的差別,提高學(xué)生的工程設(shè)計(jì)和調(diào)試能力,為將來工作時(shí)做更復(fù)雜的電路設(shè)計(jì)做好準(zhǔn)備。雖然Proteus的仿真運(yùn)行與實(shí)際硬件運(yùn)行結(jié)果存在一些差別等缺點(diǎn),但只要稍微調(diào)整程序參數(shù)就實(shí)現(xiàn)在硬件上的良好運(yùn)行,相比它帶來的學(xué)習(xí)開發(fā)優(yōu)點(diǎn)來說,這些缺點(diǎn)是可以接受的。Proteus軟件提供了很多例子,學(xué)生可以參考和借鑒好的設(shè)計(jì)方案,也可以在原來電路基礎(chǔ)上加以修改處理,滿足自己的設(shè)計(jì)需求,這都是很好的學(xué)習(xí)資源。
3.用C語言進(jìn)行單片機(jī)編程的優(yōu)勢
單片機(jī)程序設(shè)計(jì)是學(xué)習(xí)的重點(diǎn),在傳統(tǒng)單片機(jī)理論教學(xué)中,都是以學(xué)習(xí)匯編語言為主,而C語言只進(jìn)行簡單介紹,在單片機(jī)實(shí)驗(yàn)中也是主要用匯編語言進(jìn)行程序設(shè)計(jì),其優(yōu)點(diǎn)是占用資源少,執(zhí)行效率高。但是匯編語言是面向機(jī)器的程序設(shè)計(jì)語言,是最接近機(jī)器碼的一種語言,其指令較多,學(xué)生難以掌握,編寫的代碼難讀懂,不好調(diào)試,開發(fā)效率低,需要對單片機(jī)內(nèi)部資源非常熟悉,而且不同的CPU的匯編語言有差異,不好移植。因?yàn)閷W(xué)生是初次接觸到這種編程語言,也沒有單片機(jī)編程基礎(chǔ),對單片機(jī)內(nèi)部資源不夠熟悉,所以學(xué)習(xí)效果不理想,在進(jìn)行單片機(jī)實(shí)驗(yàn)時(shí)暴露出了很多問題。
本次單片機(jī)實(shí)驗(yàn)教學(xué)改革中教師要求學(xué)生采用C語言進(jìn)行程序設(shè)計(jì),并與理論教師溝通在上理論課時(shí)多講用C語言編程的知識。學(xué)生在大一時(shí)就進(jìn)行了C語言的學(xué)習(xí),有一定的基礎(chǔ),因此用C語言進(jìn)行單片機(jī)程序開發(fā)對學(xué)生來講會容易理解些,復(fù)雜的程序一般都用C語言進(jìn)行開發(fā),這也符合現(xiàn)在企業(yè)用人的要求。使用C語言進(jìn)行單片機(jī)程序開發(fā)有諸多優(yōu)點(diǎn):(1)語言簡潔,使用方便靈活,可大幅度提高開發(fā)速度,系統(tǒng)越復(fù)雜,開發(fā)效率越高。
。2)無須深入了解單片機(jī)內(nèi)部結(jié)構(gòu),和復(fù)雜的單片機(jī)匯編語言指令集。
。3)可進(jìn)行模塊化開發(fā),軟件邏輯結(jié)構(gòu)清晰,有條理,易于分工合作。
(4)可移植性好,寫好的一個(gè)c語言算法,可方便地移植到其他單片機(jī)上,而匯編語言相對要復(fù)雜的多。
。5)可直接操作硬件,易于編寫、調(diào)試和維護(hù)。
隨著單片機(jī)的內(nèi)部資源越來越多,存儲空間越來越大,資源已經(jīng)不是考慮的首要問題,因此用C語言進(jìn)行單片機(jī)程序設(shè)計(jì)是單片機(jī)開發(fā)應(yīng)用的必然趨勢。C語言是初學(xué)者的首選語言,當(dāng)掌握好用C語言進(jìn)行單片機(jī)編程后,再學(xué)習(xí)匯編語言就會輕松很多。
4.單片機(jī)實(shí)驗(yàn)教學(xué)組織
單片機(jī)實(shí)驗(yàn)所涉及到的內(nèi)容較多,而單片機(jī)實(shí)驗(yàn)課程一般只安排8次實(shí)驗(yàn)共16學(xué)時(shí),實(shí)驗(yàn)時(shí)間有限。有關(guān)單片機(jī)的相關(guān)理論知識在理論課中已經(jīng)學(xué)習(xí)過了,如單片機(jī)內(nèi)部資源,常用接口電路,編程設(shè)計(jì),系統(tǒng)開發(fā)設(shè)計(jì)等知識在理論課中都會涉及到,單片機(jī)實(shí)驗(yàn)課程的目的主要是讓學(xué)生提高動(dòng)手能力,驗(yàn)證理論知識的正確性,加深單片機(jī)應(yīng)用的理解,直觀感受單片機(jī)在電路運(yùn)行過程中發(fā)揮的作用,提高編程設(shè)計(jì)能力。
在首次實(shí)驗(yàn)中讓學(xué)生掌握Proteus仿真軟件和keil編程軟件的使用方法,掌握單片機(jī)應(yīng)用開發(fā)步驟。keil是目前世界上使用最廣泛的單片機(jī)編程開發(fā)工具,很多型號的單片機(jī)都用它進(jìn)行程序開發(fā),它支持匯編、C語言以及混合編程,同時(shí)具備強(qiáng)大的仿真功能。在實(shí)驗(yàn)指導(dǎo)書中要編寫軟件的詳細(xì)操作步驟,讓學(xué)生會能快速掌握兩款軟件的使用方法。
接下來的實(shí)驗(yàn)根據(jù)理論教學(xué)內(nèi)容的進(jìn)度由易到難地安排相關(guān)的實(shí)驗(yàn)內(nèi)容,包括單片機(jī)IO口的應(yīng)用設(shè)計(jì),單片機(jī)外部中斷開發(fā)設(shè)計(jì),定時(shí)器計(jì)數(shù)器開發(fā)設(shè)計(jì),串行通信開發(fā)設(shè)計(jì),數(shù)碼管顯示器件應(yīng)用開發(fā),外圍器件的控制開發(fā)(模數(shù)轉(zhuǎn)換器件、數(shù)模轉(zhuǎn)換器件),綜合系統(tǒng)設(shè)計(jì)等,循序漸進(jìn)地讓學(xué)生學(xué)習(xí)單片機(jī)相關(guān)知識,從而提高學(xué)生的興趣和實(shí)驗(yàn)信心。
5.一個(gè)具體的實(shí)驗(yàn)教學(xué)例子
以單片機(jī)IO口應(yīng)用設(shè)計(jì)為例子,實(shí)驗(yàn)電路圖如圖1所示,實(shí)驗(yàn)要求是讓接在P0口的8個(gè)LED從左到右循環(huán)依次點(diǎn)亮,產(chǎn)生流水燈效果,這是單片機(jī)典型的入門開發(fā)例子,涉及的知識內(nèi)容包括單片機(jī)最小系統(tǒng)電路,單片機(jī)IO口的輸出編程,延時(shí)程序設(shè)計(jì)等,內(nèi)容豐富。
實(shí)驗(yàn)電路比較簡單,在實(shí)驗(yàn)之前讓學(xué)生跟據(jù)實(shí)驗(yàn)指導(dǎo)書要求用Proteus仿真軟件設(shè)計(jì)好電路圖,到實(shí)驗(yàn)室做實(shí)驗(yàn)時(shí)主要進(jìn)行程序的設(shè)計(jì)開發(fā)調(diào)試,因?yàn)槌绦蛟O(shè)計(jì)和調(diào)試是實(shí)驗(yàn)學(xué)習(xí)的重點(diǎn)。對于學(xué)生來說,程序設(shè)計(jì)是一個(gè)難點(diǎn),實(shí)驗(yàn)課時(shí)教師可以結(jié)合實(shí)驗(yàn)電路講解程序設(shè)計(jì)的思路,讓學(xué)生從實(shí)現(xiàn)一個(gè)最簡單的功能開始,如只讓一個(gè)LED亮,然后逐步添加程序?qū)崿F(xiàn)流水燈功能。在實(shí)驗(yàn)指導(dǎo)書中可以給出程序設(shè)計(jì)流程圖和程序設(shè)計(jì)框架,讓學(xué)生根據(jù)框架添加設(shè)計(jì)程序。程序框架如下:
#include
voidDelayMS(unsignedx)
{unsignedi;
while(x--)
{
for(i=0;i<120;i++);
}
}
voidmain()
{P0=0xfe;
while(1)
{//在下面添加自己的程序
}
}}
6.結(jié)束語
通過本次單片機(jī)實(shí)驗(yàn)教學(xué)探索證明,在Proteus仿真軟件建立的虛擬平臺上進(jìn)行實(shí)驗(yàn)的教學(xué)效果良好,Proteus仿真軟件不但在課堂教學(xué)中發(fā)揮重要作用,對學(xué)生在課外的學(xué)習(xí)也提供了極大地便利,學(xué)生不會因?yàn)槭稚蠜]有開發(fā)板而失去學(xué)習(xí)的興趣,充分調(diào)動(dòng)了學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,提高學(xué)生單片機(jī)應(yīng)用編程能力。使用C語言進(jìn)行單片機(jī)編程設(shè)計(jì),加快了學(xué)生學(xué)習(xí)的步伐,也符合企業(yè)用人單位的需要,為將來工作做好準(zhǔn)備。
參考文獻(xiàn)
[1]欒淑麗.如何用Proteus軟件建立單片機(jī)仿真虛擬實(shí)驗(yàn)室[J].價(jià)值工程,2011(1).
[2]譚炳菊,富鈺.單片機(jī)C語言編程方法探討[J].遼寧高職學(xué)報(bào),2010(4).
[3]高林.基于工作過程的課程設(shè)計(jì)方法及實(shí)施條件分析[J].職業(yè)技術(shù)教育,2008(13).
轉(zhuǎn)載請注明來自:http://www.jinnzone.com/jisuanjiyingyonglw/32013.html