淮安市高級(jí)職業(yè)技術(shù)學(xué)校電子系 汪守棟
筆者長期從事高職層次的單片機(jī)教學(xué),從以往的教學(xué)可以看出,單片機(jī)是一門實(shí)踐性非常強(qiáng)的課程。因此若想收到理想的教學(xué)效果,必須要進(jìn)行理論與實(shí)踐的一體化、并行的教學(xué)。
而進(jìn)行單片機(jī)的實(shí)驗(yàn)教學(xué)則需要專門的設(shè)備、開發(fā)板。調(diào)試起來不光費(fèi)時(shí),而且學(xué)生若操作不當(dāng),極容易引起電路板的損壞與故障,從而很容易阻礙課程的進(jìn)度。這樣一來,單片機(jī)的教學(xué)給人的感覺是費(fèi)時(shí)、費(fèi)精力而不討好。
隨著虛擬軟件的出現(xiàn),教學(xué)中的這些令人頭疼的矛盾得到了根本性的解決。對于單片機(jī)教學(xué),有一種叫做PROTEUS的虛擬軟件非常適合、非常的湊效。它通過模擬實(shí)際的電路而打造出適合程序運(yùn)行的環(huán)境,從而使教學(xué)得到了功半事倍的效果,極大的提高了課堂的效率。使老師與學(xué)生有更多的精力投入到程序的設(shè)計(jì)上面,而不會(huì)把時(shí)間浪費(fèi)在電路的調(diào)試上面。
Proteus是世界上著名的EDA工具,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。
有甲乙兩個(gè)單片機(jī)進(jìn)行雙向的串行通信,甲機(jī)通過按鍵控制乙機(jī)上LED燈的閃爍,乙機(jī)通過按鍵把數(shù)據(jù)發(fā)送到甲機(jī)所構(gòu)成的系統(tǒng)的數(shù)碼管上。
拿到這個(gè)任務(wù)之后,大家可能會(huì)覺得這個(gè)任務(wù)不是很簡單。因?yàn)檫@個(gè)里面不但涉及到數(shù)碼管、LED、獨(dú)立按鍵的驅(qū)動(dòng),而且還涉及到要焊接兩個(gè)單片機(jī)的最小系統(tǒng)。所以,若想完成該任務(wù),前期的電路設(shè)計(jì)與焊接要占用很多的時(shí)間。若要購買成型的單片機(jī)開發(fā)板,也是很不容易的,因?yàn)橐环矫鎯r(jià)格較昂貴,另一方面很少有一個(gè)開發(fā)板上面具有兩個(gè)單片機(jī)最小系統(tǒng)這樣另類的結(jié)構(gòu)。而我們學(xué)習(xí)單片機(jī)這門課程的主要目的是為了訓(xùn)練編程的能力,象這樣準(zhǔn)備與搭建硬件電路耗費(fèi)了我們太多的精力,導(dǎo)致了我們學(xué)習(xí)效率的低下。
而PROTEUS虛擬軟件的出現(xiàn),徹底解決與顛覆了這個(gè)瓶頸。它可以在PC機(jī)上模擬出我們需要的硬件環(huán)境。然后程序員就可以再這個(gè)硬件環(huán)境的基礎(chǔ)上編寫程序,讓然后將生成的機(jī)器碼加載到虛擬環(huán)境的單片機(jī)中,可以全真的去模擬驗(yàn)證程序的執(zhí)行結(jié)果。
首先從網(wǎng)絡(luò)上面下載破解版的PROTEUS安裝程序,筆者使用的是7.5版本的,當(dāng)然現(xiàn)在還有更高的版本,功能基本上相差不大的。
在PC上第一次啟動(dòng)該軟件以后,建立一個(gè)設(shè)計(jì)文本如圖1所示:
圖1 設(shè)計(jì)文本圖
接下來我們就可以在上面的工作區(qū)范圍內(nèi)建立我們所需要的電路。因?yàn)镻ROTEUS是自帶元器件庫的。正常情況下我們所需要的元器件及芯片其庫里都有的。在該例子中,需要的元器件名稱分別為:AT89C51(單片機(jī))、BUTTON(獨(dú)立按鍵)、LEDRED(紅色的LED燈)、RES(電阻)。完成后的電路圖如圖2所示:
圖2 電路圖
那么,這樣的電路就完全可以仿真實(shí)際的電路,也就是程序員完全可以以此作為硬件開發(fā)環(huán)境對上圖中的兩個(gè)單片機(jī)芯片進(jìn)行編程,從而達(dá)到控制外圍設(shè)備的目的。整個(gè)的過程,不需要耗費(fèi)萬能板、元器件、芯片,完全在PC機(jī)上模擬實(shí)際電路,而且能達(dá)到與實(shí)際電路相同的效果。從而節(jié)省了電路搭建的麻煩與痛苦,使得學(xué)生能爭取更多的時(shí)間投入到單片機(jī)的程序設(shè)計(jì)中去。提高了課堂效率。
筆者在長期的教學(xué)過程中,已經(jīng)將單片機(jī)常用的外圍設(shè)備用軟件的形式做好。因此,現(xiàn)在的單片機(jī)實(shí)驗(yàn)教學(xué),完全是在計(jì)算機(jī)房完成的。學(xué)生只要拷貝一份電路圖,就等于擁有了一塊功能非常齊全的實(shí)驗(yàn)板。而學(xué)生的任務(wù)就是在這個(gè)虛幻的環(huán)境下進(jìn)行算法的設(shè)計(jì)與程序的編碼。這樣,就初步構(gòu)建出一個(gè)虛擬的單片機(jī)實(shí)驗(yàn)室。在使用PROTEUS組建單片機(jī)虛擬實(shí)驗(yàn)室過程中,筆者覺得有如下幾點(diǎn)優(yōu)勢:
解決以往以理論為主實(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é)生也可以利用自己的電腦來完成。
由于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í)施,相比于到電子市場購買元器件再組裝調(diào)試,既節(jié)約了成本又提高了效率。
基于“工作過程系統(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é)的有力保障,對于項(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é)效率低等問題。
建成的單片機(jī)創(chuàng)新虛擬實(shí)驗(yàn)室也可以作為學(xué)生實(shí)習(xí)的場地,在沒有合適的實(shí)習(xí)場所的情況下,可以讓學(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),對學(xué)生畢業(yè)找工作將起到很好的幫助作用。