<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開(kāi)發(fā)網(wǎng)

      電子開(kāi)發(fā)網(wǎng)電子設(shè)計(jì) | 電子開(kāi)發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
      搜索: 您現(xiàn)在的位置: 電子開(kāi)發(fā)網(wǎng) >> 電子開(kāi)發(fā) >> EDA開(kāi)發(fā)應(yīng)用 >> Proteus >> 正文

      Proteus 與單片機(jī)實(shí)時(shí)動(dòng)態(tài)仿真

      作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2016-10-13

      0.引言
          Proteus 是由英國(guó)Labcenter electronics 公司開(kāi)發(fā)的EDA 工具軟件。它從1989 年出現(xiàn)到現(xiàn)在已經(jīng)有十多年的歷史,在全球廣泛使用。Proteus 安裝以后,主要由兩個(gè)程序組成:Ares和Isis。前者主要用于PCB 自動(dòng)或人工布線及其電路仿真,后者主要采用原理布圖的方法繪制電路并進(jìn)行相應(yīng)的仿真。除了上述基本應(yīng)用之外,Proteus 革命性的功能在于它的電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件代碼級(jí)的調(diào)試,還可以直接實(shí)時(shí)動(dòng)態(tài)地模擬按鈕、鍵盤(pán)的輸入,LED、液晶顯示的輸出,同時(shí)配合虛擬工具如示波器、邏輯分析儀等進(jìn)行相應(yīng)的測(cè)量和觀測(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ì)話”的模擬增強(qiáng)了系統(tǒng)的真實(shí)性;二是虛擬工具箱的功能,它能與仿真同時(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)用和連線,通過(guò)對(duì)每個(gè)元件的屬性設(shè)置完成繪圖,然后即可進(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ò)程中,你可以用鼠標(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ù)觀測(cè),測(cè)量結(jié)果隨仿真動(dòng)態(tài)變化并顯示,可以滿足精度要求不是很高的測(cè)量分析,對(duì)于電路特性的定性分析可以起到事半功倍的效果,大大節(jié)約了測(cè)試時(shí)間和開(kāi)發(fā)成本。軟件提供的虛擬工具和儀器如圖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í)可以觀測(cè)到一個(gè)占空比可調(diào)的PWM 方波,如圖所示。

      2.Proteus 在單片機(jī)仿真中的應(yīng)用
          基于VSM 的理論,Proteus 可以仿真很多常用的微處理器。具體來(lái)講,它支持PIC, 8051,AVR, HC11, ARM7/LPC2000 等系列多種型號(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)默認(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 格式)路徑指定給原理圖中的芯片,就可以觀察程序的運(yùn)行。另外值得一提的是,實(shí)時(shí)仿真運(yùn)行的過(guò)程中,每個(gè)管腳的旁邊會(huì)出現(xiàn)一個(gè)小正方形的指示,紅色代表高電平,藍(lán)色帶表低電平,從這個(gè)小正方形我們可以不用虛擬工具的測(cè)量很直觀的看到每個(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í)仿真不同,代碼級(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 仿真功能。它最主要的功能是觀察代碼執(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)討B(tài)外設(shè)配合的功能,AVR Studio 就顯得無(wú)能為力了。同時(shí)該軟件使用黑色、白色的方塊來(lái)表示1 和0,用以反映寄存器值的變化,當(dāng)需要觀察某些波形時(shí),這樣的仿真結(jié)果顯得很不直觀。Vmlab 在這方面要做得好一些。
          VMLAB 的全稱(chēng)為:Visual Micro Lab。它針對(duì)于AVR 以及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ī)為核心仿真出包括模擬元器件在內(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ī)EXAMPLE02 在本例中只相當(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ì)話”部分主要靠這個(gè)系統(tǒng)來(lái)實(shí)現(xiàn)。在編寫(xiě)這部分程序時(shí)要進(jìn)行頻繁的測(cè)試從而更改一些參數(shù)使系統(tǒng)達(dá)到良好的工作狀態(tài),常見(jiàn)的問(wèn)題有:顯示界面的布局、菜單層次的設(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è)5×8或5×11 點(diǎn)陣塊組成的顯示字符群。每個(gè)點(diǎn)陣塊為一個(gè)字符位,字符間距和行距都為一個(gè)點(diǎn)的寬度。
          該字符型LCD 具有字符發(fā)生器ROM 可顯示192 種字符(160 個(gè)5×7 點(diǎn)陣字符和32 個(gè)5×10 點(diǎn)陣字符)具有64 個(gè)字節(jié)的自定義字符RAM,可自定義8 個(gè)5×8 點(diǎn)陣字符或四個(gè)5×11點(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 個(gè)按鍵足以滿足多數(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)境模擬、圖表分析、噪聲分析等高級(jí)應(yīng)用。Proteus 軟件的安裝目錄中有很多經(jīng)典的范例,讀者通過(guò)自學(xué)可以進(jìn)一步了解該軟件在EDA 設(shè)計(jì)的各個(gè)領(lǐng)域的綜合應(yīng)用。同時(shí),Proteus 的出現(xiàn)也為單片機(jī)教學(xué)工作和單片機(jī)虛擬實(shí)驗(yàn)室的建設(shè)提供了一條方便、快捷、節(jié)約成本的新思路。相信隨著越來(lái)越多的人對(duì)Proteus 的了解和使用,它會(huì)對(duì)我們的學(xué)習(xí)、科研和工作帶來(lái)越來(lái)越多的便利。

      參考文獻(xiàn)
      [1] http://www.labcenters.co.uk
      [2] 黃任,《AVR 單片機(jī)與CPLD/FPGA 綜合應(yīng)用入門(mén)》,.北京:北京航空航天大學(xué)出版社 2004

      Tags:Proteus,單片機(jī)實(shí)時(shí)動(dòng)態(tài)仿真  
      責(zé)任編輯:admin
      請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱(chēng):
      1分 2分 3分 4分 5分

      還可以輸入 200 個(gè)字
      [ 查看全部 ] 網(wǎng)友評(píng)論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁(yè)面
      下到頁(yè)底
      晶體管查詢(xún)
      主站蜘蛛池模板: 99久久婷婷国产综合亚洲| 精品综合久久久久久99| 久久综合色天天久久综合图片| 国产成人综合久久精品下载| 综合激情五月综合激情五月激情1| 久久综合久久鬼色| 91在线亚洲综合在线| 婷婷四房综合激情五月在线| 婷婷激情狠狠综合五月| 久久国产精品亚洲综合| 狠狠综合久久综合中文88| 久久久久国产综合AV天堂| 色婷婷久久综合中文久久一本| 亚洲国产精品成人综合久久久| 色噜噜狠狠狠狠色综合久| 亚洲av日韩av综合| 久久综合精品国产一区二区三区 | 99久久国产综合精品swag| 成人综合国产乱在线| 国产成人综合在线观看网站 | 狠狠色综合网站久久久久久久高清 | 综合在线免费视频| 久久亚洲精品人成综合网| 天天做天天爱天天综合网| 麻豆久久婷婷五月综合国产| 久久天堂AV综合合色蜜桃网| 久久综合久久综合九色| 色综合久久综合中文综合网| 久久婷婷国产综合精品| 久久久久AV综合网成人| 69国产成人综合久久精品| 亚洲av永久中文无码精品综合 | 狠狠色丁香久久婷婷综合图片| 久久伊人久久亚洲综合| 婷婷五月综合缴情在线视频| 国产亚洲欧洲Aⅴ综合一区 | 狠狠色婷婷狠狠狠亚洲综合| 久久婷婷五月综合97色直播| 国产综合色产在线精品| 亚洲综合区图片小说区| 亚洲av日韩综合一区久热|