1.引言
單片機體積小,重量輕,具有很強的靈活性而且價格便宜,具有邏輯判斷,定時計數(shù)等多種功能,廣泛應(yīng)用于儀器儀表,家用電器,醫(yī)用設(shè)備的智能化管理和過程控制等領(lǐng)域。以單片機為核心的嵌入式系統(tǒng)已經(jīng)成為目前電子設(shè)計最活躍的領(lǐng)域之一。在嵌入式系統(tǒng)的中,開發(fā)板成本高,特別是對于大量的初學(xué)者而言,還可能由于設(shè)計的錯誤導(dǎo)致開發(fā)板損壞。利用Proteus我們可以很好地解決這個問題,由此我們可以快速地建立一個仿真系統(tǒng)。
2.Proteus介紹
Proteus是英國Labcenter Electro-nics公司開發(fā)的一款電路仿真軟件,軟件由兩部分組成:一部分是智能原理圖輸入系統(tǒng)ISIS(Intelligent Schematic Input System)和虛擬系統(tǒng)模型VSM(Virtual Model System);另一部分是高級布線及編輯軟件ARES(Adv-Ancd Routing and Editing Software)也就是PCB.
2.1 Proteus VSM的仿真
Proteus可以仿真模擬電路及數(shù)字電路,也可以仿真模擬數(shù)字混合電路。
Proteus可提供30多種元件庫,超過8000種模擬、數(shù)字元器件??梢园凑赵O(shè)計的要求選擇不同生產(chǎn)廠家的元器件。此外,對于元器件庫中沒有的元件,設(shè)計者也可以通過軟件自己創(chuàng)建。
除擁有豐富的元器件外,Proteus還提供了各種虛擬儀器,如常用的電流表,電壓表,示波器,計數(shù)/定時/頻率計,SPI調(diào)試器等虛擬終端。支持圖形化的分析功能等。
Proteus特別適合對嵌入式系統(tǒng)進行軟硬件協(xié)同設(shè)計與仿真,其最大的特點是可以仿真8051,PIA,AVR,ARM等多種系列的處理器。Protues包含強大的調(diào)試工具,具有對寄存器和存儲器、斷點和單步模式IAR C-SPY,Keil、MPLAB等開發(fā)工具的源程序進行調(diào)試的功能;能夠觀察代碼在仿真硬件上的實時運行效果;對顯示,按鈕,鍵盤等外設(shè)的交互可視化進行仿真。
2.2 Proteus PCB
Proteus 的PCB設(shè)計除了有自動布線仿真功能外,還集成了PCB設(shè)計,支持多達16個布線層,可以任意角度放置元件和焊接連線;集成了高智能的布線算法,可以方便地進行PCB設(shè)計。
3. 基于Protesus的簡單數(shù)據(jù)采集系統(tǒng)。
3.1 軟件的編寫
本例題采用可調(diào)電阻調(diào)節(jié)電壓值作為模擬信號的輸入量,通過A/D轉(zhuǎn)換芯片AD0808把模擬信號轉(zhuǎn)換為數(shù)字量傳送到單片機的P1口,并在P0口把轉(zhuǎn)換的結(jié)果顯示出來。
軟件的編寫可以在Keil C51 環(huán)境下進行,芯片的型號選擇AT89C51,編寫data.c文件,利用Keil C51進行編譯,編譯成功后生成data.hex文件。
3.2 繪制電路圖
運行Proteus的ISIS,進入仿真軟件的主界面,如圖1所示。主界面分為菜單欄,工具欄,模型顯示窗口,模型選擇區(qū),元件列表區(qū)等。
圖1 ISIS啟動界面
通過左側(cè)的工具欄區(qū)的P(從庫中選擇元件)命令,在Pick devices窗口中選擇系統(tǒng)所需元器件,還可以選擇元件的類別,生產(chǎn)廠家等。本例所需主要元器件有:AT89C51芯片,ADC0808芯片,一個四位七段數(shù)碼顯示器,一個可變電阻,詳見表1。
表1 元器件清單
選擇元器件后連接圖2所示電路。
圖2 電路原理圖
Microproccessor ICs類的芯片的引腳與實際的芯片基本相同, 唯一的差別是隱去了GND和VCC引腳,系統(tǒng)默認的是把它們分別連接到地和+5V直流電源。故在電路連線時可以不考慮電源和地的連接。為了快速進行仿真,系統(tǒng)所需的時鐘電路,復(fù)位電路可以省略。
電路連接完成后,選中AT89C51單擊鼠標(biāo)左鍵,打開“Edit Component”對話窗口如圖3所示,可以直接在“Clock Frequency”后進行頻率設(shè)定,設(shè)定單片機的時鐘頻率為12MHz。在“Program File”欄中選擇已經(jīng)生成的data.hex文件,把在Keil編寫的程序?qū)隤roteus,然后單擊“OK”按鈕保存設(shè)計。至此,就可以進行單片機的仿真。
圖 3 單片機屬性的設(shè)定
3.3 Proteus仿真結(jié)果
單片機的仿真結(jié)果圖如圖4,模擬信號經(jīng)A/D轉(zhuǎn)換后,結(jié)果送入單片機,再在數(shù)碼管上顯示;通過調(diào)節(jié)可調(diào)電阻的阻值,可以得到不同的顯示結(jié)果。仿真結(jié)果表明,系統(tǒng)達到了預(yù)先的設(shè)計要求。
在仿真的過程中每個管腳旁邊會出現(xiàn)一個小方塊,紅色的方快表示高電平,藍色的表示低電平。 通過方快顏色的變化可以很方便地知道每個管腳電平的變化,從而能對系統(tǒng)的運行有更直觀的了解,這對程序的調(diào)試有很大的幫助。
圖4 仿真結(jié)果
4.結(jié)束語
本文結(jié)合一個簡單的數(shù)據(jù)采集系統(tǒng)詳細說明了Proteus在單片機開發(fā)中的應(yīng)用??梢钥闯?,Proteus功能十分強大,能仿真各種數(shù)字模擬電路,且操作簡單,使用方便。能快速地進行單片機仿真,加快系統(tǒng)開發(fā)的過程,降低開發(fā)成本。
參考文獻:
?。?].張齊,杜群貴。單片機應(yīng)用系統(tǒng)設(shè)計技術(shù)——基于C語言編程。[M]。北京:電子工業(yè)出版社,2004。
?。?]。 林志琦,郎建軍等。基于Proteus的單片機可視化軟硬件仿真。[M]。北京:北京航空航天大學(xué)出版社,2006