摘要: Proteus是一款功能強大的EDA軟件,它所配備的仿真元件庫使其在電子設備的動態仿真方面具有其他仿真軟件不可比擬的優越性。它在軟件使用方面,簡單易學,尤其是在單片機教學中的應用,可在不需要任何硬件投入的前提下,使得單片機教學變得形象生動,并在教學中取得了良好的效果。本文通過展示Proteus在單片機教學中的應用實例,就其優點和實用性進行了一定的探究。
關鍵詞: Proteus 單片機 教學 仿真
1.引言
隨著計算機技術的日新月異,虛擬現實技術得到了飛速發展,對高校電子技術教學改革也起到了巨大的推動作用。虛擬現實技術在電子技術教學中的應用主要是電子工作平臺EDA軟件,常見的EDA軟件主要有:Protel、Multisim、Pspice、OrCAD等,這些軟件之間的功能差別不大,可是它們都有個共同的缺點:對凡是涉及單片機的電路設計就無法進行仿真。本文介紹的Proteus軟件就是一個可以模擬仿真單片機和外圍器件電路設計的利器。
在傳統的單片機教學環境中,師生只能寫軟件程序而無法展示實驗過程、實驗結果。而通過以Proteus為輔助工具,就可以在不需要任何硬件投入的前提下,使得單片機教學變得形象生動并具有可操作性,這樣就可以解決長期以來困擾單片機教學的軟硬件結合的難題。
2.Proteus軟件介紹
Proteus是由英國Labcenter公司開發的EDA工具軟件。作為一款EDA仿真軟件,Proteus比同類軟件更易操作,功能更強大。Proteus不僅可以仿真多系列幾十種單片機,而且還有著數量龐大的元件庫。它具有以下主要特點:
(1)可以仿真、分析各種模擬器件和集成電路。
(2)提供了虛擬示波器、邏輯分析儀、信號發生器、計數器、電表、Virtual Terminal(使用電腦的鍵盤和顯示器通過串口與外部的單片機系統通訊)等虛擬儀器儀表供選擇用。
(3)能夠進行SCH(原理圖)與PCB(印制板)的設計。
(4)能和Keil、Matlab等軟件整合使用,以求達到更好的仿真效果。
3.Proteus在單片機教學中的應用
Proteus可以仿真很多常用的微處理器。具體來講,它支持PIC、8051、AVR、ARM7/LPC2000等系列多種型號的微處理器、微控制器,仿真時只需在設定元件屬性時指定下載程序的路徑即可進行實時動態仿真。下面舉例具體介紹Proteus在單片機仿真中的應用。
3.1設計要求
設計一個溫度檢測系統檢測環境溫度。DS18B20是美國DALLAS半導體公司繼DS1820之后推出的一種改進型智能溫度傳感器。該傳感器采用“一線總線”結構,具有簡潔且經濟的特點,可使用戶輕松地組建傳感器網絡,從而為測溫系統的構建引入全新概念。DS18B20的測溫范圍為-55℃~+125℃,最大分辨率可達0.0625℃,在-10℃~+85℃范圍內,精度為±0.5℃,現場溫度可直接通過“一線總線”以數字方式傳輸,大大提高了系統的抗干擾性。
3.2系統電路圖繪制
Proteus既可以仿真單片機的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其他電路的工作情況。因此在仿真時,可以直接看程序運行和電路工作的過程和結果。
首先運行Proteus軟件,建立一個新文件,從右上角pick devices窗口中選擇電路所需的元件。該系統用到的元器件主要有:1個AT89C51單片機;1個四位七段譯碼顯示器;1個DS18B20溫度計;1個74LS244芯片;1個12MHz晶振;1個復位開關;若干電阻和電容。
然后在Proteus中繪制硬件原理圖,如圖1所示。

3.3系統軟件程序設計
系統程序主要包括主程序、讀出溫度子程序、溫度轉換子程序等。
主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量溫度值,溫度測量每1秒進行一次。
讀出溫度子程序的主要功能是讀出RAM中的9字節,在讀出時需進行CRC校驗,校驗有錯時不進行溫度數據的改寫。
溫度轉換子程序主要是發溫度轉換開始命令,當采用12位分辨率時轉換時間約為750ms。首先發DS18B20復位命令,然后發跳過ROM命令,最后發溫度轉換開始命令,這樣就完成了溫度轉換命令子程序。
除了以上3個程序段外,系統還應具有計算溫度子程序、顯示數據子程序、按鍵調節子程序等。
3.4仿真結果
首先把源文件在WAVE編譯環境下生成可執行文件(*.hex格式),路徑指定給原理圖中的芯片,就可以觀察程序的運行。另外,值得一提的是,實時仿真運行的過程中,每個管腳的旁邊會出現一個小正方形的指示,紅色代表高電平,藍色帶表低電平,從這個小正方形可以不用虛擬工具的測量很直觀地看到每個管腳的電平變化,對程序的運行做出最基本的判斷,對于簡單的分析可以節省很多的時間。經過調節DS18B20的“↑”或“↓”鍵,設定環境溫度為127.7℃,然后觀察四位數碼管的顯示,發現兩者數值一致,這就說明能夠達到預先設計的要求。
4.用Proteus進行單片機教學的優點
4.1所需硬件少,成本經濟。
4.2學習、使用方便,容易產生興趣。
4.3用Proteus進行仿真,與工程實際最為接近,使學生可以了解實際問題的解決過程。
5.用Proteus進行單片機教學的缺點和不足
5.1由于Proteus是英國開發的軟件,在國內常用的一些芯片,器件庫中有的沒有,在實際設計仿真中,經常需要用近似產品來替代,造成了開發設計當中的不便。
5.2器件庫中有的模型,缺少仿真文件,不能進行仿真,經常造成調試錯誤。如:常用的ADC0809在模型中就缺少仿真文件,實際使用時,只能用ADC0808。
5.3實時性比較差,這是仿真軟件的通病。
6.結語
總之,采用Proteus進行單片機教學是利大于弊,有利于促成課程和教學改革,更有利于人才的培養,從經濟性、可移植性和可推廣度來講是非常有意義的。
采用Proteus仿真軟件構成的單片機教學系統,既可以進行軟件實驗,如指令系統實驗、數值轉換、查表等實驗,又能通過簡單的虛擬外部電路實現定時計數、中斷、串行通信等初學者較難理解的實驗。另外,可通過按鈕、發光二極管和數碼管進行基本的輸入、輸出接口實驗。減少了實驗設備的硬件維護工作量,實驗環境又與實際工程非常接近,拉近了單片機學習與就業的距離。這種虛擬實驗的教學方法在試驗教學中已經取得了良好的教學效果。
參考文獻:
[1]許文斌.Proteus軟件在單片機系統仿真實驗教學中的應用[J].長沙航空職業技術學院:商業經濟,2006,(3).
[2]沈紅衛.單片機應用系統設計實例與分析[M].北京:北京航空航天大學出版社,2003.
[3]李學禮,林海峰.基于Proteus軟件的單片機實驗室建設[J].單片機與嵌入式系統的應用,2005,(9).
[4]李學禮,林海蜂.基于Proteus軟件的單片機實驗室建設.北京職業信息技術學院,Microcontrollers Embedded Systems,2005.9.