999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Labview對大學生方程式賽車的虛擬儀表設計

2014-04-16 11:52:50姜帥琦
科技視界 2014年13期
關鍵詞:單片機程序資源

姜帥琦

(南京農業大學 工學院,江蘇 南京 210031)

0 引言

Labview軟件簡介:

本設計采用Labview軟件進行開發設計。Labview是美國NI公司的一種基于G語言的虛擬儀器軟件開發工具。它的顯著特點是:采用簡單易學的圖形化編程,提供眾多的設備驅動程序和可供用戶直接調用且功能強大的函數庫和Windows動態鏈接庫函數,實現多線程編程等高級功能。并提供靈活的程序調試手段,既可以設置斷點又可以設置探針,在程序運行中觀察數據流的變化。

Labview編寫的程序叫虛擬儀器程序,包括軟面板設計和流程圖設計2部分。軟面板代替常規儀器的控制面板,一般由開關、旋鈕、表頭、顯示器和其他部件組成。儀器流程圖的設計,是根據儀器功能的要求,利用虛擬儀器開發平臺提供的子模板,確定程序的流程圖、主要處理算法和所實現的技術方法。流程圖與每個儀器的前面板對應,用戶能夠通過前面板,用鼠標或控件操作儀器。

Labview具有功能強大的函數模塊庫,特別適用于測試和控制系統的開發。結合NI的硬件模塊,能夠方便的進行采集和分析相關測試數據。考慮到儀表整體功能測試和模塊功能測試的需要,整個系統主要包括界面模塊和各個功能測試模塊。根據信號類型將儀表功能測試分為:車速表測試模塊、發動機轉速表測試模塊、燃油表測試模塊、水溫表測試模塊等主要功能模塊。

1 Labview串口通信

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

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

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

VISA的調用流程如圖1所示。通過對VISA節點的調用,可以方便、快速地實現系統上位機對下位機的實時監控。

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

2.1 VISA Configure Serial Port節點

圖1

該節點主要用于串口的初始化,在利用計算機控制串口儀器設備時,會經常用到這個節點在進行串行通信前,首先要配置好串口,即先初始化串口,使計算串口的各種參數設計與儀器設備的串口保持一致,這樣才能正確的通信。它的主要參數意義如下:

VISA resource name:VISA資源名稱,本文指串口號。

baud rate:波特率,默認為 9600。

data bits:一幀信息中的位數,LabVIEW中允許5-8位數據,默認值為8位。

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

Parity:奇偶校驗設置。可為無校驗、奇校驗或偶校驗。

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

2.2 VISA Read 節點

V該節點為串口讀子VI,為本文中的主要節點,將串口中的數據讀出,然后利用LabVIEW的強大數據處理功能對其進行分析處理。主要參數意義如下:

ISA resource name:VISA資源名稱,本文指串口號。

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

2.3 VISA Write 節點(如圖 2)

圖2

VISA Write節點的功能是向VISA resource name所代表的儀器或接口寫入信息。輸入參數VISA resource name是VISA Open函數所返回的,或者“流過”其他VISA函數的,包含了會話信息的VISA資源名;write buffer為字符串類型的寫入數據,輸出參數dup VISA resource name為輸入參數VISA resource name的一個備份,可用于后繼的VISA函數調用。整型輸出參數return count返回實際寫入數據的字節數。

2.4 VISA Close 節點(如圖 3)

圖3

主要參數:

VISA resource name:VISA資源名稱,本文指串口號。

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

該節點用于將打開的VISA資源關閉,VISA resource name輸入參數為包含會話信息的資源名。該函數關閉VISA會話,并釋放與之關聯的所有資源。

2.5 VISA Open 節點

該函數功能為打開一個與VISA resource name所代表儀器資源的會話。會話是VISA resource name參數本身隱含攜帶的儀器訪問邏輯標識,可以同時存在對一個VISA資源的多個訪問會話。在調用VISA Open之前VISA resource name參數僅僅是一個資源描述字符串,在函數調用之后,輸出參數VISA resource name已經攜帶了會話信息,可以用于后繼的VISA操作。輸入參數為包含會話信息的資源名。

當完成VISA資源的搜索后,對于搜索到的VISA資源,可以通過VISA Open節點打開,建立計算機與這些VISA資源之間的通信管道。

3 VISA設計方法

3.1 Labview串口開發過程

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

圖4

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

圖5

如果初始化沒有問題,就可以使用這個串口進行數據收發。

發送數據使用VISA Write,接收數據使用VISARead。如果VISA Read要讀取的字節數大于緩沖區中的數據字節數,VISA Read操作將一直等待,直至Timeout或者緩沖區中的數據字節數達到要求的字節數。

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

3.2 VISA屬性設置及串口實現

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

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

4 單片機程序設計

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

4.1 系統工作流程

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

4.2 按鍵子程序流程圖

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

4.3 顯示子程序流程圖

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

圖6

4.4 數據采集程序的實現

單片機程序用A/D模塊進行采集傳感器的值,然后用SCI口將采集的值發給PC機。

A/D轉換簡介:

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

1)采樣精度

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

圖7

2)采樣速率

采樣速率是指完成一次A/D采樣所要花費的時間。速率和所選器件的工作頻率有很大關系。

3)濾波

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

4)物理量回歸

在實際應用中,得到穩定的A/D采樣值后,還需要把A/D采樣值與實際物理量對應起來。A/D轉換的目的是把模擬信號轉化為數字信號,供計算機進行處理,但必須知道A/D轉換后的數值所代表的實際物理量的值,這樣才有實際意義。

5 虛擬儀表程序

5.1 主程序

5.2 宏定義程序

6 總結

采用NI的Labview軟件系統,使得我們建立起一套虛擬儀表平臺,通過該系統可以快速準確的獲得各項數據,為我們后續賽車電子產品的研發積累了測試經驗。虛擬數字式賽車儀表的應用,使儀表的讀數更加清晰和直觀、信息量更大、智能化程度更高、功耗低及開發周期短,可用于日常學科研究中。通過對Labview的綜合應用及與單片機的相結合,使方程式賽車的虛擬儀表設計更加簡化快速,Labview也為方程式賽車的其他設計提供了更好的平臺。

猜你喜歡
單片機程序資源
基礎教育資源展示
一樣的資源,不一樣的收獲
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
資源回收
“程序猿”的生活什么樣
資源再生 歡迎訂閱
資源再生(2017年3期)2017-06-01 12:20:59
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
主站蜘蛛池模板: 亚洲成人免费看| 欧美亚洲香蕉| 成人午夜在线播放| 国产一级毛片在线| 成人午夜视频免费看欧美| 国产精品夜夜嗨视频免费视频| 黄片一区二区三区| 日本人又色又爽的视频| 日韩精品亚洲精品第一页| 免费国产在线精品一区| 免费毛片全部不收费的| 色AV色 综合网站| 国产凹凸视频在线观看| 欧美自慰一级看片免费| 中文字幕无码av专区久久| 国产美女91视频| 激情综合婷婷丁香五月尤物| 亚洲人成在线免费观看| 一级毛片无毒不卡直接观看| 国产h视频在线观看视频| 国产男女XX00免费观看| 日韩在线1| 好久久免费视频高清| 久久精品国产一区二区小说| 色综合中文综合网| 精品视频第一页| 日韩a级片视频| 久久国产精品影院| 亚洲国产精品一区二区第一页免 | 亚洲中文字幕日产无码2021| 欧美亚洲一区二区三区在线| 国产在线观看精品| 国产主播在线一区| 免费av一区二区三区在线| 国产chinese男男gay视频网| 国产精品香蕉在线观看不卡| 依依成人精品无v国产| 中文字幕1区2区| 亚洲人成网站日本片| 玖玖精品视频在线观看| Jizz国产色系免费| jijzzizz老师出水喷水喷出| 狼友视频一区二区三区| 欧美va亚洲va香蕉在线| 免费一级全黄少妇性色生活片| 亚洲三级色| 色综合成人| 午夜福利在线观看入口| 国产在线观看高清不卡| 最新亚洲人成无码网站欣赏网| a毛片免费在线观看| 亚洲人成在线精品| 免费黄色国产视频| 91麻豆精品视频| 有专无码视频| 色综合天天综合| 国产精品综合久久久 | 国产精品部在线观看| 久久综合结合久久狠狠狠97色| 亚洲无码A视频在线| 中文字幕在线观| 国产夜色视频| 日本精品影院| 女人18毛片久久| 蜜桃视频一区| 一区二区三区国产| 久久婷婷综合色一区二区| 丁香六月综合网| 精品伊人久久久久7777人| 91麻豆国产视频| 国产精品高清国产三级囯产AV| 性网站在线观看| 青青青视频91在线 | a级毛片在线免费观看| 国产精品妖精视频| 国产区精品高清在线观看| 日本一本正道综合久久dvd| 亚洲国产黄色| 麻豆精品视频在线原创| 人人妻人人澡人人爽欧美一区| 四虎国产永久在线观看| 亚洲成人一区在线|