




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、0 引 言 單片機的學習是一個實踐性很強的過程,目前的單片機實驗室基本采用硬件仿真設(shè)備搭建,受資金和場地的限制,單片機實驗室配置的靈活性和完整性受到一定的限制。針對這些問題,在此提出一種建立基于個人PC和各種軟件的單片機個人虛擬實驗室方案。所謂“虛擬實驗室”,就是將計算機上的各種虛擬儀器,按實驗要求和設(shè)計原理,虛擬出與現(xiàn)實相同的實驗系統(tǒng),進而在這個系統(tǒng)上完成整個實驗。與傳統(tǒng)實驗模式相比,虛擬實驗具有比較明顯的優(yōu)勢,例如,涉及的實驗內(nèi)容全面,硬件投入少,學生可自行實驗,實驗過程中損耗小,與工程實踐最為接近等。一般的虛擬實驗室僅包含單片機系統(tǒng)的調(diào)試,本文在此基礎(chǔ)上又加入了與上位機的聯(lián)合調(diào)試。在此,
2、以使用VB通過RS 232串口控制51單片機LED的亮滅為例,介紹基于PC和軟件建立單片機虛擬實驗室的過程。1 單片機虛擬實驗室的構(gòu)成原理框圖如圖1所示。上位機用于編寫監(jiān)控界面及程序,實現(xiàn)對單片機系統(tǒng)的監(jiān)控,它可以使用VB,VC,Delphi等軟件實現(xiàn);虛擬串口用來實現(xiàn)上下位機通信的軟件模擬,在這里也可以使用自帶通信類的LabVIEW來實現(xiàn)上位機軟件和虛擬串口兩項功能;虛擬調(diào)試一般以Proteus為平臺,建立單片機系統(tǒng)的硬件系統(tǒng);聯(lián)合調(diào)試軟件可為單片機系統(tǒng)提供軟件,Proteus支持Hex,COF,D90類型文件,同時支持第三方的軟件編譯和調(diào)試環(huán)境,聯(lián)合調(diào)試軟件一般有Keil,ADS,Wave
3、等。為了更具有代表性和一般性,該方法的上位機軟件使用VB 6O開發(fā),虛擬串口采用Virtual Serial Ports Drivei XP 51;虛擬調(diào)試平臺采用Proteus 67 SP3;聯(lián)合調(diào)試軟件使用Keil C51 Vision 2。2 系統(tǒng)硬件的建立單片機系統(tǒng)的硬件在Proteus中實現(xiàn),主要完成硬件平臺的搭建和仿真效果的觀察。21 Proteus簡介Proteus是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件,它能夠提供豐富的測試信號用于電路測試,同時還提供Schematic Drawing,Spice仿真與PCB設(shè)計功能,可以仿真51系列、AVR,PIC,arm等常
4、用的MCU,并提供周邊設(shè)備的仿真。Proteus的強大功能為虛擬實驗室的構(gòu)建提供了基礎(chǔ)。22 硬件平臺的搭建在這里,單片機采用AT89C52,在P1口接8個LED,單片機的P3O,P31分別與串口元件COMPIM的RXD,TXD相連,COMPIM已經(jīng)自帶電平轉(zhuǎn)換功能,就不需要MAX232元件,復位、晶振電路也不需要。硬件平臺原理圖如圖2所示。調(diào)出AT89C52屬性設(shè)置窗口,為了串行通信設(shè)置方便,設(shè)置晶振Clock Frequeney為11059 2 MHz,如圖3所示,其他參數(shù)保留默認即可。打開串口元件COMPIM屬性對話框,在Physical port選項選擇COM4,即使用串口4,該串口是
5、在后面使用軟件虛擬出來的,其他參數(shù)設(shè)置如圖4所示,其代表波特率9 600 bs,8個數(shù)據(jù)位,無奇偶校驗,1個停止位,其余選項保持默認即可。上位機中的通信設(shè)置以及單片機的軟件編寫都要求與該設(shè)置一致。3 系統(tǒng)軟件的建立系統(tǒng)軟件的建立包括單片機系統(tǒng)軟件和PC上位機軟件的建立。31 單片機系統(tǒng)軟件的建立Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件。在該例中,單片機主要完成串口接收,將接收的數(shù)據(jù)送到P0口,從而實現(xiàn)上位機控制下位機的簡單功能。該程序在。Keil軟件中編寫。串口初始化函數(shù)如下:32 位機控制程序的建立上位機使用VB建立界面和通信程序,完成數(shù)據(jù)的發(fā)送。利用VB開發(fā)串口通信程序主要
6、有兩種方法:一是使用MSComm串口控件;二是調(diào)用Windows API函數(shù)。在實踐中,使用VB串口控件實現(xiàn)通信的方法比調(diào)用API動態(tài)鏈接庫的方法更加方便快捷,也減少了因編程不當導致的系統(tǒng)不穩(wěn)定。建立8個checkbox數(shù)組,分別對應(yīng)控制P0口的8個小燈;8個1abe1數(shù)組,分別對應(yīng)8個編號;2個按鈕分別為發(fā)送、退出;1個MSComm控件。在這里,使用虛擬串口COM3,串口設(shè)置與Proteus中的一致,運行如圖5所示,程序如下:聲明全局變量:Dim DataOutValue As Integer DataOutValue為發(fā)送值。初始化程序:主要完成對串口的設(shè)置,包括選擇串口,設(shè)置波特率,設(shè)置
7、數(shù)據(jù)格式,打開串口等。4 虛擬環(huán)境的集成分別建立系統(tǒng)的軟硬件之后,還要在虛擬環(huán)境中實現(xiàn)軟硬件的聯(lián)系和上下位機的通信。41 Proteus和Keil的聯(lián)合調(diào)試使用Proteus和Keil的聯(lián)合調(diào)試,在原理圖的設(shè)計階段就可以對設(shè)計進行評估,驗證所設(shè)計電路的軟硬件是否達到設(shè)計要求的技術(shù)指標;還可以通過改變元器件參數(shù)使整個電路性能達到最優(yōu)化,以節(jié)省設(shè)計時間與經(jīng)費,提高設(shè)計效率與質(zhì)量。Proteus可以和Keil聯(lián)調(diào)設(shè)置步驟如下:(1)復制安裝目錄ProteusMODELS下的VDM51dll文件到Keil安裝目錄的C51BIN目錄中。(2)修改Keil安裝目錄下Toolsini文件,在C51字段加入T
8、DRV5=BINVDM51DLL(PROTEUS 6EMULATOR)并保存。在這里,不一定要用TDRV5,根據(jù)原來字段選用一個不重復的數(shù)值就可以了。引號內(nèi)的名字隨意。(3)打開Proteus,畫出相應(yīng)電路,在Proteus的“Debug”菜單中選中“Use Remote Debug Monitor”。(4)進入Keil的Project菜單Option for Target“工程名”,在Debug選項中右欄上部的下拉菜單選中Proteus Driver,再進入Settings,PC的IP設(shè)為127001,端口號為8000。(5)在Keil中進行debug,同時在Proteus中查看直觀的結(jié)果。
9、通過這樣的設(shè)置,就可以像使用仿真器一樣調(diào)試程序。42 使用虛擬串口建立上位機和下位機的通信PC上位機與下位機的聯(lián)系,傳統(tǒng)上是通過物理接口如串并口等完成。虛擬實驗室中,由于下位機在PC中用軟件模擬實現(xiàn),上位機與下位機的聯(lián)系與傳統(tǒng)有所區(qū)別。這里使用虛擬串口軟件Virtual Serial Ports Driver XP 51,其目的是用軟件虛擬出VB上位機和Proteus中建立的單片機系統(tǒng)完成通信的串口。值得注意的是,這種通信只能在兩個虛擬串口之間進行,該例子中,上位機和單片機系統(tǒng)各使用一個虛擬串口,從而實現(xiàn)通信。Virtual Serial Ports Driver XP 51界面如圖6所示,左
10、側(cè)Physical ports代表PC機物理串口。該例子所用計算機為COM1和COM2,點擊AddRemoveports中Add pair左邊First,Second下拉框,分別選中COM3,COM4;然后點擊Add pair按鈕,就加入了虛擬串口COM3,COM4,如圖左側(cè)Virtual ports所示。這樣,上位機VB程序以及Proteus中的單片機系統(tǒng)就可以像使用物理串口一樣使用虛擬串口COM3,COM4。如前文所述, Proteus中的COMPIM元件使用虛擬串口COM4,VB中使用虛擬串口COM3。完成這些步驟,就能使用虛擬出的串口COM3,COM4。5 上下位機聯(lián)合調(diào)試及結(jié)果以上步
11、驟完成之后,啟動仿真就可以實現(xiàn)上、下位機的聯(lián)合調(diào)試。運行虛擬串口軟件 (vspdXP 51)點擊Proteus中的運行按鈕,選中或取消選中VB界面中代表LED的checkbox,然后點擊發(fā)送按鈕,Proteus界面中對應(yīng)的LED 小燈便實現(xiàn)亮滅。運行效果如圖7所示。通過觀察,該方法建立的虛擬實驗室其功能得以實現(xiàn)。6 結(jié) 語在此通過一個簡單實例詳細介紹一種虛擬實驗室的建立方法,可以看出使用純軟件的方法代替?zhèn)鹘y(tǒng)單片機開發(fā)硬件或軟硬結(jié)合的調(diào)試方法,使得單片機實驗室的建立僅依賴一臺電腦和若干的軟件,實現(xiàn)了包括上位機在內(nèi)的單片機系統(tǒng)的調(diào)試仿真。具有直觀、節(jié)省成本,與實際最為接近等特點。為個人單片機的學習
12、提供了經(jīng)濟、高效的實現(xiàn)方案,同時,使得軟、硬件配置更加靈活,縮短了開發(fā)周期,節(jié)省了開發(fā)成本,避免了制版焊接等過程中的不確定因素,為單片機項目的開發(fā)提供了新的方法。本文用到的其他控件:CommandButton控件和TextBox控件按默認屬性設(shè)置不變。 單片機編程器 HPOO 以上設(shè)置完成,回到編程窗體區(qū)中,任意雙擊。會顯示Visual Basic的程序窗體的Load事件程序。在代碼窗口中輸入: 單片機編程器 HPOO Private Sub Form_Load()MSComm1.PortOpen = True窗體的加載時,就打開通信端口,通信端口的參數(shù)也可以在此指定 Timer1.Enabl
13、ed = Timer1.Enabled窗體的加載時,同時定時器控件事件End Sub 電子元件郵購網(wǎng) 這樣設(shè)置目的是當程序在打開是,首先打開通信控件MSComm,注意這里的串口通信參數(shù)中的波特率設(shè)置是默認參數(shù)的。即:波特率:9600bps;校驗位:無;數(shù)據(jù)位:8位;停止位:1。 電子元件郵購網(wǎng) 雙擊定時器控件Timer1同樣在定時器窗體的事件程序中,輸入相關(guān)代碼: 電子元件郵購Private Sub Timer1_Timer()If MSComm1.InBufferCount 0 Then程序檢查輸入緩沖區(qū)中是否有數(shù)據(jù),若有數(shù)據(jù) Text1.Text = Text1.Text + MSComm1.Input則將此數(shù)據(jù)讀取后,指定給文本框的Text屬性End IfEnd Sub 單片機編程器 HPOO 此事件會在每一個Interval屬性值的循環(huán)計數(shù)間隔內(nèi)被調(diào)用一次,這樣就可以一直讀取串口中有無數(shù)據(jù)發(fā)送。定時器一直按設(shè)置速度循環(huán)讀取串口數(shù)據(jù)。直到串口的程序緩沖區(qū)中有數(shù)據(jù)就把他發(fā)給Text1文本框顯示出來。 杭州電子元件郵購網(wǎng)地址: 最后雙擊CommandButton控件 ,在彈出的程序窗口
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鎮(zhèn)江環(huán)氧坡道地坪施工方案
- 安徽中考初三數(shù)學試卷
- 銅板幕墻施工方案
- 大理石電視墻金屬施工方案
- 五指山綠化排水板施工方案
- 嘉定區(qū)空調(diào)清洗施工方案
- 2025北京西城八年級(上)期末生物(教師版)
- 小區(qū)水電維修服務(wù)施工方案
- 危化企業(yè)安全文化建設(shè)方案
- 推動醫(yī)務(wù)人員隊伍建設(shè)的策略及實施路徑
- 貴州區(qū)域地質(zhì)地史概述
- Aptitude態(tài)度的重要性
- 《推薦》500kV輸電線路應(yīng)急處置預案6個
- 麗聲北極星分級繪本第三級下 The Class Trip 課件
- 放射性元素的衰變
- 第一課想聽聽我的忠告嗎
- 高英Lesson3 Pub Talk and the King27s English
- 防洪堤防工程堤頂高程的計算表
- 古詩詞常見題材之思鄉(xiāng)懷人詩鑒賞
- 《平方差公式(1)》導學案
- 等保三級基線要求判分標準v10
評論
0/150
提交評論