一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法.doc_第1頁(yè)
一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法.doc_第2頁(yè)
一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法.doc_第3頁(yè)
一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法.doc_第4頁(yè)
一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法.doc_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

樂(lè)檔網(wǎng),我分享,我快樂(lè)!/本文檔下載自樂(lè)檔網(wǎng),更多免費(fèi)文檔請(qǐng)?jiān)L問(wèn)網(wǎng)址/doc/info-bbbd14c72cc58bd63186bdd3.html一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法虛擬儀器與應(yīng)用田建偉等:一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法田建偉,胡德安,陳益平,劉強(qiáng)(南昌航空大學(xué)江西南昌330063)摘要:為了解決傳統(tǒng)基于硬件的單片機(jī)實(shí)驗(yàn)室諸多弊端,建立基于PC和軟件的虛擬實(shí)驗(yàn)室,即在Proteus中建立單片機(jī)硬件系統(tǒng),通過(guò)Keil和Proteus的連接實(shí)現(xiàn)單片機(jī)系統(tǒng)的軟硬件調(diào)試,通過(guò)虛擬串口實(shí)現(xiàn)上下位機(jī)的聯(lián)合仿真調(diào)試。與現(xiàn)有基于Proteus的虛擬實(shí)驗(yàn)室相比,不僅實(shí)現(xiàn)了下位機(jī)的仿真調(diào)試,更實(shí)現(xiàn)了包括上位機(jī)在內(nèi)的聯(lián)合調(diào)試的虛擬環(huán)境。實(shí)驗(yàn)證明,該方法可用于單片機(jī)學(xué)習(xí)和單片機(jī)項(xiàng)目開(kāi)發(fā)的前期工作,具有一定的實(shí)用性和工程應(yīng)用價(jià)值。關(guān)鍵詞:單片機(jī);虛擬實(shí)驗(yàn)室;Proteus;虛擬串口中圖分類號(hào):TP368.1文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):10042373X(2009)142176204MethodofConstructingSingleChipComputerVirtualLaboratoryTIANJianwei,HUDean,CHENYiping,LIUQiang(NanchangHangkongUniversity,Nanchang,330063,China)Abstract:Inordertosolvethedefectsoftraditionalsinglechipcomputerhardware2basedlaboratory,virtuallaboratorybasedonPCandsoftwareisconstruct:thesinglechipcomputerhardwareisconstructedinthe,thedebuggingofhard2wareandsoftwareisachievedviatheconnectionofKeilandjointofPCandsinglechipcomputerisrealizedviavirtualserialports.Comparedtothe,notonlythesimula2tiondebuggingofundermachineisrealized,butalsodebuggingincludingPCisrealized.ItprovesthatthissinglechipcomputerandthepreliminaryworkofprojectItofprojects.Keywordslaboratory;Proteus;virtualserialport0引言1單片機(jī)虛擬實(shí)驗(yàn)室的構(gòu)成單片機(jī)的學(xué)習(xí)是一個(gè)實(shí)踐性很強(qiáng)的過(guò)程,目前的單片機(jī)實(shí)驗(yàn)室基本采用硬件仿真設(shè)備搭建,受資金和場(chǎng)地的限制,單片機(jī)實(shí)驗(yàn)室配置的靈活性和完整性受到一定的限制1,2。針對(duì)這些問(wèn)題,在此提出一種建立基于個(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较啾?虛擬實(shí)驗(yàn)具有比較明顯的優(yōu)勢(shì)3,例如,涉及的實(shí)驗(yàn)內(nèi)容全面,硬件投入少,學(xué)生可自行實(shí)驗(yàn),實(shí)驗(yàn)過(guò)程中損耗小,與工程實(shí)踐最為接近等。一般的虛擬實(shí)驗(yàn)室僅包含單片機(jī)系統(tǒng)的調(diào)試,本文在此基礎(chǔ)上又加入了與上位機(jī)的聯(lián)合調(diào)試。在此,以使用VB通過(guò)RS232串口控制51單片機(jī)LED的亮滅為例,介紹基于PC和軟件建立單片機(jī)虛擬實(shí)驗(yàn)室的過(guò)程。原理框圖如圖1所示。上位機(jī)用于編寫(xiě)監(jiān)控界面及程序,實(shí)現(xiàn)對(duì)單片機(jī)系統(tǒng)的監(jiān)控,它可以使用VB,VC,Delphi等軟件實(shí)現(xiàn)4;虛擬串口用來(lái)實(shí)現(xiàn)上下位機(jī)通信的軟件模擬,在這里也可以使用自帶通信類的LabVIEW來(lái)實(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等。圖1虛擬實(shí)驗(yàn)室原理框圖為了更具有代表性和一般性,該方法的上位機(jī)軟件使用VB6.0開(kāi)發(fā),虛擬串口采用VirtualSerialPortsDriverXP5.1;虛擬調(diào)試平臺(tái)采用Proteus6.7SP3;聯(lián)收稿日期:2008210216176現(xiàn)代電子技術(shù)2009年第14期總第301期合調(diào)試軟件使用KeilC51Vision2。2系統(tǒng)硬件的建立?新型元器件?的軟件。在該例中,單片機(jī)主要完成串口接收,將接收的數(shù)據(jù)送到P0口,從而實(shí)現(xiàn)上位機(jī)控制下位機(jī)的簡(jiǎn)單功能。該程序在Keil軟件中編寫(xiě)。單片機(jī)系統(tǒng)的硬件在Proteus中實(shí)現(xiàn),主要完成硬件平臺(tái)的搭建和仿真效果的觀察。2.1Proteus簡(jiǎn)介Proteus是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件,它能夠提供豐富的測(cè)試信號(hào)用于電路測(cè)試,同時(shí)還提供SchematicDrawing,Spice仿真與PCB設(shè)計(jì)功能,可以仿真51系列、AVR,PIC,ARM等常用的MCU,并提供周邊設(shè)備的仿真5。Proteus的強(qiáng)大功能為虛擬實(shí)驗(yàn)室的構(gòu)建提供了基礎(chǔ)。2.2硬件平臺(tái)的搭建圖3單片機(jī)屬性設(shè)置圖4COMPIM屬性設(shè)置串口初始化函數(shù)如下:voidUART_init()SCON=0x58;/選擇串口工作方式,打開(kāi)允許接收TMOD=0x21;/定時(shí)器1工作在方式2,定時(shí)器0工作在方式1TH1=0xfd;/s(系統(tǒng)時(shí)鐘11.0592MHz)TR1;/啟動(dòng)定時(shí)器T1;1;/允許串行口中斷1/設(shè)計(jì)串行口中斷優(yōu)先級(jí)EA=1;/單片機(jī)中斷允許在這里,單片機(jī)采用AT89C52,在P1口接8個(gè)LED,單片機(jī)的P3.0,P3.1分別與串口元件COMPIM的RXD,TXD相連,COMPIM已經(jīng)自帶電平轉(zhuǎn)換功能,就不需要MAX232元件,復(fù)位、晶振電路也不需要。硬件平臺(tái)原理圖如圖2所示。串口接收終端處理函數(shù)如下:com_interrupt(void)interrupt4using3if(RI)/處理接收中斷RI=0;/清除中斷標(biāo)志位P0=SBUF;/接收串口數(shù)據(jù),送入P0口圖2硬件平臺(tái)原理圖調(diào)出AT89C52屬性設(shè)置窗口,為了串行通信設(shè)置方便,設(shè)置晶振ClockFrequency為11.0592MHz,如圖3所示,其他參數(shù)保留默認(rèn)即可。打開(kāi)串口元件COMPIM屬性對(duì)話框,在Physicalport選項(xiàng)選擇COM4,即使用串口4,該串口是在后面使用軟件虛擬出來(lái)的,其他參數(shù)設(shè)置如圖4所示,其代表波特率9600b/s,8個(gè)數(shù)據(jù)位,無(wú)奇偶校驗(yàn),1個(gè)停止位,其余選項(xiàng)保持默認(rèn)即可。上位機(jī)中的通信設(shè)置以及單片機(jī)的軟件編寫(xiě)都要求與該設(shè)置一致。3系統(tǒng)軟件的建立3.2位機(jī)控制程序的建立上位機(jī)使用VB建立界面和通信程序,完成數(shù)據(jù)的發(fā)送。利用VB開(kāi)發(fā)串口通信程序主要有兩種方法:一是使用MSComm串口控件;二是調(diào)用WindowsAPI函數(shù)。在實(shí)踐中,使用VB串口控件實(shí)現(xiàn)通信的方法比調(diào)用API動(dòng)態(tài)鏈接庫(kù)的方法更加方便快捷,也減少了因編程不當(dāng)導(dǎo)致的系統(tǒng)不穩(wěn)定6。建立8個(gè)checkbox數(shù)組,分別對(duì)應(yīng)控制P0口的8個(gè)小燈;8個(gè)label數(shù)組,分別對(duì)應(yīng)8個(gè)編號(hào);2個(gè)按鈕系統(tǒng)軟件的建立包括單片機(jī)系統(tǒng)軟件和PC上位機(jī)軟件的建立。3.1單片機(jī)系統(tǒng)軟件的建立Keil軟件是目前最流行開(kāi)發(fā)MCS251系列單片機(jī)分別為發(fā)送、退出;1個(gè)MSComm控件。在這里,使用虛擬串口COM3,串口設(shè)置與Proteus中的一致,運(yùn)行如圖5所示,程序如下:聲明全局變量:DimDataOutValueAsIntegerDataOutValue為發(fā)送值。初始化程序:主要完成對(duì)串口的設(shè)置,包括選擇串177虛擬儀器與應(yīng)用田建偉等:一種單片機(jī)虛擬實(shí)驗(yàn)室的建立方法(1)復(fù)制安裝目錄Proteus下的VDM51.dll文件到Keil安裝目錄的目錄中。(2)修改Keil安裝目錄下Tools.ini文件,在C51口,設(shè)置波特率,設(shè)置數(shù)據(jù)格式,打開(kāi)串口等。PrivateSubForm_Load()DataOutValue=0將發(fā)送變量值預(yù)設(shè)為0MSComm1.Settings="9600,n,8,1"設(shè)置數(shù)據(jù)傳輸率和發(fā)送字符格式MSComm1.CommPort=3設(shè)置通信串口,使用虛擬串口MSComm1.OutBufferSize=512設(shè)置發(fā)送緩沖區(qū)512BMSComm1.OutBufferCount=0MSComm1.PortOpen=True打開(kāi)虛擬串口EndSub字段加入TDRV5=BIN.DLL("PROTEUS6EMULATOR")并保存。在這里,不一定要用TDRV5,根據(jù)原來(lái)字段選用一個(gè)不重復(fù)的數(shù)值就可以了。引號(hào)內(nèi)的名字隨意。(3)打開(kāi)Proteus,畫(huà)出相應(yīng)電路,在Proteus的“Debug”菜單中選中“UseRemoteDebugMonitor”。(4)進(jìn)入Keil的Project菜單OptionforTarget“工程名”,在Debug選項(xiàng)中右欄上部的下拉菜單選中ProteusDriver,再進(jìn)入Settings,PC的IP設(shè)為,端口號(hào)為8000。(5)在Keil中進(jìn)行debug,同時(shí)在Proteus中查看Checkbox控件Click事件代碼,生成控制單片機(jī)所需的數(shù)據(jù):PrivateSubCheck1_Click(IndexAsInteger)IfCheck1(Index).Value=1Then該復(fù)選框是否被選中DataOutValue=DataOutValueOr2Index若選中將該位置的輸出變量設(shè)置為1ElseDataOutValue=DataOutValueAnd(25522In2dex)否則設(shè)置為0EndIfEndSub直觀的結(jié)果。通過(guò)這樣的設(shè)置,就可以像使用仿真器一樣調(diào)試程序。4.2PC,傳統(tǒng)上是通過(guò)物理接發(fā)送按鈕Command1的Click事件代碼,完成控制命令的發(fā)送:PrivateSubtemp(1)=()MSComm1.tempEndSub,由于下位機(jī)在PC,上位機(jī)與下位機(jī)的聯(lián)系與傳統(tǒng)有所。這里使用虛擬串口軟件VirtualSerialPortsDriverXP5.1,其目的是用軟件虛擬出VB上位機(jī)和Proteus中建立的單片機(jī)系統(tǒng)完成通信的串口。值得關(guān)閉串口,關(guān)閉程序:PrivateSubCommand2_Click()MSComm1.PortOpen=FalseUnloadMeEndSub注意的是,這種通信只能在兩個(gè)虛擬串口之間進(jìn)行,該例子中,上位機(jī)和單片機(jī)系統(tǒng)各使用一個(gè)虛擬串口,從而實(shí)現(xiàn)通信。VirtualSerialPortsDriverXP5.1界面如圖6所示,左側(cè)Physicalports代表PC機(jī)物理串口。該例子所用計(jì)算機(jī)為COM1和COM2,點(diǎn)擊Add/Removeports中Addpair左邊First,Second下拉框,分別選中COM3,COM4;然后點(diǎn)擊Addpair按鈕,就加入了虛擬串口COM3,COM4,如圖左側(cè)Virtualports所示。這樣,上位機(jī)VB程序以及Proteus中的單片機(jī)系統(tǒng)就可以像使用物理串口一樣使用虛擬串口COM3,COM4。如前文所述,Proteus中的COMPIM元件使用虛擬串口COM4,VB中使用虛擬串口COM3。完成這些步驟,就能使用虛擬出的串口COM3,COM4。5上下位機(jī)聯(lián)合調(diào)試及結(jié)果圖5VB控制界面4虛擬環(huán)境的集成分別建立系統(tǒng)的軟硬件之后,還要在虛擬環(huán)境中實(shí)現(xiàn)軟硬件的聯(lián)系和上下位機(jī)的通信。4.1Proteus和Keil的聯(lián)合調(diào)試使用Proteus和Keil的聯(lián)合調(diào)試,在原理圖的設(shè)計(jì)階段就可以對(duì)設(shè)計(jì)進(jìn)行評(píng)估,驗(yàn)證所設(shè)計(jì)電路的軟硬件是否達(dá)到設(shè)計(jì)要求的技術(shù)指標(biāo);還可以通過(guò)改變?cè)骷?shù)使整個(gè)電路性能達(dá)到最優(yōu)化,以節(jié)省設(shè)計(jì)時(shí)間與經(jīng)費(fèi),提高設(shè)計(jì)效率與質(zhì)量。Proteus可以和Keil聯(lián)調(diào)設(shè)置步驟如下:178以上步驟完成之后,啟動(dòng)仿真就可以實(shí)現(xiàn)上、下位機(jī)的聯(lián)合調(diào)試。運(yùn)行虛擬串口軟件(vspdXP5.1)點(diǎn)擊Proteus中的運(yùn)行按鈕,選中或取消選中VB界面中代表LED的checkbox,然后點(diǎn)擊發(fā)送按鈕,Proteus界面中對(duì)應(yīng)的LED小燈便實(shí)現(xiàn)亮滅。運(yùn)行效果如圖7所現(xiàn)代電子技術(shù)2009年第14期總第301期示。通過(guò)觀察,該方法建立的虛擬實(shí)驗(yàn)室其功能得以實(shí)現(xiàn)。?新型元器件?機(jī)開(kāi)發(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í),使得軟、硬件配置更加靈活,縮短了開(kāi)發(fā)周期,節(jié)省了開(kāi)發(fā)成本,避免了制版焊接等過(guò)程中的不確定因素,為單片機(jī)項(xiàng)目的開(kāi)發(fā)提供了新的方法。參考文獻(xiàn)1馬正強(qiáng).單片機(jī)虛擬實(shí)驗(yàn)室的建立J.單片機(jī)與嵌入式系圖6虛擬串口軟件的設(shè)置統(tǒng)應(yīng)用,2005(3):20223.2李學(xué)禮.基于Proteus軟件的單片機(jī)實(shí)驗(yàn)室建設(shè)J.單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(9):526.3董普松.Proteus在單片機(jī)系統(tǒng)設(shè)計(jì)中的應(yīng)用J.現(xiàn)代電子技術(shù),2008,31(14):1532154.4林華,宋世發(fā).一類上下位機(jī)控制系統(tǒng)的仿真設(shè)計(jì)J.湖北汽車工業(yè)學(xué)院學(xué)報(bào),2008(1):48250,80.5周潤(rùn)景.基于Proteus真M.:,2006.單M.北京:機(jī)械工業(yè)出版,黃惟公.基于LabVIEW與Proteus的教學(xué)測(cè)控系統(tǒng)設(shè)計(jì)J.上海計(jì)量測(cè)試,2008(3):14216.圖7上8黃章華,陸華忠,李灌輝,基于LabVIEW和單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)J.現(xiàn)代電子技術(shù),2007,30(17):1792181.9李長(zhǎng)林.VisualBasic串口通信技術(shù)與典型實(shí)例M.北京:6結(jié)語(yǔ)清華大學(xué)出版社,2006.10范逸之,陳立元,孫德萱,等.利用VisualBasic實(shí)現(xiàn)串并行在此通過(guò)一個(gè)簡(jiǎn)單實(shí)例詳細(xì)介紹一種虛擬實(shí)驗(yàn)室的建立方法,可以看出使用純軟件的方法代替?zhèn)鹘y(tǒng)單片通信技術(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論