隨著計算機技術的發(fā)展_第1頁
隨著計算機技術的發(fā)展_第2頁
隨著計算機技術的發(fā)展_第3頁
隨著計算機技術的發(fā)展_第4頁
隨著計算機技術的發(fā)展_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、引 言 Labview 是美國國家儀器公司( NI 公司) 推出的專為數據采集 、儀器控制 、數據分析與數據表達的圖形化編程環(huán)境 , 它是一個開放的開發(fā)環(huán)境 , 具有 PCI , GPIB , PXI ,VXI , RS232/485 , USB 等各種儀器通訊總線標準的所有功能函數 , 開發(fā)者可以利用這些函數與不同總線標準接口的數據采集硬件交互工作 。但現實中的數據采集卡很多是利用美國 NI 公司提供的專用數據采集卡 , 價格較貴 , 不利于普及 Labview 軟件測控的學習和應用 。Proteus 軟件支持 51 單片機 , 集程序編輯 ,原理圖繪制和程序仿真于一體 , 它不僅能仿真單片

2、機 CP U 的工作情況 , 也能仿真單片機外圍電路 , 具有電路互動仿真功能 , 通過動態(tài)外設模型 , 如鍵盤 、開關 、發(fā)光二極管 、數碼管 、液晶和傳感器 、電機等 , 可實時顯示單片機系統(tǒng)輸入 、輸出結果 ; 另外還配置了多種虛擬儀器如示波器 、邏輯分析儀等 ,方便對實驗圖形和數據的測量 ?;?Labview 和 Proteus 的特性 , 本文利用 Proteus 仿真步進電機運行 ,而 Labview 實現上位機對下位機運行的監(jiān)控 ,兩軟件采用虛擬串口進行 RS232 串口通訊 , 在純軟件環(huán)境下 , 完成基于 Labview 軟件數據采集系統(tǒng)的組建 。這種方法成本低 , 效率高

3、 , 可以方便地應用到測控技術的學習和設計中 。要實現上述方法 , 當然要正確安裝 Labview 和 Proteus軟件 , 另外還必須安裝 NI VISA 串口通訊協(xié)議驅動和虛擬串口軟件 VSPD XP 。本文通過虛擬串口軟件 VSPD XP模擬出一對互聯的虛擬串口 , 分別為 COM 3和 COM 4 , 并且把 COM 3 配置給 Proteus 環(huán)境下的單片機串口終端 , 把COM 4 配置給 Labview 作為串口資源 1 。本文通過一個上位機監(jiān)控下位機電機正反轉的實驗 ,來介紹這種 Labview 及 Proteus 軟件環(huán)境下單片機串口通訊的仿真方法 。Labview 虛擬儀

4、器程序由前面板和框圖程序組成 , 前面板是人機交的界面 , 界面上有用戶輸入和顯示輸出兩類控件 ; 框圖程序則是用戶編制的程序源代碼 , 以定義和控制在前面板上的控件輸入和輸出功能 。圖 1 為上位機監(jiān)控下位機步進電機電路的 Labview 源程序 。圖 1 上位機監(jiān)控下位機步進電機電路的 Labview 源程序。圖 1 的圖形化編程設計是采用 NI VISA 串口 Serial函數來訪問和控制串口的 。 VISA 中的 Serial 函數庫里包含 VISA Configure Serial Port 、VISA W rite 、VISA Read 、VIS A Close 等子函數 。本設計

5、用到的四個 V ISA 串口子函數是 : VISA 串口配置函數VISAConfigu re S erial Port 、VISA 寫入函數 VISA Write 、VISA 讀取函數 VISA Read和 VISA 關閉函數 VISA C loseVISA 串口配置函數 VISA Configure Serial Port 的作用是完成串口參數的初始化設置 , 包括了串口資源名稱 ,波特率 , 奇偶校驗 、數據比特 、是否啟用終止符等 ,該函數連接了兩個輸入變量 , 變量名為“請選擇串口名”和“波特率” ,它們分別連在串口資源名稱和波特率參數端子上 , 變量值是在前面板上相應控件來設定的 ,

6、 另外該函數在是否啟用終止符的端子上還連接了一個布爾常量 , 常量值為 false , 含義是不啟用終止符 , 其他輸入參數采用默認值 。圖 1 中 VISA 串口配置函數有兩個輸出端子 , 圖標上面的輸出端子輸出的是串口資源名稱 , 下面的輸出端子輸出的是錯誤碼 , 輸出端子向下游函數傳遞信息 。VISA 寫入函數 VISA Write 有三個輸入端子 , 圖 1 中VISA Read 圖標的上面一個輸入端 子是前 面 VISAConfigure Serial Port 函數傳遞的串口資源名稱 , 下面的輸入端子是傳遞的錯誤碼 , 意思是若前面的函數出錯了 , 會往這里輸入一個錯誤碼 , 然

7、后繼續(xù)往下面?zhèn)鬟f , 有錯誤碼出現時程序是不會工作的 。中間的輸入端子是寫入緩沖區(qū)入口 , 寫入緩沖區(qū)支持的數據格式是字符串 。 Labview程序向下位機傳送兩個無符號字節(jié)數據 , 它們的變量名分別為“走馬燈循環(huán)次數”和“走馬燈狀態(tài)延時時間” , 其具體值分別在前面板中設置 。這兩個數據通過“創(chuàng)建數組”函數和“字節(jié)數組至字符串轉換”函數 , 組成字符串 , 輸入VISA Write 函數的寫入緩沖區(qū)中 。VIS Write 函數圖標上面輸出端子輸出的是串口資源名稱 , 下面輸出端子輸出的是錯誤碼 , 繼續(xù)向下游函數傳遞信息 。VISA 讀取函數 VISA Read 中間的輸入端子是每次從串口

8、讀取的數據字節(jié)數 , 本文設置的字節(jié)數是 1 , 它會以字符串的形式從該函數的中間輸出端子輸出 , 字符串只包含一個 8 位字節(jié) 。Labview 及 Proteus 軟件環(huán)境下單片機串口通訊的仿真方法VISA 關閉函數 VISA Close 的作用是當程序停止之前 , 必須要把使用的串口設備關閉 , 若不關閉 , 其他程序就不能使用該設備 。目前, 基于 LabVIEW的測控設備研發(fā)都需配置 NI公司的專供數據采集卡( 如PCI,GPIB,PXI,VXI等) 25,而這些數據采集卡價格昂貴,通常在數萬元或數十萬元以上,這使得一般普通高校開展測控技術方面的綜合實驗教學舉步維艱。Proteus嵌

9、入式系統(tǒng)仿真與開發(fā)平臺可為上述問題的解決提供技術支持6。 Proteus軟件是由英國Labcenter electronics公司開發(fā)的,是目前世界上最先進、最完整,惟一能夠對各種處理器進行實時仿真、調試與測試的EDA工具。 在編譯方面,它支持IAR、Keil和MPLAB等多種編譯器。 在Proteus中,從原理圖設計、單片機編程、系統(tǒng)仿真到 PCB 設計一氣呵成。 Proteus 主要應用于沒有目標原型時的控制系統(tǒng)調試、測試和驗證場合,并且仿真結果與實際誤差很小,是將實驗和實際工程應用聯系在一起的有效途徑.、介紹一種在純軟件環(huán)境的上下位機串口通訊的仿真方法 。 通過虛擬串口軟件 VSPD X

10、P , 在 Labview 和Proteus 軟件環(huán)境中 , 對步進電機電路的串口通信進行了聯調 , 仿真運行的結果表明這一方法是可行的 。 同時本文編制了該實例的上位機 Labview 監(jiān)控程序 , 設計了下位機的程序框圖和 Protues 硬件原理圖 。這種方法的采用可以提高設計效率 , 降低設計成本 , 輔助開發(fā)者開發(fā)出價格低廉 , 功能專一的測控設備 , 具有很好的實用性 。關鍵詞 :串口通訊仿真 ; Labview ; Proteus; 51 單片機 ; 上下位機。1 基于 Proteus的下位機數據采集系統(tǒng)設計1 基于 Proteus的下位機數據采集系統(tǒng)設計以AT89C51單片機為

11、核心設計的虛擬數據采集系統(tǒng)的下位機如圖2所示。 由數據采集模塊、數據顯示模塊和數據通信模塊組成。 單片機的晶振頻率設置為12 MHz。 用P0口前三位來顯示電機的工作狀態(tài),顯示時只需 3個不同顏色的LED燈進行指示。圖 2 基于 Proteus的電機控制系統(tǒng)的下位機結構圖1.1 電機控制驅動模塊電機控制驅動模塊如圖 2中所示。 為簡單起見,本文利用ULN2003 (高耐壓、大電流復合晶體管,ULN2003 是高耐壓、大電流復合晶體管陣列,由七個硅NPN 復合晶體管組成)。本文4相步進電動機工作于8拍方式,通過uln2003將單片機和步進電機連接起來。正轉勵磁序列為B->BC->C-

12、>CD->D->DA->A->AB。反轉勵磁序列為A->DA->D->CD->C->BC->B->AB#include <reg51.h> /單片機頭文件包含文件#include <intrins.h> /單片機頭文件包含文件#define uchar unsigned char#define uint unsigned int/本例4相步進電動機工作于8拍方式/正轉勵磁序列為B->BC->C->CD->D->DA->A->ABuchar code FFW=

13、0x02,0x06,0x04,0x0C,0x08,0x09,0x01,0x03;/反轉勵磁序列為A->DA->D->CD->C->BC->B->ABuchar code REV=0x01,0x09,0x08,0x0C,0x04,0x06,0x02,0x03;/延時void delay(uint x)uchar i;while(x-)for(i=0;i<120;i+);/正轉一圈void SETP_MOTOR_FFW()uchar i,j;for(i=0;i<5;i+)for(j=0;j<8;j+)P1=FFWj;delay(80);/

14、反轉一圈void SETP_MOTOR_REV()uchar i,j;for(i=0;i<5;i+)for(j=0;j<8;j+)P1=REVj;delay(80);/轉動方向標志,如果orientation=0xEE,則正轉/如果orientation=0xFF,則反轉uchar orientation; /圈數標志uchar times; /接收的字節(jié)計數uchar serial_count=0;/上位機點動命令標志uchar flag;/單片機串口中斷處理程序,用于接收PC機控制信息void receive() interrupt 4 ES=0; RI=0;flag=1;/接

15、收轉動方向標志 if(serial_count=0) orientation=SBUF; serial_count+; /接收圈數標志 elsetimes=SBUF; serial_count=0; ES=1;uchar present_times;/單片機向PC機發(fā)送信息void send()ES=0; SBUF=P0;while(!TI);TI=0;SBUF=present_times;while(!TI);TI=0;ES=1;/主程序void main()uchar i;/設置定時器T1的工作模式為2TMOD=0x20;/通過給T1設置初值,固定時鐘波特率為9600bps(11.0592

16、HZ)TH1=0xfd; TL1=0xfd;/設置串口通訊模式為1,允許接收SCON=0x50; ES=1; EA=1;/開放中斷TR1=1; /T1啟動,為串行通訊提供時鐘while(1)present_times=0; P0=0xFB; /停止指示燈亮delay(8); /每個一個時間間隔,發(fā)送一組字節(jié)send(); /否則會造成字節(jié)發(fā)送順序的混亂 if(flag=1)if(orientation=0xEE)present_times=times;P0=0xFE; /正轉指示燈亮send();for(i=0;i<times;i+) /電機正轉SETP_MOTOR_FFW();pres

17、ent_times-;P0=0xFE; /正轉指示燈亮send();flag=0;else if(orientation=0xFF)present_times=times;P0=0xFD; /反轉指示燈亮send();for(i=0;i<times;i+) /電機反轉SETP_MOTOR_REV(); present_times-;P0=0xFD; /反轉指示燈亮send();flag=0;else break;數據顯示模塊圖 2中P0口為數據顯示模塊,該模塊將步進電機的工作狀態(tài)用不同顏色led顯示。工作狀態(tài)有3種,即正轉,反轉,停止;采用3種不同led燈來表示不同的工作狀態(tài)。2.1數據

18、通信模塊圖 2中區(qū)域COMPIM部分為數據通信模塊原理圖,采集的數據通過 RS 232串口發(fā)送到上位機。 圖 3為串口參數設置,其中波特率為 9 600,一幀 10位,一個起始位、一個停止位和8位數據。圖 3 proteus串口參數設置2 基于 LabVIEW的上位機系統(tǒng)設計VSPD60軟件是德國Eltima software公司開發(fā)的虛擬串口軟件。普通的計算機主板上只有1個或者2個RS232串口,此軟件可以根據使用要求在一臺計算機上產生多個虛擬RS232串口,產生的虛擬串口與實際物理串口的作用及用法一樣。的圖形化編程設計是采用NIVISA串口Serial函數來訪問和控制串口的。VISA中的S

19、erial函數庫里包含VISA Configure Serial Port、VISA Write、VISA Read、VISA Close等子函數。本設計用到的四個V1SA串口子函數是:VISA串口配置函數VISA Configure Serial Port、VISA寫入函數VISA Write、VISA讀取函數VlSA Read和VISA關閉函數VISA Closez3。為了改善 檢測技術與儀表綜合實驗教學質量,加強學生對以單片機為核心的嵌入式系統(tǒng)的深入了解,本文基于LabVIEW虛擬儀器技術和Proteus軟件設計了如圖1 所示的虛擬數據采集系統(tǒng)。 該系統(tǒng)由上位機和下位機兩部分組成,以單片

20、機為核心的下位機數據采集系統(tǒng)是以 Proteus 為平臺進行設計的,上位機用戶界面是基于 LabVIEW 平臺開發(fā)的,上位機與下位機之間的通信由 Virtual Serial Port Driver 6.09 10提供的虛串口實現。 仿真實驗結果表明,設計的虛擬數據采集系統(tǒng)與實際硬件系統(tǒng)的實驗結果基本一致,驗證了設計的虛擬數據采集系統(tǒng)的有效性和實用性3. LabVIEW人機界面的設計LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美國NI公司開發(fā)研制的一種利用圖標代替文本行創(chuàng)建應用程序的圖形化編程語言,使用非常方便La

21、bVIEW人機界面的設計過程可分為前面板設計和后面板設計通過(Virtual InstrumentSoftware Architecture,VISA)用戶能與大多數儀器總線連接,包括GPIB、USB、串口、PXI、VXI和以太網等5用戶成功登錄之后,首先為VISA配置串口的各種參數,如設置波特率為“9600”、數據位為“8”、停止位為“1”、校驗位為“無校驗”等;然后VISA讀取函數通過屬性節(jié)點讀取串口緩沖區(qū)中的數據67Pmteus仿真軟件雖然可“仿真單片機硬件,但要進行單片機電路與計算機通過RS232接口進行仿真的開發(fā)必須將計算機與Proteus軟件聯系起來。文中使用一款虛擬串口軟件Vir

22、tuM Serial PorlDriver60在計算機虛 擬出一對串【1來實現該功能,首先打開該虛擬串口戟什,在界面左邊的瀏覽界面可以顯示m所用計算機已經存在的物理串【J和已經虛擬出的串口接著在Manage porls而板中選撣要虛擬m的串口名稱,如COM3和COM4點擊A cid pair按鈕,即可虛擬出一組連接的串口,另外還需要在Prote雌環(huán)境中,對COMPIM模塊進行設置,在參數設置對話框中,把物理串口設置為Visual Serial Port Driver6 0軟件模擬卅的虛擬串IGOM4波特率l垃為9600并且設置數據位為8位停止位為1位,無奇偶校驗位,如圖5所示。4聯合仿真單片機程序利用keil軟件編譯戚HEX目標文件在Protcus環(huán)境下將程序目標代碼自載到單片機里點擊運行按鈕電路開始運行,當前實時溫度為15 3攝氏度如圖6所示;接著在LabVIEW前面板中選擇串口3(與虛擬出來的串口4為組),渡特率設置為與單片機一致,點擊運行按翎,下位機開始采集溫度數據。 執(zhí)行過程效果展示:程序介紹:前面板步進電機驅動的人機交互界面設計。布爾指示正反轉與停止位信號。proteus(采用51單片機驅動ULN2003 驅動步進電機的正反轉,RS232串口實現虛擬串口的鏈接。) 程序面板:labview的編程實現,在程序面板中使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論