版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、編號(hào):虛擬儀器課程考核論文基于labview的串口通信軟件設(shè)計(jì)論文作者姓名: XXX 作 者 學(xué) 號(hào): 所 在 學(xué) 院: 物理與電子學(xué)院 所 學(xué) 專 業(yè): 測(cè)控技術(shù)與儀器 導(dǎo)師姓名職稱: 高偉 論文完成時(shí)間: 基于labview的串口通信軟件設(shè)計(jì)金鵬舉(河南大學(xué)2011級(jí)測(cè)控專業(yè))摘要:串口通信因?yàn)槠浜?jiǎn)單,靈活易用,在許多領(lǐng)域有著廣闊的應(yīng)用前景。本文在深入介紹串口通信技術(shù)的基礎(chǔ)上,結(jié)合自身的工程實(shí)踐經(jīng)驗(yàn),闡述了 labview 串口編程的技術(shù)要點(diǎn),設(shè)計(jì)一個(gè)適用范圍較廣、實(shí)用性較強(qiáng)的串口通信助手。關(guān)鍵詞:串行通信,RS-232,labview,串口Abstract: a serial port
2、communication because of its simple, flexible and easy to use, has a broad application prospect in many fields.In this paper, based on in-depth introduction of serial port communication technology, combined with its own engineering practice experience, this paper expounds the main technical points o
3、f the labview serial port programming, design a wide application scope, practical serial port communication assistant.Keywords: serial communications, RS - 232, labview, serial port1.課題研究背景隨著計(jì)算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來(lái)越顯得重要。這里所說(shuō)的通信是只計(jì)算機(jī)與外界的信息交換。因此,通信既包括計(jì)算機(jī)與計(jì)算機(jī)之間,也包括計(jì)算機(jī)和外部設(shè)備之間、計(jì)算機(jī)與單片機(jī)之間的信息交換。由于串行通信是在一根傳輸
4、線上一位一位的傳送信息,所用的傳輸線少,尤其是在數(shù)據(jù)量比較大的場(chǎng)合下,利用一個(gè)主機(jī)向各個(gè)從機(jī)發(fā)送控制指令是一個(gè)很好的解決方案,在這個(gè)過(guò)程中,串口通信是實(shí)現(xiàn)計(jì)算機(jī)和外部設(shè)備之間、單片機(jī)與單片機(jī)、計(jì)算機(jī)與單片機(jī)之間通信的關(guān)鍵。2.串口通信的原理 串口通信的硬件投資少,軟件編程簡(jiǎn)單 ,在低速少量數(shù)據(jù)傳輸方面的應(yīng)用極其廣泛的應(yīng)用。尤其使用較多的是RS-485通信協(xié)議,因?yàn)镽S-485的差分電壓傳輸方式能有效的抑制共模干擾,傳輸距離能達(dá)到幾百米。串口通信的本質(zhì)就是兩個(gè)CPU以規(guī)定的通信協(xié)議進(jìn)行數(shù)據(jù)交換。目前常用的串口協(xié)議有RS232通信協(xié)議和RS485通信協(xié)議。RS232和RS485規(guī)定的通信
5、協(xié)議是相同的,只是物理層規(guī)定的電平不一樣。而RS232屬于全雙工串行異步通信協(xié)議,RS485屬于半雙工串行異步通信協(xié)議。在異步通行中有兩個(gè)比較重要的指標(biāo):數(shù)據(jù)幀格式和波特率。所以串口通信最重要的參數(shù)是波特率、起始位、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。波特率:是一個(gè)衡量通信速度的參數(shù),表示每秒鐘傳送的bit的個(gè)數(shù)。 RS232規(guī)定的數(shù)據(jù)幀格式為:1位起始位 + 5 8位的數(shù)據(jù)位 + 可選奇偶校驗(yàn)位 + 1 2位的停止位。起始位:當(dāng)通信線上沒(méi)有數(shù)據(jù)被傳送時(shí)處于邏輯“1”狀態(tài),當(dāng)發(fā)送設(shè)備要發(fā)送一個(gè)數(shù)據(jù)時(shí),先發(fā)送一個(gè)邏輯“0”信號(hào),這個(gè)低電平就是起始位,起始位通過(guò)通信線傳向接收設(shè)備,接收端檢測(cè)到這個(gè)
6、低電平后,就確認(rèn)開始接收數(shù)據(jù)了。起始位的作用是使通信雙方在傳送數(shù)據(jù)前協(xié)調(diào)同步。 數(shù)據(jù)位:是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù),當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是8位的,標(biāo)準(zhǔn)的值是5、7或8位,如何設(shè)置取決于要傳送的信息。每個(gè)包是指一個(gè)字節(jié),包括開始/停止位、數(shù)據(jù)位和奇偶校驗(yàn)位,由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選取,術(shù)語(yǔ)“包”指任何通信的情況。 停止位:用于表示單個(gè)包的最后一位。典型的值為1、1.5和2位,它是一個(gè)數(shù)據(jù)的結(jié)束標(biāo)志,接收端接收到停止位后,通信線路上會(huì)回復(fù)邏輯“1”的狀態(tài),知道下一個(gè)起始位的到來(lái)。 奇偶校驗(yàn)位:在串行通信中一種簡(jiǎn)單的檢錯(cuò)方式,可以選擇不采用。
7、常用的有兩種校驗(yàn)方式:奇校驗(yàn)和偶校驗(yàn)。對(duì)于奇校驗(yàn),串口會(huì)自動(dòng)設(shè)置校驗(yàn)位的高低電平,從而使數(shù)據(jù)幀中邏輯1出現(xiàn)的個(gè)數(shù)為奇數(shù)。相應(yīng)的,對(duì)于偶校驗(yàn),串口會(huì)自動(dòng)設(shè)置校驗(yàn)位的高低電平,從而使數(shù)據(jù)幀中邏輯1出現(xiàn)的個(gè)數(shù)位偶數(shù)。3軟件設(shè)計(jì)3.1 軟件平臺(tái)labviewLabVIEW ( Laboratory Virtual Instrument Engineering)是一種基于圖形開發(fā)、 調(diào)試和運(yùn)行程序的集成化環(huán)境, 實(shí)現(xiàn)了虛擬儀器的概念,LabVIEW程序稱為虛擬儀器程序. 采用圖形化的程序語(yǔ)言 ( G語(yǔ)言 )。這種語(yǔ)言不必寫程序代碼, 看到的是直觀明了的流程圖語(yǔ)言, 所以編程非常方便。該語(yǔ)言提供了大量的常
8、用控件, 如旋鈕、 開關(guān)、 按鈕、 圖形顯示等, 可直接使用, 不像 Delphi等高級(jí)語(yǔ)言實(shí)現(xiàn)一個(gè)旋鈕需要幾十行代碼, 因此, Lab VIEW 大大地縮短了軟件的研發(fā)周期。LabVIEW 能與多種語(yǔ)言通用, 如Matlab , C等, 例如將 Matlab腳本嵌入到 LabVIEW程序, 保證了一些 LabVIEW 所不具備的功能得以實(shí)現(xiàn), 如小波分析、 神經(jīng)網(wǎng)絡(luò)等。此外, 通過(guò)加亮執(zhí)行、 單步、 斷點(diǎn)和探針幫助用戶跟蹤經(jīng)過(guò) VI的數(shù)據(jù)流, 使 Lab VIEW 的調(diào)試直觀方便.3.2 軟件設(shè)計(jì)思路在LabVIEW中實(shí)現(xiàn)串行通信的方式主要有利用VISA和使用ActiveX控件兩種。3.2.
9、1 利用VISA實(shí)現(xiàn)串口通信虛擬儀器的軟件系統(tǒng)框架包括三個(gè)部分:VISA庫(kù)、儀器驅(qū)動(dòng)程序、應(yīng)用軟件。VISA作為測(cè)試程序和數(shù)據(jù)傳輸總線的中間層,為應(yīng)用程序和儀器總線的通信建立了通道2。VISAI/O庫(kù)為應(yīng)用程序的建立提供了一致的接口,因而應(yīng)用程序不需要關(guān)心實(shí)際的數(shù)據(jù)傳輸介質(zhì)是GPIB電纜還是串口線,可以認(rèn)為在VISA庫(kù)中包含了與各種接口進(jìn)行連接所需的程序。VISA是應(yīng)用于儀器編程的標(biāo)準(zhǔn)I/O應(yīng)用程序接口(API),VISA本身并不具有儀器編程能力,VISA是調(diào)用低層驅(qū)動(dòng)器的高層API3。使用時(shí)需要安裝VISA驅(qū)動(dòng)程序。 使用ActiveX控件實(shí)現(xiàn)串行通信ActiveX通常翻譯為“微軟倡導(dǎo)的網(wǎng)絡(luò)
10、化多媒體對(duì)象技術(shù)”,實(shí)際上它是一整套跨越編程語(yǔ)言的軟件開發(fā)方法與規(guī)范。利用LabVIEW的ActiveX控件容器,可以調(diào)用第三方提供的ActiveX控件,從而使程序功能更加強(qiáng)大,節(jié)省程序開發(fā)時(shí)間6。3.3 軟件設(shè)計(jì)過(guò)程本次設(shè)計(jì)利用VISA實(shí)現(xiàn)串口通信。首先需要調(diào)用VISAConfigureSerialPort完成串口參數(shù)的設(shè)置,包括串口資源分配、波特率、數(shù)據(jù)位、停止位、校驗(yàn)位和流控等,如果初始化沒(méi)有問(wèn)題,就可以使用這個(gè)串口進(jìn)行數(shù)據(jù)收發(fā)。發(fā)送數(shù)據(jù)使用VISAWrite,如圖3所示。接收數(shù)據(jù)使用VISARead,如圖4所示。在接收數(shù)據(jù)之前需要使用VISABytesatSerialPort查詢當(dāng)前串
11、口接收緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),如果VISARead要讀取的字節(jié)數(shù)大于緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),VISARead操作將一直等待,直至Timeout或者緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù)達(dá)到要求的字節(jié)數(shù)。當(dāng)然也可以分批讀取接收緩沖區(qū)或者只從中讀取一定字節(jié)的數(shù)據(jù)。串行通信系統(tǒng)可分為以下 3個(gè)模塊: ( 1) 端口配置模塊: 負(fù)責(zé)串口的開關(guān)、 端口的選擇、 波特率、 數(shù)據(jù)位、 停止位、 校驗(yàn)位的選擇等。( 2) 數(shù)據(jù)發(fā)送模塊: 負(fù)責(zé)實(shí)現(xiàn)發(fā)送數(shù)據(jù)的處理與數(shù)據(jù)的多種發(fā)送方式, 具有選擇手動(dòng)發(fā)送或自動(dòng)發(fā)送、 選擇發(fā)送數(shù)據(jù)的類型、 設(shè)置自動(dòng)發(fā)送時(shí)間間隔、 讀取要發(fā)送的文本、 清空發(fā)送區(qū)域等功能。(3) 接收顯示模塊: 負(fù)責(zé)實(shí)現(xiàn)接
12、收數(shù)據(jù)的處理與數(shù)據(jù)的多種顯示方式, 具有自動(dòng)接收和結(jié)束接收的功能, 能夠保存接收的數(shù)據(jù)和清空顯示區(qū)域。程序框圖如下:圖1:串口通信程序框圖程序前面板設(shè)計(jì)如下:3.4 程序調(diào)試由于條件限制,手中沒(méi)有單片機(jī),所以軟件調(diào)試使用虛擬串口軟件和之前用MFC寫的串口調(diào)試助手。1. 首先打開虛擬串口,添加虛擬的串口COM1和COM2(虛擬串口添加的端口是相連的)2. 打開串口調(diào)試助手和VI程序分別設(shè)置為COM1(9600-N-8-1),COM2(9600-N-8-1)4設(shè)計(jì)總結(jié)本次串口通信軟件設(shè)計(jì)首先按照規(guī)定的要求實(shí)現(xiàn)了如下功能:1. 能與單片機(jī)進(jìn)行RS-232串口通信,能發(fā)送和接收。2. 顯示通信過(guò)程中發(fā)
13、送和接收的數(shù)據(jù)。3. 波特率、數(shù)據(jù)位、校驗(yàn)位和停止位可調(diào)。4. 串口號(hào)可選擇。利用LabVIEW進(jìn)行產(chǎn)品開發(fā)可以極大地提高開發(fā)效率,本文介紹的LabVIEW串口編程,就是一個(gè)很好的證明。將LabVIEW軟件開發(fā)與串口通信結(jié)合設(shè)計(jì)開發(fā)數(shù)據(jù)采集系統(tǒng)和控制硬件設(shè)備,不僅能節(jié)約大量開發(fā)時(shí)間和減少硬件成本,還可以為今后的系統(tǒng)升級(jí)留有很大空間,同時(shí)還使得系統(tǒng)具有很好的可移植性。參考文獻(xiàn):1 李宇華.虛擬儀器開放平臺(tái)LabVIEW介紹 J.計(jì)算機(jī)自動(dòng)測(cè)量與控制, 1996, ( 3): 32- 45.2KALKMANCJ.LabVIEW:A soft ware system for data scquisition,data analysis,and instrument control J.Journal of Clinical Monitoring and Computing.2005,11(1):1387-1397. & analog communication systems (7thEd.) M.Macmillan : New York,2007,327-333. 4 楊樂(lè)平, 李海濤, 肖相少, 等. LabVIEW 程序設(shè)計(jì)與應(yīng)用 M. 北京:電子工業(yè)出版社, 2001 . 5 暢國(guó)忠. 基于VISA的事件處理方法與實(shí)現(xiàn) J. 測(cè)控技術(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空航天采購(gòu)合同協(xié)議書
- 沈陽(yáng)理工大學(xué)《C++程序設(shè)計(jì)》2022-2023學(xué)年期末試卷
- 2024居間合同樣本
- 2024試用期內(nèi)是否要簽合同
- 2024中外合資經(jīng)營(yíng)企業(yè)合同制造廠
- 2024家裝裝修的合同范本
- 糖尿病蛋白質(zhì)的攝入
- 4人合伙人協(xié)議書(2篇)
- 租賃協(xié)議書(2篇)
- 關(guān)于銀行實(shí)習(xí)日記模板匯編六篇
- 天津市河西區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期中英語(yǔ)試題
- 8.3 法治社會(huì) 課件高中政治統(tǒng)編版必修三政治與法治
- 河北省唐山市灤南縣2024-2025學(xué)年七年級(jí)上學(xué)期10月期中數(shù)學(xué)試題
- GB/T 44653-2024六氟化硫(SF6)氣體的現(xiàn)場(chǎng)循環(huán)再利用導(dǎo)則
- GB/T 44540-2024精細(xì)陶瓷陶瓷管材或環(huán)材彈性模量和彎曲強(qiáng)度的測(cè)定缺口環(huán)法
- 道路交通安全法律法規(guī)
- 2024年新北師大版數(shù)學(xué)一年級(jí)上冊(cè) 第4單元 10以內(nèi)數(shù)加與減 第9課時(shí) 可愛(ài)的企鵝 教學(xué)課件
- 外研版(2019) 選擇性必修第四冊(cè) Unit 5 Into the Unknown Understanding ideas教案
- 中班健康課件《認(rèn)識(shí)五官》
- 2024~2025學(xué)年度八年級(jí)數(shù)學(xué)上冊(cè)第1課時(shí) 等邊三角形的性質(zhì)和判定教學(xué)設(shè)計(jì)
- 江西九江富和建設(shè)投資集團(tuán)有限公司招聘筆試題庫(kù)2024
評(píng)論
0/150
提交評(píng)論