<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于Proteus的單片機虛擬實(shí)驗室的建立方法

一種基于Proteus的單片機虛擬實(shí)驗室的建立方法

作者: 時(shí)間:2009-09-08 來(lái)源:網(wǎng)絡(luò ) 收藏

  0 引 言

  的學(xué)習是一個(gè)實(shí)踐性很強的過(guò)程,目前的實(shí)驗室基本采用硬件仿真設備搭建,受資金和場(chǎng)地的限制,實(shí)驗室配置的靈活性和完整性受到一定的限制。針對這些問(wèn)題,在此提出一種建立基于個(gè)人PC和各種軟件的單片機個(gè)人方案。所謂“”,就是將計算機上的各種虛擬儀器,按實(shí)驗要求和設計原理,虛擬出與現實(shí)相同的實(shí)驗系統,進(jìn)而在這個(gè)系統上完成整個(gè)實(shí)驗。與傳統實(shí)驗模式相比,虛擬實(shí)驗具有比較明顯的優(yōu)勢,例如,涉及的實(shí)驗內容全面,硬件投入少,學(xué)生可自行實(shí)驗,實(shí)驗過(guò)程中損耗小,與工程實(shí)踐最為接近等。一般的僅包含單片機系統的調試,本文在此基礎上又加入了與上位機的聯(lián)合調試。

  在此,以使用VB通過(guò)RS 232串口控制51單片機LED的亮滅為例,介紹基于PC和軟件建立單片機虛擬實(shí)驗室的過(guò)程。

  1 單片機虛擬實(shí)驗室的構成

  原理框圖如圖1所示。上位機用于編寫(xiě)監控界面及程序,實(shí)現對單片機系統的監控,它可以使用VB,VC,Delphi等軟件實(shí)現;用來(lái)實(shí)現上下位機通信的軟件模擬,在這里也可以使用自帶通信類(lèi)的LabVIEW來(lái)實(shí)現上位機軟件和兩項功能;虛擬調試一般以為平臺,建立單片機系統的硬件系統;聯(lián)合調試軟件可為單片機系統提供軟件,支持Hex,COF,D90類(lèi)型文件,同時(shí)支持第三方的軟件編譯和調試環(huán)境,聯(lián)合調試軟件一般有Keil,ADS,Wave等。

單片機虛擬實(shí)驗室的構成

  為了更具有代表性和一般性,該方法的上位機軟件使用VB 6.O開(kāi)發(fā),采用Virtual Serial Ports Drivei XP 5.1;虛擬調試平臺采用 6.7 SP3;聯(lián)合調試軟件使用Keil C51 μVision 2。

  2 系統硬件的建立

  單片機系統的硬件在Proteus中實(shí)現,主要完成硬件平臺的搭建和仿真效果的觀(guān)察。

  2.1 Proteus簡(jiǎn)介

  Proteus是英國Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件,它能夠提供豐富的測試信號用于電路測試,同時(shí)還提供Schematic Drawing,Spice仿真與PCB設計功能,可以仿真51系列、AVR,PIC,ARM等常用的MCU,并提供周邊設備的仿真。Proteus的強大功能為虛擬實(shí)驗室的構建提供了基礎。

  2.2 硬件平臺的搭建

  在這里,單片機采用AT89C52,在P1口接8個(gè)LED,單片機的P3.O,P3.1分別與串口元件COMPIM的RXD,TXD相連,COMPIM已經(jīng)自帶電平轉換功能,就不需要MAX232元件,復位、晶振電路也不需要。硬件平臺原理圖如圖2所示。

硬件平臺原理圖

  調出AT89C52屬性設置窗口,為了串行通信設置方便,設置晶振Clock Frequeney為11.059 2 MHz,如圖3所示,其他參數保留默認即可。打開(kāi)串口元件COMPIM屬性對話(huà)框,在Physical port選項選擇COM4,即使用串口4,該串口是在后面使用軟件虛擬出來(lái)的,其他參數設置如圖4所示,其代表波特率9 600 b/s,8個(gè)數據位,無(wú)奇偶校驗,1個(gè)停止位,其余選項保持默認即可。上位機中的通信設置以及單片機的軟件編寫(xiě)都要求與該設置一致。

參數設置

  3 系統軟件的建立

  系統軟件的建立包括單片機系統軟件和PC上位機軟件的建立。

  3.1 單片機系統軟件的建立

  Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機的軟件。在該例中,單片機主要完成串口接收,將接收的數據送到P0口,從而實(shí)現上位機控制下位機的簡(jiǎn)單功能。該程序在。Keil軟件中編寫(xiě)。

  串口初始化函數如下:

程序

  3.2 位機控制程序的建立

  上位機使用VB建立界面和通信程序,完成數據的發(fā)送。利用VB開(kāi)發(fā)串口通信程序主要有兩種方法:一是使用MSComm串口控件;二是調用Windows API函數。在實(shí)踐中,使用VB串口控件實(shí)現通信的方法比調用API動(dòng)態(tài)鏈接庫的方法更加方便快捷,也減少了因編程不當導致的系統不穩定。

  建立8個(gè)checkbox數組,分別對應控制P0口的8個(gè)小燈;8個(gè)1abe1數組,分別對應8個(gè)編號;2個(gè)按鈕分別為發(fā)送、退出;1個(gè)MSComm控件。在這里,使用虛擬串口COM3,串口設置與Proteus中的一致,運行如圖5所示,程序如下:

程序

  聲明全局變量:Dim DataOutValue As Integer DataOutValue為發(fā)送值。

  初始化程序:主要完成對串口的設置,包括選擇串口,設置波特率,設置數據格式,打開(kāi)串口等。

VB控制界面

  4 虛擬環(huán)境的集成

  分別建立系統的軟硬件之后,還要在虛擬環(huán)境中實(shí)現軟硬件的聯(lián)系和上下位機的通信。

  4.1 Proteus和Keil的聯(lián)合調試

  使用Proteus和Keil的聯(lián)合調試,在原理圖的設計階段就可以對設計進(jìn)行評估,驗證所設計電路的軟硬件是否達到設計要求的技術(shù)指標;還可以通過(guò)改變元器件參數使整個(gè)電路性能達到最優(yōu)化,以節省設計時(shí)間與經(jīng)費,提高設計效率與質(zhì)量。

  Proteus可以和Keil聯(lián)調設置步驟如下:

  (1)復制安裝目錄Proteus\MODELS下的VDM51.dll文件到Keil安裝目錄的\C51\BIN目錄中。

  (2)修改Keil安裝目錄下Tools.ini文件,在C51字段加入TDRV5=BIN\VDM51.DLL("PROTEUS 6EMULATOR")并保存。在這里,不一定要用TDRV5,根據原來(lái)字段選用一個(gè)不重復的數值就可以了。引號內的名字隨意。

  (3)打開(kāi)Proteus,畫(huà)出相應電路,在Proteus的“Debug”菜單中選中“Use Remote Debug Monitor”。

  (4)進(jìn)入Keil的Project菜單Option for Target“工程名”,在Debug選項中右欄上部的下拉菜單選中Proteus Driver,再進(jìn)入Settings,PC的IP設為127.0.0.1,端口號為8000。

  (5)在Keil中進(jìn)行debug,同時(shí)在Proteus中查看直觀(guān)的結果。

  通過(guò)這樣的設置,就可以像使用仿真器一樣調試程序。

  4.2 使用虛擬串口建立上位機和下位機的通信

  PC上位機與下位機的聯(lián)系,傳統上是通過(guò)物理接口如串并口等完成。虛擬實(shí)驗室中,由于下位機在PC中用軟件模擬實(shí)現,上位機與下位機的聯(lián)系與傳統有所區別。這里使用虛擬串口軟件Virtual Serial Ports Driver XP 5.1,其目的是用軟件虛擬出VB上位機和Proteus中建立的單片機系統完成通信的串口。值得注意的是,這種通信只能在兩個(gè)虛擬串口之間進(jìn)行,該例子中,上位機和單片機系統各使用一個(gè)虛擬串口,從而實(shí)現通信。

  Virtual Serial Ports Driver XP 5.1界面如圖6所示,左側Physical ports代表PC機物理串口。該例子所用計算機為COM1和COM2,點(diǎn)擊Add/Removeports中Add pair左邊First,Second下拉框,分別選中COM3,COM4;然后點(diǎn)擊Add pair按鈕,就加入了虛擬串口COM3,COM4,如圖左側Virtual ports所示。這樣,上位機VB程序以及Proteus中的單片機系統就可以像使用物理串口一樣使用虛擬串口COM3,COM4。如前文所述, Proteus中的COMPIM元件使用虛擬串口COM4,VB中使用虛擬串口COM3。完成這些步驟,就能使用虛擬出的串口COM3,COM4。

虛擬串口軟件的設置

  5 上下位機聯(lián)合調試及結果

  以上步驟完成之后,啟動(dòng)仿真就可以實(shí)現上、下位機的聯(lián)合調試。運行虛擬串口軟件 (vspdXP 5.1)點(diǎn)擊Proteus中的運行按鈕,選中或取消選中VB界面中代表LED的checkbox,然后點(diǎn)擊發(fā)送按鈕,Proteus界面中對應的LED 小燈便實(shí)現亮滅。運行效果如圖7所示。通過(guò)觀(guān)察,該方法建立的虛擬實(shí)驗室其功能得以實(shí)現。

運行效果

  6 結 語(yǔ)

  在此通過(guò)一個(gè)簡(jiǎn)單實(shí)例詳細介紹一種虛擬實(shí)驗室的建立方法,可以看出使用純軟件的方法代替傳統單片機開(kāi)發(fā)硬件或軟硬結合的調試方法,使得單片機實(shí)驗室的建立僅依賴(lài)一臺電腦和若干的軟件,實(shí)現了包括上位機在內的單片機系統的調試仿真。具有直觀(guān)、節省成本,與實(shí)際最為接近等特點(diǎn)。為個(gè)人單片機的學(xué)習提供了經(jīng)濟、高效的實(shí)現方案,同時(shí),使得軟、硬件配置更加靈活,縮短了開(kāi)發(fā)周期,節省了開(kāi)發(fā)成本,避免了制版焊接等過(guò)程中的不確定因素,為單片機項目的開(kāi)發(fā)提供了新的方法。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>