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

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