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