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