国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Labview的計算機(jī)與單片機(jī)的通信設(shè)計與實現(xiàn)

2018-12-15 07:05:36劉璐袁戰(zhàn)軍郭靜
電子設(shè)計工程 2018年23期
關(guān)鍵詞:前面板框圖上位

劉璐,袁戰(zhàn)軍,郭靜

(陜西國際商貿(mào)學(xué)院信息與工程學(xué)院,陜西咸陽712046)

在現(xiàn)代工業(yè)不斷發(fā)展和進(jìn)步的過程中,控制系統(tǒng)也越來越復(fù)雜,數(shù)據(jù)的處理量也在不斷的提高,但是單片機(jī)的處理能力是有限的,從而無法滿足控制需求,所以分布式系統(tǒng)逐漸備受重視。在分布式系統(tǒng)數(shù)據(jù)收集過程中主要是通過下位機(jī)實現(xiàn),將收集數(shù)據(jù)實現(xiàn)進(jìn)一步分析及處理是通過上位機(jī)實現(xiàn)[1]。因為單片機(jī)的價格較低,并且具有較高的可靠性,所以被廣泛應(yīng)用到較為惡劣的工業(yè)環(huán)境中,分布式控制系統(tǒng)大部分都是使用單片機(jī)作為下位機(jī)。但是計算機(jī)的處理能力較強(qiáng),并且具有良好的人際交互優(yōu)勢,所以其被作為上位機(jī)使用[2]。單片機(jī)和計算機(jī)通信一般都是使用串口通信模式,其主要是利用數(shù)據(jù)信號線、控制線和地線等按位實現(xiàn)數(shù)據(jù)通信的方式。Labview屬于以數(shù)據(jù)流為基礎(chǔ)的圖形化編程環(huán)境,其被廣泛應(yīng)用到控制領(lǐng)域和檢測方面。因為程序?qū)儆趫D形化框圖的形式,在人機(jī)交互過程中具有一定的優(yōu)勢,并且其逐漸成為上位機(jī)的編程軟件[3]?;诖?,本文就實現(xiàn)了基于Labview的計算機(jī)和單片機(jī)通信設(shè)計。

1 系統(tǒng)硬件的設(shè)計

文中所設(shè)計的通信硬件主要包括4部分,圖1為計算機(jī)和單片機(jī)的線路設(shè)計結(jié)構(gòu),計算機(jī)屬于上位機(jī),其主要目的就是實現(xiàn)數(shù)據(jù)的發(fā)送、接受及人機(jī)交互。單片機(jī)作為下位機(jī),其主要目的就是實現(xiàn)串口數(shù)據(jù)接口和發(fā)送[4]。

圖1 計算機(jī)和單片機(jī)的線路設(shè)計結(jié)構(gòu)

首先,通過單片機(jī)、電阻、晶振和電容創(chuàng)建單片機(jī)最小的系統(tǒng),基于最小系統(tǒng),根據(jù)MXA232芯片實現(xiàn)DB9串行端口的引出。使單片機(jī)串口到計算機(jī)和TXD中發(fā)送,并且接收到RXD的連接,單片機(jī)串口接收到計算機(jī)和RXD串口的連接對TXD相連進(jìn)行發(fā)送,并且將兩者和單片機(jī)的I/O引腳相互連接[5]。圖2為串口通信顯示系統(tǒng)硬件的電路結(jié)構(gòu)。

圖2 串口通信顯示系統(tǒng)硬件的電路結(jié)構(gòu)

2 系統(tǒng)軟件的設(shè)計

2.1 通信協(xié)議

系統(tǒng)中的計算機(jī)屬于主控機(jī),其主要作用就是控制下位單片機(jī),實現(xiàn)下位機(jī)發(fā)送數(shù)據(jù)的存儲和處理,程序使用Labview進(jìn)行編寫。下位單片機(jī)的主要目的就是實現(xiàn)工業(yè)現(xiàn)場的監(jiān)控對象檢測及控制,程序使用匯編語言進(jìn)行編寫。為了能夠有效提高通信過程中的可靠性,通信雙方要簽訂相應(yīng)的通信協(xié)議,也就是雙方都需要遵守的約定。比如,數(shù)據(jù)傳輸格式、校驗格式及波特率等[6]。本文實現(xiàn)的通信協(xié)議主要為:使用RS-232異步通信,數(shù)據(jù)傳輸格式為11 bit。

2.2 單片機(jī)程序

圖3為單片機(jī)主函數(shù)的程序流程,圖4為單片機(jī)串口中斷函數(shù)的程序流程。其中的參數(shù)要和上位機(jī)參數(shù)設(shè)置相同,比如奇偶校驗、波特率等,通過對語句判斷,將標(biāo)識位去除,全面解析上位機(jī)發(fā)送的數(shù)據(jù),之后使數(shù)據(jù)能夠到串口緩沖區(qū)寄存器進(jìn)行寫入。為了能夠?qū)?shù)據(jù)通過液晶充分的展現(xiàn)出來,就要根據(jù)液晶驅(qū)動時序圖實現(xiàn)數(shù)據(jù)、寫指令等一系列時序的設(shè)置,然后實現(xiàn)串口通信及液晶顯示時序的匹配。因為液晶要具有一定的時間,而且串口通信數(shù)據(jù)收發(fā)比較快,無法接收某個字節(jié)并且將此字節(jié)顯示處理,所以就要將接收數(shù)據(jù)到另外數(shù)組中通過中斷方式充分展現(xiàn)[7]。

圖3 單片機(jī)主函數(shù)的程序流程

圖4 單片機(jī)串口中斷函數(shù)的程序流程

2.3 Labview部分的設(shè)計

Labview具有5個串行通信節(jié)點,其主要功能就是串口設(shè)置、串口讀、串口寫、串口緩存的檢測、中斷等多種功能,此節(jié)點都是在功能模板的I/O子模板中設(shè)置[8]。

串口通信節(jié)點使用過程比較簡單,并且容易理解,以下為其節(jié)點的定義、功能及使用方法。

1)初始化。圖5為初始化串口的設(shè)置,其主要功能就是實現(xiàn)數(shù)據(jù)位、波特率、奇偶校驗位、停止位等的設(shè)計,其在通過計算機(jī)對串口儀器設(shè)備進(jìn)行控制的過程中會使用,在使用串口通信之前,要實現(xiàn)串口的配置,從而實現(xiàn)正常通信[9]。

圖5 初始化串口的設(shè)置

2)串口寫。圖6為串口寫的設(shè)置,此節(jié)點將需要送到數(shù)據(jù)發(fā)送到串口輸出緩存中。

圖6 串口寫的設(shè)置

3)檢測串口緩存字節(jié)數(shù)。圖7為檢測串口緩存字節(jié)數(shù)的設(shè)置,在使用此節(jié)點檢測到目前串口輸入緩存中已經(jīng)具有的字節(jié)數(shù),之后制定serial port read節(jié)點,通過串口輸入緩存實現(xiàn)字節(jié)數(shù)的讀取,從而保證以此就能夠?qū)⒕彺鏀?shù)據(jù)全部讀取[10]。

圖7 檢測串口緩存字節(jié)數(shù)的設(shè)置

4)串口讀。圖8為串口讀的設(shè)置,通過串口緩存實現(xiàn)端端口制定長度數(shù)據(jù)的讀取。

圖8 串口讀的設(shè)置

5)串行通信設(shè)計。圖9為串行通信的設(shè)計。

圖9 串行通信的設(shè)計

3 Labview編程實現(xiàn)計算機(jī)和單片機(jī)的通信

在通過Labview開發(fā)環(huán)境創(chuàng)建程序的過程中,其主要包括程序板、程序調(diào)試和框圖程序的設(shè)計,前面板設(shè)計的主要目的就是實現(xiàn)良好人機(jī)交互界面的生成,用戶利用操作控件實現(xiàn)操作,并且實現(xiàn)輸入?yún)?shù)的設(shè)計,還能夠?qū)崿F(xiàn)輸入量指示器的設(shè)計,從而顯示數(shù)據(jù)??驁D程序設(shè)計的主要目的就是實現(xiàn)數(shù)據(jù)端口、節(jié)點及連線的程序設(shè)計[11]。圖10為計算機(jī)和單片機(jī)通信的結(jié)構(gòu)圖。

圖10 計算機(jī)和單片機(jī)通信的結(jié)構(gòu)圖

3.1 前面板設(shè)計

以本文設(shè)計要求,在DDS信號源掃頻模式前面板設(shè)計窗口中利用添加控件板數(shù)值實現(xiàn)控件輸入、開關(guān)、按鈕等一系列的操作,利用DDS實現(xiàn)起始掃描及頻率截止、掃描周期、掃描步進(jìn)等輸入數(shù)值,以此實現(xiàn)數(shù)據(jù)的控制。能夠?qū)Π粹o的形狀、位置、控制量精度、名稱進(jìn)行調(diào)整,通過控件選板實現(xiàn)I/O口資源名稱控件的添加,從而能夠?qū)崿F(xiàn)串口通信設(shè)備的安裝。并且根據(jù)不同的信號,實現(xiàn)跳頻、單頻工作模式前面板的設(shè)計,從而使操作更加便捷及簡單[12]。圖11為前面板的設(shè)計結(jié)構(gòu)。

3.2 框圖程序的設(shè)計

在實現(xiàn)框圖程序設(shè)計的過程中,要在框圖窗口面板中選擇滿足需求的節(jié)點圖表,之后在框圖中通過端子和其相互連接,這個時候要使用單片機(jī)為AD芯片控制寄存和幅度、頻率、駐留時間和步進(jìn)等一系列的寄存器實現(xiàn)控制字信息的發(fā)送,在通過Labview實現(xiàn)設(shè)計單片機(jī)和計算機(jī)通信的時候,要使前面板輸入DDS掃頻起始頻率、掃頻步進(jìn)、截止頻率、掃頻周期等十進(jìn)制數(shù)值通過相應(yīng)運(yùn)算轉(zhuǎn)換成為十六進(jìn)制數(shù)值,使用VISA寫入函數(shù)使緩沖區(qū)相應(yīng)的十六進(jìn)制數(shù)據(jù)到VISA資源名稱進(jìn)行接口及設(shè)備的寫入,最后對單片機(jī)進(jìn)行發(fā)送[12-13]。圖12為單片機(jī)和計算機(jī)框圖程序的設(shè)計。

圖12 單片機(jī)和計算機(jī)框圖程序的設(shè)計

4 主機(jī)通信軟件的實現(xiàn)

4.1 基本功能模塊

現(xiàn)代串口通信程序開發(fā)過程中,在計算機(jī)操作系統(tǒng)中一般使用VC、VB等高級語言進(jìn)行編寫,在使用其實現(xiàn)串口通信程序開發(fā)過程中,開發(fā)人員要面臨較為繁瑣的API函數(shù)編程,使用文本語言編寫串口通信較為復(fù)雜,并且花費時間比較長,所以在實現(xiàn)主機(jī)通信程序設(shè)計的過程中,都使用Labview圖形化語言進(jìn)行編程,其能夠?qū)⒏呒壵Z言函數(shù)封裝成為圖形功能模塊,圖標(biāo)之間的相互連線能夠?qū)崿F(xiàn)功能模塊的相互傳遞,其編程較為簡單,能夠直接使用[14]。

4.2 基本步驟

首先對VIS進(jìn)行調(diào)用,從而設(shè)置串口參數(shù),包括比特率、串口號及數(shù)據(jù)中的停止位、位數(shù)、數(shù)據(jù)流量控制及奇偶檢驗,假如初始化沒有問題就使用此串口實現(xiàn)數(shù)據(jù)收發(fā),在串口結(jié)束使用過程中,通過VIS結(jié)束和相應(yīng)串口進(jìn)行對話[15]。圖13為VISA調(diào)用的工作流程。

圖13 VISA調(diào)用的工作流程

5 系統(tǒng)運(yùn)行調(diào)式

根據(jù)軟件和硬件的設(shè)計實現(xiàn)以Labview為基礎(chǔ)的計算機(jī)和單片機(jī)串口通信的設(shè)計,通過上位機(jī)實現(xiàn)數(shù)據(jù)123的發(fā)送,單片機(jī)在接收到數(shù)據(jù)之后到上位機(jī)進(jìn)行返回,并且在液晶屏中實現(xiàn)數(shù)據(jù)的顯示,從而能夠?qū)崿F(xiàn)計算機(jī)和單片機(jī)的數(shù)據(jù)通信[16]。

6 結(jié)束語

Labview屬于虛擬儀器開發(fā)的工具,圖形化編程界面能夠使開發(fā)人員便于開發(fā)理想虛擬儀器程序,并且Labview還具有較為強(qiáng)大的網(wǎng)絡(luò)功能,通過Labview開發(fā)更加便捷。本文實現(xiàn)Labview實現(xiàn)了計算機(jī)和單片機(jī)的通信設(shè)計,通過最后調(diào)試表示,本文所設(shè)計的通信能夠?qū)崿F(xiàn)計算機(jī)數(shù)據(jù)的實時通信,并且提高通信的精準(zhǔn)度。

猜你喜歡
前面板框圖上位
顏值高和散熱強(qiáng)可以并存3款高品質(zhì)機(jī)箱推薦
電腦報(2021年21期)2021-08-19 17:22:40
捷豹I-PACE純電動汽車高壓蓄電池充電系統(tǒng)(三)
電競潮牌范 航嘉GX520S機(jī)箱評測
電腦報(2019年29期)2019-09-10 07:22:44
特斯拉 風(fēng)云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
電路圖2017年凱迪拉克XT5
算法框圖的補(bǔ)全
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
以新思路促推現(xiàn)代農(nóng)業(yè)上位
剛撓印制板在機(jī)載設(shè)備電子機(jī)箱中的結(jié)合與應(yīng)用
藁城市| 涞源县| 石城县| 滁州市| 天津市| 富蕴县| 潼关县| 河源市| 镇赉县| 喀喇| 华安县| 阳泉市| 湟中县| 寿光市| 德化县| 岱山县| 韶山市| 筠连县| 灵山县| 河源市| 东平县| 红原县| 稻城县| 荔波县| 神农架林区| 洛阳市| 井冈山市| 吴旗县| 三门峡市| 扶沟县| 建昌县| 保山市| 七台河市| 西吉县| 阳江市| 天峻县| 永丰县| 肇庆市| 古蔺县| 孝感市| 凌源市|