摘要:針對(duì)傳統(tǒng)單片機(jī)課程理論教學(xué)和實(shí)踐教學(xué)中存在的問題或不足,提出了基于Proteus和Keil聯(lián)合仿真的單片機(jī)虛擬實(shí)驗(yàn)室建設(shè)方案。具體方法是在Proteus軟件中設(shè)計(jì)硬件電路,在Keil軟件中開發(fā)軟件程序,兩者結(jié)合實(shí)現(xiàn)聯(lián)合仿真調(diào)試。該方案有利于減少實(shí)驗(yàn)室建設(shè)經(jīng)費(fèi),有利于推進(jìn)教學(xué)改革和提升教學(xué)效率,有利于提高學(xué)生的學(xué)習(xí)興趣和創(chuàng)新能力。
關(guān)鍵詞:Proteus;Keil;單片機(jī);虛擬實(shí)驗(yàn)室
單片機(jī)作為嵌入式系統(tǒng)的一個(gè)重要分支,目前已廣泛地應(yīng)用于智能化家用電器、辦公自動(dòng)化設(shè)備、工業(yè)自動(dòng)化控制、智能化儀表、通信產(chǎn)品、汽車電子產(chǎn)品、航空航天國(guó)防軍事等人類生活的各個(gè)領(lǐng)域。全國(guó)大中專院校電氣自動(dòng)化專業(yè)、應(yīng)用電子技術(shù)專業(yè)、通信專業(yè)、機(jī)電專業(yè)等許多專業(yè)相繼開設(shè)了單片機(jī)課程。
目前單片機(jī)的課堂教學(xué)及實(shí)驗(yàn)中存在諸多問題:一是單片機(jī)課堂教學(xué)多以理論教學(xué)為主,教學(xué)中需要很多硬件設(shè)備,一般理論課堂難以輔助硬件進(jìn)行教學(xué),即便演示,效果也不好。二是單片機(jī)實(shí)驗(yàn)室由專人管理,學(xué)生除了上課外,平時(shí)難得有機(jī)會(huì)實(shí)踐,而采用的單片機(jī)實(shí)驗(yàn)設(shè)備大多是成品,學(xué)生很難參與其中的細(xì)節(jié)設(shè)計(jì),因此學(xué)生動(dòng)手能力也很難得到提高。三是配套的實(shí)驗(yàn)設(shè)備多采用實(shí)驗(yàn)箱或硬件仿真器配目標(biāo)實(shí)驗(yàn)板,這種配置方式直接導(dǎo)致該課程的實(shí)驗(yàn)項(xiàng)目有限、實(shí)驗(yàn)時(shí)間過長(zhǎng)、設(shè)備維護(hù)工作量大等現(xiàn)實(shí)問題。四是實(shí)驗(yàn)設(shè)備不足、落后,單片機(jī)實(shí)驗(yàn)室建設(shè)成本高,由于技術(shù)的不斷更新,設(shè)備的不斷老化,實(shí)驗(yàn)儀器也會(huì)很快落后。
針對(duì)上述問題,作者將Proteus和Keil軟件引入單片機(jī)課堂教學(xué),以構(gòu)建一個(gè)適合“教、學(xué)、做”一體化教學(xué)的單片機(jī)虛擬實(shí)驗(yàn)室,把單片機(jī)實(shí)驗(yàn)室搬進(jìn)課堂,實(shí)現(xiàn)理論教學(xué)和實(shí)踐教學(xué)的無縫銜接,讓理論教學(xué)和實(shí)踐教學(xué)同時(shí)進(jìn)行,教師根據(jù)授課要求隨意切換理論教學(xué)和實(shí)踐教學(xué)的環(huán)境,教師能夠做到“教中做、做中教”,學(xué)生能夠做到“學(xué)中做、做中學(xué)”,達(dá)到真正意義上的“教、學(xué)、做”一體化的教學(xué)要求,將理論教學(xué)和實(shí)踐教學(xué)融為一體,提高學(xué)生的動(dòng)手實(shí)踐能力,激發(fā)學(xué)生的創(chuàng)新思維,強(qiáng)化學(xué)生的職業(yè)能力,提高教學(xué)效果。
一、Proteus和Keil軟件特點(diǎn)
(一)Proteus軟件特點(diǎn)
Proteus軟件是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件,它運(yùn)行于Windows操作系統(tǒng),可以仿真、分析各種模擬器件和集成電路。Proteus與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒有單片機(jī)參與的其它電路的工作情況。當(dāng)硬件和軟件調(diào)試成功后,利用Proteus軟件提供的原理圖繪制工具和印刷電路板設(shè)計(jì)工具,很容易獲得其PCB圖,為實(shí)物的制作提供方便。因此該軟件給我們提供了一個(gè)元器件豐富、測(cè)試儀器齊全、單片機(jī)的種類繁多、開發(fā)工具齊備的單片機(jī)虛擬實(shí)驗(yàn)室。
?。ǘ㎏eil軟件特點(diǎn)
Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的開發(fā)軟件,它提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(μVision)將這些部份組合在一起。KEIL μVision支持眾多不同公司的MCS-51架構(gòu)的芯片,它集編輯、編譯、仿真等于一體,它的界面和常用的微軟VC++的界面相似,界面友好,易學(xué)易用,在調(diào)試程序、軟件仿真方面也有很強(qiáng)大的功能。
將Proteus與Keil整合起來使用,構(gòu)建單片機(jī)虛擬實(shí)驗(yàn)室,充分利用各自的仿真功能,可以讓單片機(jī)的軟硬件設(shè)計(jì)和調(diào)試變得十分方便。
二、單片機(jī)虛擬實(shí)驗(yàn)室構(gòu)建
利用Proteus實(shí)現(xiàn)對(duì)單片機(jī)實(shí)驗(yàn)的改進(jìn),單片機(jī)實(shí)驗(yàn)將脫離傳統(tǒng)實(shí)驗(yàn)硬件的限制,并結(jié)合目前廣泛使用的一款51單片機(jī)開發(fā)平臺(tái)KeilμVision2,將Proteus與KeilμVision2結(jié)合起來,聯(lián)合利用它們的仿真功能,充分利用各自的優(yōu)勢(shì)構(gòu)建虛擬實(shí)驗(yàn)室。基于Proteus和Keil的虛擬實(shí)驗(yàn)室構(gòu)建步驟如下:
1.分析問題,提出解決方案。針對(duì)要解決的問題進(jìn)行分析,確定控制要求,提出多種解決方案,綜合考慮實(shí)現(xiàn)難易程度、硬件成本和系統(tǒng)性能等因素,確定最終的軟硬件實(shí)施方案。
2.設(shè)計(jì)仿真電路。將手工繪制的硬件電路原理圖在Proteus軟件中實(shí)現(xiàn),學(xué)生通過Proteus軟件的使用,可以學(xué)到硬件電路設(shè)計(jì)、組裝、調(diào)試的方法。
3.編寫程序。學(xué)生通過Keil軟件編制、調(diào)試應(yīng)用程序,掌握單片機(jī)軟件開發(fā)的步驟、方法和技巧。
4.軟硬件聯(lián)合仿真系統(tǒng)。軟硬件聯(lián)合仿真系統(tǒng)是將Proteus硬件開發(fā)環(huán)境和Keil軟件開發(fā)環(huán)境二者在計(jì)算機(jī)上結(jié)合使用,達(dá)到完美的單片機(jī)模擬開發(fā)全過程,其結(jié)合方式有兩種,一種是靜態(tài)結(jié)合,一種是動(dòng)態(tài)結(jié)合。靜態(tài)結(jié)合仿真就是把Keil C51軟件下生成的HEX文件,嵌入Proteus軟件進(jìn)行軟硬件模擬仿真。靜態(tài)結(jié)合仿真優(yōu)點(diǎn)是簡(jiǎn)單方便,缺點(diǎn)是HEX文件嵌入Proteus軟件后,只能在Proteus軟件下仿真,不能在Keil C51軟件動(dòng)態(tài)觀察。動(dòng)態(tài)結(jié)合仿真就是利用Proteus軟件支持第三方的軟件編譯和調(diào)試環(huán)境的特點(diǎn),把Proteus軟件和Keil C51軟件動(dòng)態(tài)連接,實(shí)現(xiàn)二者的動(dòng)態(tài)實(shí)時(shí)仿真。動(dòng)態(tài)結(jié)合仿真優(yōu)點(diǎn)是可以實(shí)現(xiàn)在Keil C51軟件動(dòng)態(tài)仿真,在Proteus軟件實(shí)時(shí)觀察結(jié)果,缺點(diǎn)是Pruteus軟件和Keil C51軟件設(shè)置相對(duì)比較繁瑣。
5.觀察實(shí)驗(yàn)結(jié)果。單擊Proteus中的執(zhí)行按鈕,開始仿真。如果實(shí)驗(yàn)沒有達(dá)到預(yù)期效果,可以很方便地修改硬件電路或軟件程序重新實(shí)驗(yàn),直到完全達(dá)到控制要求為止。
三、仿真教學(xué)實(shí)例
下面以基于AT89C51的串行多通道A/D轉(zhuǎn)換模擬實(shí)驗(yàn)為例,介紹如何用Proteus和Keil實(shí)現(xiàn)對(duì)單片機(jī)控制系統(tǒng)的聯(lián)合仿真。
?。ㄒ唬┯布O(shè)計(jì)
根據(jù)實(shí)驗(yàn)?zāi)康暮鸵?,在Proteus中建立電路原理圖。首先是工作窗口加入電路所必需的元器件,其中包括控制芯片AT89C51,A/D轉(zhuǎn)換芯片TLC2543,驅(qū)動(dòng)芯片ULN2003A,顯示設(shè)備數(shù)碼管以及其它必需的電容、電阻、晶振等。隨后根據(jù)電路工作原理對(duì)已加入項(xiàng)目的元器件進(jìn)行連接,并加入電源和地線。如果在實(shí)驗(yàn)要觀察某些信號(hào)的變化則可加入電壓表,電流表或是邏輯分析儀等虛擬顯示設(shè)備,至此系統(tǒng)硬件電路已設(shè)計(jì)完成。
?。ǘ┸浖O(shè)計(jì)
打開Keil μVision2,新建一個(gè)項(xiàng)目,命名為“串行A/D轉(zhuǎn)換.uv2”。選擇Project菜單下的Select Device for Targer為這一項(xiàng)目選擇目標(biāo)CPU,這里選擇AT89C51。然后單擊Project菜單下的Option for Targer工程名菜單項(xiàng),選擇Debug選項(xiàng)進(jìn)行相應(yīng)設(shè)置,接下來編寫源程序并命名“串行轉(zhuǎn)換A/D.asm”,將此文件加入到工程里面,經(jīng)過編譯、調(diào)試、修改生成Hex文件。
?。ㄈ┞?lián)合調(diào)試
Proteus軟件和Keil軟件聯(lián)合調(diào)試在這里采用的靜態(tài)結(jié)合的方法,即在Proteus軟件中將Keil軟件編譯生成的Hex文件加載到89C51單片機(jī)中。單擊Proteus軟件中運(yùn)行按鈕,觀察仿真結(jié)果可見,每個(gè)通道模擬電壓值被轉(zhuǎn)換為數(shù)字量輪流顯示在數(shù)碼管上。如果出現(xiàn)錯(cuò)誤或是沒有達(dá)到控制要求則可以檢查電路或是修改程序再進(jìn)行調(diào)試,直到完成實(shí)驗(yàn)?zāi)繕?biāo)。
四、虛擬實(shí)驗(yàn)室的實(shí)際意義
?。ㄒ唬┯欣诮鉀Q設(shè)備緊缺問題
解決以往以理論為主實(shí)踐少,且存在實(shí)踐以驗(yàn)證性為主及設(shè)備不足等問題。由于Proteus特有的虛擬仿真技術(shù)能在沒有單片機(jī)實(shí)際硬件的條件下實(shí)現(xiàn)單片機(jī)系統(tǒng)的軟硬件同步仿真調(diào)試,只要在安裝有Proteus和Keil軟件的虛擬實(shí)驗(yàn)室里就可以完成整個(gè)開發(fā)過程,無需任何其他硬件設(shè)備的支持;在實(shí)驗(yàn)室不開放的情況下,學(xué)生也可以利用自己的電腦來完成。
(二)有利于培養(yǎng)學(xué)生創(chuàng)新能力
由于Proteus提供的都是虛擬設(shè)備,可以讓學(xué)生自由、大膽地進(jìn)行各種設(shè)計(jì),無需擔(dān)心損害實(shí)驗(yàn)設(shè)備,也不用承擔(dān)設(shè)計(jì)開發(fā)的各種費(fèi)用,節(jié)約了實(shí)驗(yàn)經(jīng)費(fèi)。學(xué)生的某些創(chuàng)造性設(shè)想在仿真軟件可以很快地得以實(shí)施,相比于到電子市場(chǎng)購(gòu)買元器件再組裝調(diào)試,既節(jié)約了成本又提高了效率。
?。ㄈ┯欣谕七M(jìn)課程教學(xué)改革
基于“工作過程系統(tǒng)化”的單片機(jī)項(xiàng)目式教學(xué)法突破了傳統(tǒng)的教學(xué)模式,以項(xiàng)目取代章節(jié),將理論知識(shí)貫穿于各項(xiàng)目中,開展理實(shí)一體化項(xiàng)目教學(xué),強(qiáng)調(diào)理論知識(shí)與實(shí)踐技能相結(jié)合,融“教、學(xué)、做”一體。單片機(jī)虛擬實(shí)驗(yàn)室的建立成為大力推進(jìn)項(xiàng)目教學(xué)的有力保障,對(duì)于項(xiàng)目教學(xué)來說課程劃分若干項(xiàng)目,每一個(gè)項(xiàng)目都是一個(gè)具體的控制任務(wù),軟硬件均可以在Keil和Proteus聯(lián)合仿真調(diào)試,學(xué)生可以在教師指導(dǎo)下獨(dú)立完成設(shè)計(jì)任務(wù)并檢查控制效果。單片機(jī)虛擬實(shí)驗(yàn)室的建立可以較好地克服傳統(tǒng)的單片機(jī)教學(xué)中無法兼顧理論教學(xué)和實(shí)踐教學(xué),或是由實(shí)物演示帶來教師工作量大和教學(xué)效率低等問題。
?。ㄋ模閷W(xué)生實(shí)習(xí)就業(yè)創(chuàng)造條件
建成的單片機(jī)創(chuàng)新虛擬實(shí)驗(yàn)室可以作為學(xué)生實(shí)習(xí)的場(chǎng)地,在沒有合適的實(shí)習(xí)場(chǎng)所的情況下,讓學(xué)生做創(chuàng)新性設(shè)計(jì)實(shí)習(xí)。
單片機(jī)技術(shù)應(yīng)用于各種嵌入式系統(tǒng)中,掌握單片機(jī)技術(shù)是自動(dòng)化類專業(yè)學(xué)生就業(yè)的一個(gè)基本條件,有相當(dāng)?shù)膯纹瑱C(jī)設(shè)計(jì)、開發(fā)經(jīng)驗(yàn),對(duì)學(xué)生畢業(yè)找工作將起到很好的幫助作用。
五、結(jié) 語(yǔ)
伴隨著電子信息技術(shù)的飛速發(fā)展,出現(xiàn)了大量的仿真工具,為實(shí)際系統(tǒng)的開發(fā)提供了準(zhǔn)確可靠的保證,同時(shí)節(jié)約人力和物力,是未來產(chǎn)品設(shè)計(jì)的發(fā)展方向。本文運(yùn)用Proteus與Keil聯(lián)合仿真功能完成單片機(jī)虛擬環(huán)境的構(gòu)建,是對(duì)傳統(tǒng)實(shí)物電路仿真的一種有力補(bǔ)充,有利于促進(jìn)課程和教學(xué)改革,有利于提高學(xué)生的學(xué)習(xí)興趣和創(chuàng)新能力。利用Proteus提供的可靠的虛擬儀器和儀表,不僅可以節(jié)約開發(fā)時(shí)間和開發(fā)成本,而且具有很大的靈活性和可擴(kuò)展性,大大提高了教學(xué)效率。但必須指出,仿真不能完全代替實(shí)物,在實(shí)際應(yīng)用中會(huì)遇到很多新的問題,不可能拋棄已有的教學(xué)模式和實(shí)驗(yàn)手段而僅僅依靠虛擬的實(shí)驗(yàn)環(huán)境。只有將仿真結(jié)果應(yīng)用于具體電路系統(tǒng),才能真正鍛煉學(xué)生的軟硬件綜合開發(fā)能力。
參考文獻(xiàn):
?。?] 余桂蘭,左敬龍.創(chuàng)新模式下的高校單片機(jī)虛擬實(shí)驗(yàn)室
?。跩].廣東石油化工學(xué)院學(xué)報(bào),2011,21(1):59-62.
?。?] 焦鉻,戴小新.基于Po64dsCbIhXWnKynx0eivEw==roteus和Keil的單片機(jī)虛擬實(shí)驗(yàn)室的
構(gòu)建[J].電腦知識(shí)與技術(shù),2010,6(28).
?。?] 吳新華.單片機(jī)虛擬實(shí)驗(yàn)室的構(gòu)建[J].萍鄉(xiāng)高等專科學(xué)
校學(xué)報(bào),2009,26(3):38-41.
?。?] 黃克亞,尤鳳翔.基于“工作過程系統(tǒng)化”的單片機(jī)系列
課程教學(xué)改革探索[J].職業(yè)時(shí)空,2011,(10):74-75.
Higher Vocational Colleges Microcontroller Virtual Laboratory Construction
Scheme Research
HUANG Ke-ya
Abstract: Based on the single chip microcomputer curriculum theory teaching and traditional practice teaching problems or insuffici