淮安市高級職業技術學校電子系 汪守棟
筆者長期從事高職層次的單片機教學,從以往的教學可以看出,單片機是一門實踐性非常強的課程。因此若想收到理想的教學效果,必須要進行理論與實踐的一體化、并行的教學。
而進行單片機的實驗教學則需要專門的設備、開發板。調試起來不光費時,而且學生若操作不當,極容易引起電路板的損壞與故障,從而很容易阻礙課程的進度。這樣一來,單片機的教學給人的感覺是費時、費精力而不討好。
隨著虛擬軟件的出現,教學中的這些令人頭疼的矛盾得到了根本性的解決。對于單片機教學,有一種叫做PROTEUS的虛擬軟件非常適合、非常的湊效。它通過模擬實際的電路而打造出適合程序運行的環境,從而使教學得到了功半事倍的效果,極大的提高了課堂的效率。使老師與學生有更多的精力投入到程序的設計上面,而不會把時間浪費在電路的調試上面。
Proteus是世界上著名的EDA工具,從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。
有甲乙兩個單片機進行雙向的串行通信,甲機通過按鍵控制乙機上LED燈的閃爍,乙機通過按鍵把數據發送到甲機所構成的系統的數碼管上。
拿到這個任務之后,大家可能會覺得這個任務不是很簡單。因為這個里面不但涉及到數碼管、LED、獨立按鍵的驅動,而且還涉及到要焊接兩個單片機的最小系統。所以,若想完成該任務,前期的電路設計與焊接要占用很多的時間。若要購買成型的單片機開發板,也是很不容易的,因為一方面價格較昂貴,另一方面很少有一個開發板上面具有兩個單片機最小系統這樣另類的結構。而我們學習單片機這門課程的主要目的是為了訓練編程的能力,象這樣準備與搭建硬件電路耗費了我們太多的精力,導致了我們學習效率的低下。
而PROTEUS虛擬軟件的出現,徹底解決與顛覆了這個瓶頸。它可以在PC機上模擬出我們需要的硬件環境。然后程序員就可以再這個硬件環境的基礎上編寫程序,讓然后將生成的機器碼加載到虛擬環境的單片機中,可以全真的去模擬驗證程序的執行結果。
首先從網絡上面下載破解版的PROTEUS安裝程序,筆者使用的是7.5版本的,當然現在還有更高的版本,功能基本上相差不大的。
在PC上第一次啟動該軟件以后,建立一個設計文本如圖1所示:

圖1 設計文本圖
接下來我們就可以在上面的工作區范圍內建立我們所需要的電路。因為PROTEUS是自帶元器件庫的。正常情況下我們所需要的元器件及芯片其庫里都有的。在該例子中,需要的元器件名稱分別為:AT89C51(單片機)、BUTTON(獨立按鍵)、LEDRED(紅色的LED燈)、RES(電阻)。完成后的電路圖如圖2所示:

圖2 電路圖
那么,這樣的電路就完全可以仿真實際的電路,也就是程序員完全可以以此作為硬件開發環境對上圖中的兩個單片機芯片進行編程,從而達到控制外圍設備的目的。整個的過程,不需要耗費萬能板、元器件、芯片,完全在PC機上模擬實際電路,而且能達到與實際電路相同的效果。從而節省了電路搭建的麻煩與痛苦,使得學生能爭取更多的時間投入到單片機的程序設計中去。提高了課堂效率。
筆者在長期的教學過程中,已經將單片機常用的外圍設備用軟件的形式做好。因此,現在的單片機實驗教學,完全是在計算機房完成的。學生只要拷貝一份電路圖,就等于擁有了一塊功能非常齊全的實驗板。而學生的任務就是在這個虛幻的環境下進行算法的設計與程序的編碼。這樣,就初步構建出一個虛擬的單片機實驗室。在使用PROTEUS組建單片機虛擬實驗室過程中,筆者覺得有如下幾點優勢:
解決以往以理論為主實踐少,且實踐以驗證性為主及設備不足等問題。由于Proteus特有的虛擬仿真技術能在沒有單片機實際硬件的條件下實現單片機系統的軟硬件同步仿真調試,只要在安裝有Proteus和Keil軟件的虛擬實驗室里就可以完成整個開發過程,無需任何其他硬件設備的支持;在實驗室不開放的情況下,學生也可以利用自己的電腦來完成。
由于Proteus提供的都是虛擬設備,可以讓學生自由、大膽地進行各種設計,無需擔心損害實驗設備,也不用承擔設計開發的各種費用,節約了實驗經費。學生的某些創造性設想在仿真軟件可以很快地得以實施,相比于到電子市場購買元器件再組裝調試,既節約了成本又提高了效率。
基于“工作過程系統化”的單片機項目式教學法突破了傳統的教學模式,以項目取代章節,將理論知識貫穿于各項目中,開展理實一體化項目教學,強調理論知識與實踐技能相結合,融“教、學、做”一體。單片機虛擬實驗室的建立成為大力推進項目教學的有力保障,對于項目教學來說課程劃分若干項目,每一個項目都是一個具體的控制任務,軟硬件均可以在Keil和Proteus聯合仿真調試,學生可以在教師指導下獨立完成設計任務并檢查控制效果。單片機虛擬實驗室的建立可以較好地克服傳統的單片機教學中無法兼顧理論教學和實踐教學,或是由實物演示帶來教師工作量大和教學效率低等問題。
建成的單片機創新虛擬實驗室也可以作為學生實習的場地,在沒有合適的實習場所的情況下,可以讓學生做創新性設計實習。
單片機技術應用于各種嵌入式系統中,掌握單片機技術是電子、自動化類專業學生就業的一個基本條件。有相當的單片機設計、開發經驗,對學生畢業找工作將起到很好的幫助作用。