0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-01-09 08:19 ? 次閱讀

引 言

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

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

1 單片機(jī)虛擬實(shí)驗(yàn)室的構(gòu)成

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

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

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

2 系統(tǒng)硬件的建立

單片機(jī)系統(tǒng)的硬件在Proteus中實(shí)現(xiàn),主要完成硬件平臺(tái)的搭建和仿真效果的觀察。

2.1 Proteus簡介

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

2.2 硬件平臺(tái)的搭建

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

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

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

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

3 系統(tǒng)軟件的建立

系統(tǒng)軟件的建立包括單片機(jī)系統(tǒng)軟件和PC上位機(jī)軟件的建立。

3.1 單片機(jī)系統(tǒng)軟件的建立

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

串口初始化函數(shù)如下:

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

3.2 位機(jī)控制程序的建立

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

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

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

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

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

初始化程序:主要完成對(duì)串口的設(shè)置,包括選擇串口,設(shè)置波特率,設(shè)置數(shù)據(jù)格式,打開串口等。

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

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

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

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

Proteus可以和Keil聯(lián)調(diào)設(shè)置步驟如下:

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

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

(3)打開Proteus,畫出相應(yīng)電路,在Proteus的“Debug”菜單中選中“Use Remote Debug Monitor”。

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

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

通過這樣的設(shè)置,就可以像使用仿真器一樣調(diào)試程序。

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

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

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

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

5 上下位機(jī)聯(lián)合調(diào)試及結(jié)果

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

基于PC和單片機(jī)實(shí)現(xiàn)虛擬實(shí)驗(yàn)室的構(gòu)建

6 結(jié) 語

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44378

    瀏覽量

    628594
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2031

    瀏覽量

    153563
  • 串行通信
    +關(guān)注

    關(guān)注

    4

    文章

    555

    瀏覽量

    35165
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Proteus軟件的單片機(jī)實(shí)驗(yàn)室建設(shè)

    基于Proteus 軟件的單片機(jī)實(shí)驗(yàn)室建設(shè)單片機(jī)技術(shù)是現(xiàn)代電子工程領(lǐng)域一門迅速發(fā)展的技術(shù),應(yīng)用于各種嵌入式系統(tǒng)中。單片機(jī)技術(shù)的發(fā)展和推廣極大地推動(dòng)了電子工業(yè)的發(fā)展,其在教學(xué)和產(chǎn)業(yè)界的技
    發(fā)表于 04-21 11:22

    單片機(jī)虛擬實(shí)驗(yàn)室的建立

    單片機(jī)虛擬實(shí)驗(yàn)室的建立單片機(jī)課程是機(jī)電、自動(dòng)化等專業(yè)的一門重要課程,可以充分體現(xiàn)學(xué)生利用已學(xué)知識(shí)解決實(shí)際工程問題的能力。由于該學(xué)科是多基礎(chǔ)、多理論的實(shí)踐性學(xué)科,在教學(xué)過程中必須軟件硬件
    發(fā)表于 04-21 11:24

    基于Proteus軟件的單片機(jī)實(shí)驗(yàn)室建設(shè)

    仿真的單片機(jī)實(shí)驗(yàn)室建設(shè)方案。該方案配置有限的硬件設(shè)備,很好地解決了資金和設(shè)備維護(hù)問題;大量的仿真工作是在軟件環(huán)境中實(shí)現(xiàn),大大增強(qiáng)了實(shí)驗(yàn)室向?qū)W生開放的便利性。在實(shí)際運(yùn)行中,取得了良好的教
    發(fā)表于 11-16 12:00

    基于LabVIEW和Matlab虛擬實(shí)驗(yàn)室實(shí)現(xiàn)

    【摘要】 對(duì)Matlab和LabVIEW的混合編程進(jìn)行了探討,主要研究SIT軟件包和動(dòng)態(tài)鏈接庫(DLL)兩種技術(shù),并在此基礎(chǔ)上以單相半波電路實(shí)驗(yàn)為例詳細(xì)介紹了構(gòu)建虛擬電力電子實(shí)驗(yàn)室的方
    發(fā)表于 12-19 22:56

    虛擬實(shí)驗(yàn)室構(gòu)建思路

    我想做虛擬實(shí)驗(yàn)室,比如像物理實(shí)驗(yàn)、化學(xué)實(shí)驗(yàn),目前沒有太多的思路,有經(jīng)驗(yàn)的朋友指導(dǎo)下,目前正在看電路算法。
    發(fā)表于 07-28 11:04

    如何激活掌上單片機(jī)實(shí)驗(yàn)室?

    一、背景前面已經(jīng)構(gòu)建了掌上單片機(jī)實(shí)驗(yàn)室的硬件基礎(chǔ),并選擇、安裝了配套的編程環(huán)境,目前要做的工作就是將它激活,即基于所選擇的 Arduino IDE,在構(gòu)建的硬件上,編寫相應(yīng)程序,使所提
    發(fā)表于 08-30 08:05

    單片機(jī)實(shí)驗(yàn)室

    單片機(jī)原理》實(shí)驗(yàn)室于2002年建立,主要承擔(dān)電子信息工程專業(yè)的《單片機(jī)與接口技術(shù)》和物理學(xué)(師范類)專業(yè)的《單片機(jī)原理與應(yīng)用》課程的實(shí)驗(yàn)
    發(fā)表于 08-10 11:59 ?43次下載

    單片機(jī)虛擬實(shí)驗(yàn)室的建設(shè)

    [摘要]本文以學(xué)院單片機(jī)課程的實(shí)驗(yàn)教學(xué)為背景,較為全面地闡述了基于Proteus軟件仿真的單片機(jī)虛擬實(shí)驗(yàn)室只配置有限的硬件設(shè)備,就能夠很好地
    發(fā)表于 09-09 17:45 ?36次下載

    單片機(jī)虛擬實(shí)驗(yàn)室的建立

    單片機(jī)虛擬實(shí)驗(yàn)室的建立單片機(jī)課程是機(jī)電、自動(dòng)化等專業(yè)的一門重要課程,可以充分體現(xiàn)學(xué)生利用已學(xué)知識(shí)解決實(shí)際工程問題的能力。由于該學(xué)科是多基礎(chǔ)、多
    發(fā)表于 04-21 11:24 ?1050次閱讀

    網(wǎng)絡(luò)互動(dòng)型機(jī)械工程虛擬實(shí)驗(yàn)室構(gòu)建

    虛擬實(shí)驗(yàn)室在網(wǎng)絡(luò)化教學(xué)中有著非常重要的作用,基于多媒體技術(shù)以及Web軟件構(gòu)建網(wǎng)絡(luò)互動(dòng)型虛擬實(shí)驗(yàn)室已成為一種趨勢。探討了
    發(fā)表于 06-21 15:27 ?23次下載
    網(wǎng)絡(luò)互動(dòng)型機(jī)械工程<b class='flag-5'>虛擬</b><b class='flag-5'>實(shí)驗(yàn)室</b>的<b class='flag-5'>構(gòu)建</b>

    網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室實(shí)現(xiàn)方法

    文章描述了網(wǎng)絡(luò) 虛擬實(shí)驗(yàn)室 的定義、框架結(jié)構(gòu)、特點(diǎn)以及面臨的關(guān)鍵技術(shù),并且就當(dāng)前實(shí)現(xiàn)網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室的幾種主流技術(shù)進(jìn)行了比較和概括.
    發(fā)表于 07-04 11:11 ?16次下載
    網(wǎng)絡(luò)<b class='flag-5'>虛擬</b><b class='flag-5'>實(shí)驗(yàn)室</b>及<b class='flag-5'>實(shí)現(xiàn)</b>方法

    使用Proteus軟件構(gòu)建虛擬實(shí)驗(yàn)室有沒有可能?

    介紹了Proteus 軟件以及基于Proteus 進(jìn)行單片機(jī)系統(tǒng)開發(fā)的過程, 并在Proteus 環(huán)境下完成了基于AT89C51 單片機(jī)的AD 轉(zhuǎn)換試驗(yàn)。 提出了利用Proteus 軟件構(gòu)建
    發(fā)表于 10-12 16:44 ?15次下載
    使用Proteus軟件<b class='flag-5'>構(gòu)建</b><b class='flag-5'>虛擬</b><b class='flag-5'>實(shí)驗(yàn)室</b>有沒有可能?

    如何進(jìn)行單片機(jī)實(shí)驗(yàn)室的建設(shè)

    如何進(jìn)行單片機(jī)是 電子工程專業(yè) 的一 門關(guān)鍵 學(xué)科,也 是一 門實(shí)踐性很強(qiáng) 的學(xué)科 ,因此在單 片機(jī)教 學(xué)過程 中,單片機(jī)實(shí)驗(yàn)室發(fā)揮著重要的作用。但是就目前而言,
    發(fā)表于 05-06 08:00 ?0次下載
    如何進(jìn)行<b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)驗(yàn)室</b>的建設(shè)

    基于Proteus的單片機(jī)虛擬仿真網(wǎng)絡(luò)實(shí)驗(yàn)室

    提出以任務(wù)驅(qū)動(dòng)學(xué)習(xí)為主的一種基 于P roteus 的單片機(jī)虛擬仿真網(wǎng)絡(luò)實(shí)驗(yàn)室建設(shè)及使用方法,通過將網(wǎng)絡(luò)技術(shù)、仿真技術(shù)和虛擬技術(shù)融合,對(duì)改革傳統(tǒng)實(shí)驗(yàn)
    發(fā)表于 05-31 10:08 ?46次下載

    掌上單片機(jī)實(shí)驗(yàn)室 — 硬件基礎(chǔ)(2)

    一、背景在“掌上單片機(jī)實(shí)驗(yàn)室-構(gòu)思”一文中,探討了基于四代圓夢小車實(shí)現(xiàn)掌上實(shí)驗(yàn)室的可能和益處。本文開始嘗試具體設(shè)計(jì)一套基于此構(gòu)思的掌上單片機(jī)
    發(fā)表于 12-01 14:06 ?1次下載
    掌上<b class='flag-5'>單片機(jī)</b><b class='flag-5'>實(shí)驗(yàn)室</b> — 硬件基礎(chǔ)(2)