版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Proteus 與單片機(jī)實(shí)時(shí)動(dòng)態(tài)仿真 字體大小: 小 中 大 作者:施柏鑫 來(lái)源: 日期:2007-06-01 點(diǎn)擊:772 0.引言 Proteus 是由英國(guó)Labcenter electronics 公司開(kāi)發(fā)的EDA 工具軟件。它從1989 年出現(xiàn)到現(xiàn)在已經(jīng)有十多年的歷史,在全球廣泛使用。Proteus 安裝以后,主要由兩個(gè)程序組成:Ares和Isis。前者主要用于PCB 自動(dòng)或人工布線(xiàn)及其電路仿真,后者主要采用原理布圖的方法繪制電路并進(jìn)行相應(yīng)的仿真。除了上述基本應(yīng)用之外,Proteus 革命性的功能在于它的電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)
2、軟件代碼級(jí)的調(diào)試,還可以直接實(shí)時(shí)動(dòng)態(tài)地模擬按鈕、鍵盤(pán)的輸入,LED、液晶顯示的輸出,同時(shí)配合虛擬工具如示波器、邏輯分析儀等進(jìn)行相應(yīng)的測(cè)量和觀(guān)測(cè)。 Proteus 軟件的應(yīng)用范圍十分廣泛,涉及PCB 制版、spice 電路仿真、單片機(jī)仿真,在最新的6.9 版本中又加入了對(duì)ARM7/LPC2000 的仿真。本文主要以單片機(jī)的仿真為例,使大家初步了解該軟件的強(qiáng)大功能及其在工程實(shí)踐和實(shí)驗(yàn)教學(xué)中的重要作用。1.Proteus 仿真功能簡(jiǎn)介 作為一款EDA 仿真軟件,Proteus 與同類(lèi)軟件有著很多的相似之處。相比之下,其主要的特點(diǎn)有兩個(gè):一是對(duì)動(dòng)態(tài)元件的實(shí)時(shí)仿真,它對(duì)“人機(jī)對(duì)話(huà)”的模擬增強(qiáng)了系統(tǒng)的真實(shí)
3、性;二是虛擬工具箱的功能,它能與仿真同時(shí)進(jìn)行,測(cè)量方便而準(zhǔn)確。下面著重介紹一下該軟件的這兩個(gè)突出特點(diǎn)。1.1.實(shí)時(shí)動(dòng)態(tài)仿真 與多數(shù)仿真軟件相似,Proteus 有著數(shù)量龐大的元件庫(kù)。Labcenter 公司與相關(guān)的第三方軟件陣容共同開(kāi)發(fā)了6000 多個(gè)模擬和數(shù)字電路中常用的spice 模型以及各種動(dòng)態(tài)元件,基本元件如電阻、電容、各種二極管、三極管、MOS 管、555 定時(shí)器等;74 系列TTL 元件和4000 系列CMOS 元件;存儲(chǔ)芯片包括各種常用的ROM, RAM,EEPROM, 還有常見(jiàn)I2C 器件等。在豐富的庫(kù)元件的支持下,原理布圖時(shí)只要進(jìn)行相應(yīng)的調(diào)用和連線(xiàn),通過(guò)對(duì)每個(gè)元件的屬性設(shè)置完
4、成繪圖,然后即可進(jìn)行仿真和虛擬測(cè)量。關(guān)于原理圖的具體繪制方法不是本文討論的重點(diǎn),請(qǐng)參考軟件提供的幫助教程。 與Multisim 等仿真軟件的一大不同,在于Proteus 支持微處理器的仿真。這些仿真的實(shí)現(xiàn)是基于Labcenter 公司提出的VSM 的概念。 VSM,Virtual System Modelling,直接譯作“虛擬系統(tǒng)模型”,官方的定義是:將spice電路模型、動(dòng)態(tài)外設(shè)以及微處理器的仿真結(jié)合起來(lái),在物理原型調(diào)試之前用于仿真整個(gè)單片機(jī)系統(tǒng)的一種設(shè)計(jì)方法1。對(duì)動(dòng)態(tài)外設(shè)的支持是Proteus在區(qū)別于其他等仿真軟件最直接的地方。VSM為用戶(hù)提供了一個(gè)實(shí)時(shí)交互的環(huán)境,在仿真的過(guò)程中,你可以
5、用鼠標(biāo)去點(diǎn)擊開(kāi)關(guān)和按鈕,微處理器根據(jù)輸入的信號(hào)做出相應(yīng)的中斷響應(yīng),同時(shí)輸出運(yùn)算的結(jié)果到顯示終端。整個(gè)過(guò)程與真實(shí)的硬件調(diào)是極其相似的,在動(dòng)態(tài)外設(shè)支持下的實(shí)時(shí)輸入和輸出為實(shí)驗(yàn)者呈現(xiàn)了一個(gè)最接近現(xiàn)實(shí)的調(diào)試環(huán)境。官方資料顯示,一個(gè)300 MHz Pentium II CPU可以以12MHz的時(shí)鐘頻率仿真一個(gè)基本的8051 系統(tǒng)。1.2 虛擬工具箱 Proteus 的虛擬工具箱提供了電路測(cè)試中的常用工具和儀器,主要用于在實(shí)時(shí)仿真同時(shí)的電路參數(shù)觀(guān)測(cè),測(cè)量結(jié)果隨仿真動(dòng)態(tài)變化并顯示,可以滿(mǎn)足精度要求不是很高的測(cè)量分析,對(duì)于電路特性的定性分析可以起到事半功倍的效果,大大節(jié)約了測(cè)試時(shí)間和開(kāi)發(fā)成本。軟件提供的虛擬工
6、具和儀器如圖1.1 所示。圖1.1 虛擬工具箱 下面我們以示波器為例來(lái)說(shuō)明虛擬工具箱的應(yīng)用。圖1.2 虛擬示波器 圖中的電路非常簡(jiǎn)單,單片機(jī)EXAMPLE01 中寫(xiě)入的是一個(gè)輸出驅(qū)動(dòng)直流電機(jī)的PWM方波的程序。我們把輸出管腳連接到示波器的CH1 通道,運(yùn)行仿真,用鼠標(biāo)調(diào)節(jié)虛擬示波器的Y 軸幅度和X 軸掃描頻率,整個(gè)調(diào)節(jié)步驟同真實(shí)的示波器完全一樣。當(dāng)波形穩(wěn)定時(shí)可以觀(guān)測(cè)到一個(gè)占空比可調(diào)的PWM 方波,如圖所示。2.Proteus 在單片機(jī)仿真中的應(yīng)用 基于VSM 的理論,Proteus 可以仿真很多常用的微處理器。具體來(lái)講,它支持PIC, 8051,AVR, HC11, ARM7/LPC2000
7、等系列多種型號(hào)的微處理器、微控制器,仿真時(shí)只需在設(shè)定元件屬性時(shí)指定下載程序的路徑即可進(jìn)行實(shí)時(shí)動(dòng)態(tài)仿真。2.1.Proteus 對(duì)AVR 單片機(jī)的仿真 就Atmel 公司的AVR 系列單片機(jī)而言,Proteus 支持的型號(hào)非常全面,從低端ATtiny10 到高端的ATmega128 均有可以直接調(diào)用的庫(kù)元件。下面以ATmega16 為例介紹Proteus支持的仿真功能。圖2.1 ATmega16 圖2.1 是Proteus 中的ATmega16 庫(kù)元件,其管腳上的標(biāo)識(shí)與該芯片的Datasheet 是基本一致的,唯一的不同是隱去了GND 和VCC 管腳,在繪制原理圖的時(shí)候可以不用對(duì)其進(jìn)行連接,系統(tǒng)
8、默認(rèn)的設(shè)置就是將它們分別連到地和5V 電源上。具體可以仿真的功能有:支持所有的I/O 操作,內(nèi)部的定時(shí)器、計(jì)數(shù)器的模擬(包括輸入捕獲、輸出比較、PWM模式),看門(mén)狗定時(shí)器,串行UART 接口,主、從模式串行SPI 接口,支持內(nèi)置數(shù)模轉(zhuǎn)換ADC,支持Atmel 的TWI (Two Wire Interface)通信方式,存貯器方面支持外部SRAM 擴(kuò)展以及內(nèi)置EEPROM 的模擬,支持多個(gè)微控制器的協(xié)同工作仿真等等。仿真時(shí),首先繪制原理圖,然后將任何AVR 源程序編譯器(WinAVR 等)生成的下載文件(*.hex 格式)路徑指定給原理圖中的芯片,就可以觀(guān)察程序的運(yùn)行。另外值得一提的是,實(shí)時(shí)仿真
9、運(yùn)行的過(guò)程中,每個(gè)管腳的旁邊會(huì)出現(xiàn)一個(gè)小正方形的指示,紅色代表高電平,藍(lán)色帶表低電平,從這個(gè)小正方形我們可以不用虛擬工具的測(cè)量很直觀(guān)的看到每個(gè)管腳的電平變化,對(duì)程序的運(yùn)行做出最基本的判斷,對(duì)于簡(jiǎn)單的分析可以節(jié)省很多的時(shí)間。在本文圖1.2 和圖2.2 的例子中,ATmega16 的19 管腳輸出的是方波,所以旁邊可以看到一個(gè)紅藍(lán)交替、以一定頻率閃爍的小正方形。2.2.Proteus 與其他單片機(jī)仿真軟件的比較 AVR 系列單片機(jī)可以可用很多的軟件進(jìn)行仿真。常用的有AVR Studio 和Vmlab。AVR Studio、Vmlab 和Proteus 都屬于代碼級(jí)的仿真軟件,與芯片級(jí)仿真不同,代碼
10、級(jí)仿真完全在計(jì)算機(jī)上完成,不需要硬件的參與,主要用于查看代碼的執(zhí)行過(guò)程和參數(shù)變化。在具體功能上,這三款軟件各有千秋。 AVR Studio 是一款完全免費(fèi)的AVR 單片機(jī)集成開(kāi)發(fā)環(huán)境,包括AVR Assembler 編譯器和AVR Studio 調(diào)試功能,AVR Prog 串行、并行下載功能和Jtag ICE 仿真功能。它最主要的功能是觀(guān)察代碼執(zhí)行過(guò)程中單片機(jī)內(nèi)部各個(gè)寄存器值的變化,尤其是一些寄存器關(guān)鍵位的置位、復(fù)位操作與代碼的關(guān)系。利用單步調(diào)試功能可以更細(xì)致的檢查代碼的執(zhí)行過(guò)程。對(duì)于內(nèi)部的定時(shí)中斷也可以較好的仿真,使實(shí)驗(yàn)者清楚了解中斷對(duì)于整個(gè)程序流程的影響。但是對(duì)于外部中斷和輸入捕獲等需要?jiǎng)?/p>
11、態(tài)外設(shè)配合的功能,AVR Studio 就顯得無(wú)能為力了。同時(shí)該軟件使用黑色、白色的方塊來(lái)表示1 和0,用以反映寄存器值的變化,當(dāng)需要觀(guān)察某些波形時(shí),這樣的仿真結(jié)果顯得很不直觀(guān)。Vmlab 在這方面要做得好一些。 VMLAB 的全稱(chēng)為:Visual Micro Lab。它針對(duì)于A(yíng)VR 以及ST62 系列單片機(jī)設(shè)計(jì),是一個(gè)單片機(jī)的虛擬原型框架。它具有強(qiáng)大的多窗口、多文件的編輯器,微控制器的集成開(kāi)發(fā)環(huán)境,擁有一系列的集成開(kāi)發(fā)工具,圖形界面調(diào)試器,混合模式的模擬-數(shù)字電路仿真器,代碼質(zhì)量檢查器等等。硬件和應(yīng)用軟件能進(jìn)行并發(fā)仿真。與Proteus 最為相似的一點(diǎn)是它可以以單片機(jī)為核心仿真出包括模擬元器
12、件在內(nèi)的一些動(dòng)態(tài)外設(shè)(按鍵,LED,液晶顯示器等),具有圖形顯示和波形顯示的功能。 如果就單片機(jī)及一些簡(jiǎn)單的動(dòng)態(tài)外設(shè)而言,Vmlab 和Proteus 有著很大的相似,最多只是軟件本身的操作方法有著很大的不同。但是Proteus 不僅僅是一個(gè)AVR 單片機(jī)的仿真軟件,它所支持的大量常用芯片模型為單片機(jī)和其他芯片協(xié)同仿真復(fù)雜的完整系統(tǒng)提供了極大的方便。請(qǐng)看下面的例子,如圖2.2 所示。圖2.2 步進(jìn)電機(jī)驅(qū)動(dòng) 這是一個(gè)完整的步進(jìn)電機(jī)驅(qū)動(dòng)電路,L297 和L298 是常用的步進(jìn)電機(jī)驅(qū)動(dòng)芯片,前者用于產(chǎn)生符合電機(jī)各個(gè)相位正確時(shí)序的方波,后者主要用于電流放大,為電機(jī)產(chǎn)生合適的驅(qū)動(dòng)電流。單片機(jī)EXAMPL
13、E02 在本例中只相當(dāng)于一個(gè)信號(hào)源,提供L297 的時(shí)鐘信號(hào)。這樣完整的系統(tǒng)仿真是其他單片機(jī)仿真軟件所不能獨(dú)立完成的。這時(shí),Proteus 為我們提供的不僅僅是一個(gè)單片機(jī)的仿真環(huán)境,稱(chēng)其為一個(gè)虛擬的單片機(jī)實(shí)驗(yàn)室是完全合適的,只要我們能充分的利用Proteus 提供的實(shí)驗(yàn)器件就可以完成一個(gè)比較完整的單片機(jī)系統(tǒng)。3.Proteus 仿真實(shí)例分析 單片機(jī)、矩陣鍵盤(pán)和字符型液晶的組合是單片機(jī)實(shí)驗(yàn)中最常用的簡(jiǎn)單系統(tǒng)之一,是很多最小系統(tǒng)板的核心部分。在開(kāi)發(fā)實(shí)際的單片機(jī)系統(tǒng)時(shí),“人機(jī)對(duì)話(huà)”部分主要靠這個(gè)系統(tǒng)來(lái)實(shí)現(xiàn)。在編寫(xiě)這部分程序時(shí)要進(jìn)行頻繁的測(cè)試從而更改一些參數(shù)使系統(tǒng)達(dá)到良好的工作狀態(tài),常見(jiàn)的問(wèn)題有:顯示
14、界面的布局、菜單層次的設(shè)置、按鍵靈敏度和防抖的參數(shù)等。有了下面介紹的Proteus 仿真,這些測(cè)試和一些經(jīng)驗(yàn)值的調(diào)整就可以不需要進(jìn)行頻繁的硬件測(cè)試了,而只需要改動(dòng)源程序中的一些函數(shù)調(diào)用。這個(gè)系統(tǒng)可以稍加改動(dòng)輕松應(yīng)用于其他各類(lèi)系統(tǒng)的輸入和輸出部分,具有普遍意義。3.1.1602 字符型液晶簡(jiǎn)介 該顯示模塊由字符型液晶顯示屏(LCD),控制驅(qū)動(dòng)主電路HD44780 及其擴(kuò)展驅(qū)動(dòng)電路HD44100,少量阻、容元件,結(jié)構(gòu)件等裝配在PCB 板上而成。液晶顯示屏是以若干個(gè)58或511 點(diǎn)陣塊組成的顯示字符群。每個(gè)點(diǎn)陣塊為一個(gè)字符位,字符間距和行距都為一個(gè)點(diǎn)的寬度。 該字符型LCD 具有字符發(fā)生器ROM 可
15、顯示192 種字符(160 個(gè)57 點(diǎn)陣字符和32 個(gè)510 點(diǎn)陣字符)具有64 個(gè)字節(jié)的自定義字符RAM,可自定義8 個(gè)58 點(diǎn)陣字符或四個(gè)511點(diǎn)陣字符。且具有80 個(gè)字節(jié)的RAM??梢苑謨尚小⒚恳恍酗@示16 個(gè)ASCII 字符,足以應(yīng)付簡(jiǎn)單用戶(hù)界面(主要由數(shù)字和英文字母組成)的開(kāi)發(fā)和系統(tǒng)參數(shù)的顯示。3.2.4*4 矩陣鍵盤(pán) 4*4 矩陣鍵盤(pán)有4 行4 列,鍵盤(pán)上有4*4=16 個(gè)按鍵,而它只需要占用4+4=8 個(gè)I/O口,這樣的設(shè)計(jì)大大節(jié)省了單片機(jī)寶貴的I/O口資源2。單片機(jī)提供一定頻率的掃描信號(hào)并對(duì)用戶(hù)的按鍵值進(jìn)行分析和處理,達(dá)到正確判斷16 個(gè)按鍵的目的。對(duì)于一般的單片機(jī)系統(tǒng),16
16、個(gè)按鍵足以滿(mǎn)足多數(shù)應(yīng)用的需求。因此,它可以作為很多系統(tǒng)的按鍵輸入工具。3.3.系統(tǒng)綜合分析 根據(jù)以上的分析,以及各器件的工作原理,繪制系統(tǒng)原理圖3.1。圖3.1 液晶和鍵盤(pán)綜合應(yīng)用 單片機(jī)EXAMPLE03 是這個(gè)系統(tǒng)的核心,下載的程序是液晶和鍵盤(pán)的驅(qū)動(dòng)。其中PC0-PC2 分別連接液晶的三個(gè)控制使能端,通過(guò)它們的譯碼組合來(lái)實(shí)現(xiàn)液晶讀寫(xiě)指令和數(shù)據(jù)的控制。PB0-PB7 連接液晶的八位數(shù)據(jù)端,負(fù)責(zé)控制命令和讀寫(xiě)字符的數(shù)據(jù)傳輸。PA0-PA3是輸出端,連接鍵盤(pán)的4 列,輸出列掃描信號(hào);PA4-PA7 是輸入端,連接鍵盤(pán)的4 行,捕捉用戶(hù)的按鍵作為行信號(hào),通過(guò)行列信號(hào)的組合可以唯一確定16 個(gè)按鍵之一,從而供單片機(jī)處理。 圖中模擬的情況是,液晶的第一行顯示預(yù)置的字符串信息“BUPT_Information”,第二行第一列顯示當(dāng)前的按鍵值,此時(shí)鼠標(biāo)按下了數(shù)字健“6”。當(dāng)鼠標(biāo)按下其他的健時(shí),液晶的顯示會(huì)同步更新,這就是Proteus 實(shí)時(shí)動(dòng)態(tài)仿真的神奇之所在!4.結(jié)語(yǔ) 本文所介紹的只是Proteus 強(qiáng)大功能中很初步的一部分。Proteus 還具有環(huán)境模擬
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《小烏龜看爺爺》課件
- 《電氣安全操作技術(shù)》課件
- 三年級(jí)數(shù)學(xué)認(rèn)識(shí)分?jǐn)?shù)課件
- 《神經(jīng)系統(tǒng)的療養(yǎng)》課件
- 單位管理制度集合大合集人員管理篇十篇
- 單位管理制度匯編大合集人力資源管理十篇
- 中心對(duì)稱(chēng)課件
- 單位管理制度分享大全職工管理篇
- 《證據(jù)法的基礎(chǔ)知識(shí)》課件
- 《診斷學(xué)》課程標(biāo)準(zhǔn)
- 晉升管理制度(30篇)
- 2024信息技術(shù)應(yīng)用創(chuàng)新信息系統(tǒng)適配改造成本度量
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測(cè)試(零模)英語(yǔ) 含解析
- 陜西測(cè)繪地理信息局所屬事業(yè)單位2025年上半年招聘87人和重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 保險(xiǎn)學(xué)期末試題及答案
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 抖音認(rèn)證承諾函
- 南京市2023-2024高一上學(xué)期期末英語(yǔ)試卷及答案
- 《供應(yīng)鏈管理》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 國(guó)家自然科學(xué)基金進(jìn)展報(bào)告
- 地質(zhì)工作個(gè)人述職報(bào)告三篇
評(píng)論
0/150
提交評(píng)論