亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Labview對(duì)大學(xué)生方程式賽車的虛擬儀表設(shè)計(jì)

        2014-04-16 11:52:50姜帥琦
        科技視界 2014年13期
        關(guān)鍵詞:流程圖串口單片機(jī)

        姜帥琦

        (南京農(nóng)業(yè)大學(xué) 工學(xué)院,江蘇 南京 210031)

        0 引言

        Labview軟件簡(jiǎn)介:

        本設(shè)計(jì)采用Labview軟件進(jìn)行開發(fā)設(shè)計(jì)。Labview是美國(guó)NI公司的一種基于G語(yǔ)言的虛擬儀器軟件開發(fā)工具。它的顯著特點(diǎn)是:采用簡(jiǎn)單易學(xué)的圖形化編程,提供眾多的設(shè)備驅(qū)動(dòng)程序和可供用戶直接調(diào)用且功能強(qiáng)大的函數(shù)庫(kù)和Windows動(dòng)態(tài)鏈接庫(kù)函數(shù),實(shí)現(xiàn)多線程編程等高級(jí)功能。并提供靈活的程序調(diào)試手段,既可以設(shè)置斷點(diǎn)又可以設(shè)置探針,在程序運(yùn)行中觀察數(shù)據(jù)流的變化。

        Labview編寫的程序叫虛擬儀器程序,包括軟面板設(shè)計(jì)和流程圖設(shè)計(jì)2部分。軟面板代替常規(guī)儀器的控制面板,一般由開關(guān)、旋鈕、表頭、顯示器和其他部件組成。儀器流程圖的設(shè)計(jì),是根據(jù)儀器功能的要求,利用虛擬儀器開發(fā)平臺(tái)提供的子模板,確定程序的流程圖、主要處理算法和所實(shí)現(xiàn)的技術(shù)方法。流程圖與每個(gè)儀器的前面板對(duì)應(yīng),用戶能夠通過前面板,用鼠標(biāo)或控件操作儀器。

        Labview具有功能強(qiáng)大的函數(shù)模塊庫(kù),特別適用于測(cè)試和控制系統(tǒng)的開發(fā)。結(jié)合NI的硬件模塊,能夠方便的進(jìn)行采集和分析相關(guān)測(cè)試數(shù)據(jù)。考慮到儀表整體功能測(cè)試和模塊功能測(cè)試的需要,整個(gè)系統(tǒng)主要包括界面模塊和各個(gè)功能測(cè)試模塊。根據(jù)信號(hào)類型將儀表功能測(cè)試分為:車速表測(cè)試模塊、發(fā)動(dòng)機(jī)轉(zhuǎn)速表測(cè)試模塊、燃油表測(cè)試模塊、水溫表測(cè)試模塊等主要功能模塊。

        1 Labview串口通信

        程序設(shè)計(jì)主要由兩部分組成:上位機(jī)程序設(shè)計(jì)和下位機(jī)程序設(shè)計(jì),而在編寫雙方通信程序之前,必須先定義好雙方的通信協(xié)議,采用相應(yīng)的數(shù)據(jù)傳輸方法,這樣才能保證數(shù)據(jù)的可靠性。

        串行通信是一種常用的數(shù)據(jù)傳輸方法,雖然它的傳輸速度慢,但由于它占用的通信線路少、成本低、容易實(shí)現(xiàn)等優(yōu)點(diǎn),在數(shù)據(jù)通信方式上仍占有重要地位。目前,串口通信程序的開發(fā),在Windows操作系統(tǒng)下一般用VB、VC、VF Delphi等許多高級(jí)語(yǔ)言編寫。當(dāng)用VB、VC、VF,開發(fā)串行通信程序時(shí),開發(fā)人員不得不面對(duì)非常煩瑣的API函數(shù)編程;用文本語(yǔ)言編串口通信程序較為復(fù)雜,花費(fèi)的時(shí)間較長(zhǎng)。所以在主機(jī)通信程序設(shè)計(jì)中,我們采用LabVIEW圖形化語(yǔ)言作為編程語(yǔ)言,它把高級(jí)語(yǔ)言中的函數(shù)封裝為圖形功能模塊,圖標(biāo)間的連線表示各個(gè)功能模塊之間的數(shù)據(jù)傳遞。編程方式簡(jiǎn)單、直觀、便于使用。串口通信功能模塊包括串口初始化模塊、串口讀模塊以及串口寫模塊,通過這些模塊就可以實(shí)現(xiàn)對(duì)單片機(jī)的控制。

        2 VISA串行通信基本功能模塊介紹

        VISA的調(diào)用流程如圖1所示。通過對(duì)VISA節(jié)點(diǎn)的調(diào)用,可以方便、快速地實(shí)現(xiàn)系統(tǒng)上位機(jī)對(duì)下位機(jī)的實(shí)時(shí)監(jiān)控。

        在LabVIEW功能模板的Function >>InstrumentI/O >>VISA 程序庫(kù)中包含進(jìn)行串行通信操作的一些功能模塊:

        2.1 VISA Configure Serial Port節(jié)點(diǎn)

        圖1

        該節(jié)點(diǎn)主要用于串口的初始化,在利用計(jì)算機(jī)控制串口儀器設(shè)備時(shí),會(huì)經(jīng)常用到這個(gè)節(jié)點(diǎn)在進(jìn)行串行通信前,首先要配置好串口,即先初始化串口,使計(jì)算串口的各種參數(shù)設(shè)計(jì)與儀器設(shè)備的串口保持一致,這樣才能正確的通信。它的主要參數(shù)意義如下:

        VISA resource name:VISA資源名稱,本文指串口號(hào)。

        baud rate:波特率,默認(rèn)為 9600。

        data bits:一幀信息中的位數(shù),LabVIEW中允許5-8位數(shù)據(jù),默認(rèn)值為8位。

        stop bits:一幀信息中的停止位的位數(shù),可為1位、1位半或2位。

        Parity:奇偶校驗(yàn)設(shè)置??蔀闊o校驗(yàn)、奇校驗(yàn)或偶校驗(yàn)。

        flow control:該參數(shù)數(shù)據(jù)類型為簇,用于串行通訊中的握手方式。

        2.2 VISA Read 節(jié)點(diǎn)

        V該節(jié)點(diǎn)為串口讀子VI,為本文中的主要節(jié)點(diǎn),將串口中的數(shù)據(jù)讀出,然后利用LabVIEW的強(qiáng)大數(shù)據(jù)處理功能對(duì)其進(jìn)行分析處理。主要參數(shù)意義如下:

        ISA resource name:VISA資源名稱,本文指串口號(hào)。

        byte count:用于設(shè)置所要讀的字符數(shù)。由于LabVIEW的串行通訊子V1只允許對(duì)字符串的讀寫,因此本文中在進(jìn)行數(shù)據(jù)處理時(shí),必須要實(shí)現(xiàn)字符串與數(shù)字之間的正確轉(zhuǎn)換。此外,若要讀入當(dāng)前串口中的所有字符,則要執(zhí)行“VISA Sytes at Serial Port”子VI,用以確定將要讀入的確切的字節(jié)數(shù),然后將其輸出作為VISARead節(jié)點(diǎn)的輸入即可。

        2.3 VISA Write 節(jié)點(diǎn)(如圖 2)

        圖2

        VISA Write節(jié)點(diǎn)的功能是向VISA resource name所代表的儀器或接口寫入信息。輸入?yún)?shù)VISA resource name是VISA Open函數(shù)所返回的,或者“流過”其他VISA函數(shù)的,包含了會(huì)話信息的VISA資源名;write buffer為字符串類型的寫入數(shù)據(jù),輸出參數(shù)dup VISA resource name為輸入?yún)?shù)VISA resource name的一個(gè)備份,可用于后繼的VISA函數(shù)調(diào)用。整型輸出參數(shù)return count返回實(shí)際寫入數(shù)據(jù)的字節(jié)數(shù)。

        2.4 VISA Close 節(jié)點(diǎn)(如圖 3)

        圖3

        主要參數(shù):

        VISA resource name:VISA資源名稱,本文指串口號(hào)。

        本文所用LabVIEW串口通訊程序的波特率為96O0,無奇偶校驗(yàn),8位數(shù)據(jù)位,1位停止位,禁止軟、硬件握手。

        該節(jié)點(diǎn)用于將打開的VISA資源關(guān)閉,VISA resource name輸入?yún)?shù)為包含會(huì)話信息的資源名。該函數(shù)關(guān)閉VISA會(huì)話,并釋放與之關(guān)聯(lián)的所有資源。

        2.5 VISA Open 節(jié)點(diǎn)

        該函數(shù)功能為打開一個(gè)與VISA resource name所代表儀器資源的會(huì)話。會(huì)話是VISA resource name參數(shù)本身隱含攜帶的儀器訪問邏輯標(biāo)識(shí),可以同時(shí)存在對(duì)一個(gè)VISA資源的多個(gè)訪問會(huì)話。在調(diào)用VISA Open之前VISA resource name參數(shù)僅僅是一個(gè)資源描述字符串,在函數(shù)調(diào)用之后,輸出參數(shù)VISA resource name已經(jīng)攜帶了會(huì)話信息,可以用于后繼的VISA操作。輸入?yún)?shù)為包含會(huì)話信息的資源名。

        當(dāng)完成VISA資源的搜索后,對(duì)于搜索到的VISA資源,可以通過VISA Open節(jié)點(diǎn)打開,建立計(jì)算機(jī)與這些VISA資源之間的通信管道。

        3 VISA設(shè)計(jì)方法

        3.1 Labview串口開發(fā)過程

        在Labview環(huán)境中使用串口與在其它開發(fā)環(huán)境中開發(fā)過程類似,基本的流程框如圖4:

        圖4

        首先需要調(diào)用VISA Configure Serial Port完成串口參數(shù)的設(shè)置,包括所用串口號(hào)、比特率、一幀信息中有效數(shù)據(jù)的位數(shù)、停止位、奇偶校驗(yàn)、數(shù)據(jù)流量控制等,如下圖5:

        圖5

        如果初始化沒有問題,就可以使用這個(gè)串口進(jìn)行數(shù)據(jù)收發(fā)。

        發(fā)送數(shù)據(jù)使用VISA Write,接收數(shù)據(jù)使用VISARead。如果VISA Read要讀取的字節(jié)數(shù)大于緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),VISA Read操作將一直等待,直至Timeout或者緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù)達(dá)到要求的字節(jié)數(shù)。

        在某些特殊情況下,需要設(shè)置串口接收/發(fā)送緩沖區(qū)的大小,此時(shí)可以使用VISA Set I/O BufferSize;而使用VISA Flush I/O Buffer則可以清空接收與發(fā)送緩沖區(qū)。在串口使用結(jié)束后,使用VISA Close結(jié)束與VISAResource Name指定的串口之間的會(huì)話。

        3.2 VISA屬性設(shè)置及串口實(shí)現(xiàn)

        首先完成串口的初始化,在此設(shè)置波特率為9600b/s,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn);其次設(shè)置Write/Read等相應(yīng)模塊的功能。

        由于硬件在整個(gè)工作期間,以9600bit/s的速率連續(xù)向外發(fā)送數(shù)據(jù),為了數(shù)據(jù)處理方便,可以采用LabVIEW8.6中的Serial Read With Time-out.vi模塊,以保證每次從串口緩存中讀出等量偶數(shù)個(gè)數(shù)據(jù)。

        4 單片機(jī)程序設(shè)計(jì)

        本文中所做的研究需要將實(shí)際采集到的方程式賽車的各種儀表信息存儲(chǔ)到單片機(jī)中,由單片機(jī)提供數(shù)據(jù)給上位機(jī)進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的顯示,再通過PC機(jī)的RS-232串行接口與外部設(shè)備進(jìn)行通信,因此需要實(shí)現(xiàn)PC機(jī)和單片機(jī)之間的通信。本文將論述在Labview環(huán)境下PC機(jī)與AT89S52單片機(jī)之間實(shí)現(xiàn)串行通信的方案。

        4.1 系統(tǒng)工作流程

        下位機(jī)的程序包括數(shù)據(jù)采集模塊和串口通信的數(shù)據(jù)傳輸模塊,數(shù)據(jù)采集模塊首先進(jìn)行初始化,通過單片機(jī)控制A/D轉(zhuǎn)換模塊數(shù)據(jù)采集功能,A/D模塊將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)后發(fā)出中斷,單片機(jī)將傳輸AD模塊采集的信號(hào)到緩沖區(qū)。串口數(shù)據(jù)傳輸模塊在串口通信之前,對(duì)串口進(jìn)行初始化,主要包括串口波特率,數(shù)據(jù)格式,接收中斷的設(shè)置[18]。當(dāng)上位機(jī)發(fā)送數(shù)據(jù)給下位機(jī),會(huì)引起單片機(jī)接收中斷,此時(shí)進(jìn)入中斷服務(wù)程序,單片機(jī)接收數(shù)據(jù),比較校驗(yàn)和,如果相同,發(fā)指令給PC機(jī)確認(rèn),最后將采集到的數(shù)據(jù)通過RS-232串行接口傳送到PC機(jī)。

        4.2 按鍵子程序流程圖

        鍵盤掃描查詢子程序,是提供人機(jī)信息交換的接口。由于采用掃描法,是利用CPU在完成其他工作之余,反復(fù)掃描查詢鍵盤接口,根據(jù)端口的輸入情況,調(diào)用不同的按鍵處理子程序。當(dāng)按鍵按下時(shí),利用軟件延時(shí)去抖動(dòng),然后掃描按鍵位置,讀取準(zhǔn)確數(shù)值,最后完成一次按鍵處理。

        4.3 顯示子程序流程圖

        當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~5ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。顯示子程序流程圖如圖6所示。

        圖6

        4.4 數(shù)據(jù)采集程序的實(shí)現(xiàn)

        單片機(jī)程序用A/D模塊進(jìn)行采集傳感器的值,然后用SCI口將采集的值發(fā)給PC機(jī)。

        A/D轉(zhuǎn)換簡(jiǎn)介:

        在過程控制和儀器儀表中,多由計(jì)算機(jī)進(jìn)行實(shí)時(shí)控制及實(shí)時(shí)數(shù)據(jù)處理,計(jì)算機(jī)所加工的信息總是數(shù)字量,而被檢測(cè)的對(duì)象卻往往是一些連續(xù)變化的模擬量(如溫度、壓力、速度和流量等),因此需要將模擬量轉(zhuǎn)化成為數(shù)字量,以便在計(jì)算機(jī)中進(jìn)行運(yùn)算處理,此過程稱為模數(shù)(A/D)轉(zhuǎn)換。進(jìn)行A/D轉(zhuǎn)換,需要了解以下的基本問題:

        1)采樣精度

        采樣精度就是指數(shù)字量變化一個(gè)最小量是模擬信號(hào)的變化量,即通常所說的采樣位數(shù)。設(shè)采樣位數(shù)為N,則最小的能檢測(cè)到的模擬量變化值為1/2N。如圖7所示:

        圖7

        2)采樣速率

        采樣速率是指完成一次A/D采樣所要花費(fèi)的時(shí)間。速率和所選器件的工作頻率有很大關(guān)系。

        3)濾波

        為了使采樣的數(shù)據(jù)更準(zhǔn)確,必須對(duì)采樣的數(shù)據(jù)進(jìn)行篩選去掉誤差較大的數(shù)據(jù)。通常采用中值濾波和均值濾波來提高采樣精度。中值濾波是取3次采樣的中間值,均值濾波是取多次采樣的算術(shù)平均值。

        4)物理量回歸

        在實(shí)際應(yīng)用中,得到穩(wěn)定的A/D采樣值后,還需要把A/D采樣值與實(shí)際物理量對(duì)應(yīng)起來。A/D轉(zhuǎn)換的目的是把模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),供計(jì)算機(jī)進(jìn)行處理,但必須知道A/D轉(zhuǎn)換后的數(shù)值所代表的實(shí)際物理量的值,這樣才有實(shí)際意義。

        5 虛擬儀表程序

        5.1 主程序

        5.2 宏定義程序

        6 總結(jié)

        采用NI的Labview軟件系統(tǒng),使得我們建立起一套虛擬儀表平臺(tái),通過該系統(tǒng)可以快速準(zhǔn)確的獲得各項(xiàng)數(shù)據(jù),為我們后續(xù)賽車電子產(chǎn)品的研發(fā)積累了測(cè)試經(jīng)驗(yàn)。虛擬數(shù)字式賽車儀表的應(yīng)用,使儀表的讀數(shù)更加清晰和直觀、信息量更大、智能化程度更高、功耗低及開發(fā)周期短,可用于日常學(xué)科研究中。通過對(duì)Labview的綜合應(yīng)用及與單片機(jī)的相結(jié)合,使方程式賽車的虛擬儀表設(shè)計(jì)更加簡(jiǎn)化快速,Labview也為方程式賽車的其他設(shè)計(jì)提供了更好的平臺(tái)。

        猜你喜歡
        流程圖串口單片機(jī)
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        專利申請(qǐng)審批流程圖
        河南科技(2016年8期)2016-09-03 08:08:22
        專利申請(qǐng)審批流程圖
        河南科技(2016年6期)2016-08-13 08:18:29
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
        Microchip推出兩個(gè)全新PIC單片機(jī)系列
        寧??h村級(jí)權(quán)力清單36條
        午夜一区二区三区在线视频| 日韩人妻ol丝袜av一二区| 久久综合亚洲色hezyo国产| 国产丝袜视频一区二区三区| 亚洲a∨无码精品色午夜| 欧洲美女黑人粗性暴交| 国产自国产在线观看免费观看 | 呦泬泬精品导航| 久久精品一区二区三区不卡牛牛| 在线看片免费人成视久网不卡| 亚洲无毛成人在线视频| 一区二区和激情视频| 免费人成再在线观看视频| 日韩a无v码在线播放| 国产性猛交╳xxx乱大交| 粉嫩少妇内射浓精videos| 国产精品成人无码a 无码| 日韩一区三区av在线| 欲香欲色天天天综合和网| 熟女体下毛毛黑森林| 免费一本色道久久一区| 久久久精品免费国产四虎| 好看的国内自拍三级网站| 日韩人妖视频一区二区| 内射欧美老妇wbb| .精品久久久麻豆国产精品| 国产又粗又猛又黄色呦呦| 国产一级一区二区三区在线播放| 亚洲一区二区三区四区五区黄 | 亚洲第一女优在线观看| 天天做天天爱夜夜夜爽毛片| 日本熟妇美熟bbw| 亚洲精品国产suv一区88| 日产精品久久久久久久| 国产免费视频一区二区| 亚洲av三级黄色在线观看| 亚洲国产婷婷香蕉久久久久久| 99在线精品免费视频九九视| 国产va免费精品观看| 在线观看av片永久免费| 麻豆激情视频在线观看|