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

?

基于LabVIEW的單片機(jī)圖形調(diào)試平臺(tái)的設(shè)計(jì)與應(yīng)用

2020-10-21 22:05:15白玉邱敏于光華
機(jī)電信息 2020年8期
關(guān)鍵詞:串口課程改革單片機(jī)

白玉 邱敏 于光華

摘要:根據(jù)學(xué)校多年組織大學(xué)生參加“全國(guó)大學(xué)生機(jī)器人大賽”的經(jīng)驗(yàn),利用LabVIEW軟件搭建了一個(gè)單片機(jī)圖形調(diào)試平臺(tái),該平臺(tái)修改方便、應(yīng)用靈活,可以使更多沒有參賽經(jīng)歷的學(xué)生能夠更好地提高動(dòng)手能力。

關(guān)鍵詞:LabVIEW;單片機(jī);課程改革;串口

0 引言

我校多年來組織大學(xué)生參加了“全國(guó)大學(xué)生機(jī)器人大賽”,絕大部分經(jīng)過大賽歷練的隊(duì)員都能成為工程實(shí)踐能力強(qiáng)、創(chuàng)新能力強(qiáng)、團(tuán)隊(duì)協(xié)作能力強(qiáng)、具有國(guó)際競(jìng)爭(zhēng)力的高素質(zhì)復(fù)合型人才。在設(shè)計(jì)開發(fā)機(jī)器人過程中,單片機(jī)在機(jī)器人控制部分占據(jù)了主導(dǎo)地位,我們通過長(zhǎng)期的實(shí)踐探索發(fā)現(xiàn),在設(shè)計(jì)和調(diào)試單片機(jī)控制系統(tǒng)時(shí),圖像化顯示各中間環(huán)節(jié)調(diào)試的數(shù)據(jù)將給系統(tǒng)開發(fā)帶來極大的好處。本文以STC系列單片機(jī)為例,其通過串口與計(jì)算機(jī)相連,設(shè)計(jì)了一款基于LabVIEW軟件的圖形化數(shù)據(jù)顯示工具。

1 LabVIEW的串口通信

LabVIEW是美國(guó)國(guó)家儀器(NI)公司研發(fā)的一款實(shí)用工具軟件,其基于圖形化的編輯語(yǔ)言和簡(jiǎn)單實(shí)用的組件使用方式,可以幫助我們快速構(gòu)建各種應(yīng)用所需的工具,提高開發(fā)效率。

單片機(jī)與計(jì)算機(jī)的連接有多種方式,如USB、CAN、JTAG等,但串口通信仍是目前最簡(jiǎn)單、最實(shí)用的連接方式。在LabVIEW軟件中,若要使用串口,需先安裝VISA驅(qū)動(dòng)。

2 通信協(xié)議設(shè)計(jì)

16進(jìn)制字符傳遞信息多,效率較高,但單片機(jī)在處理16進(jìn)制字符串的收發(fā)時(shí)相對(duì)較復(fù)雜。字符數(shù)據(jù)通信時(shí),所有信息以特定字符開頭的字符串表示,雖然效率有所降低,但可以直接使用標(biāo)準(zhǔn)格式輸入輸出函數(shù)sprintf()、sscanf()等,使用方便,開發(fā)效率高。本設(shè)計(jì)中采用的通信協(xié)議為:起始符$+命令標(biāo)示符1+參數(shù)1+……,命令標(biāo)示符2+參數(shù)2+……+*+校驗(yàn)碼。

3 下位機(jī)程序設(shè)計(jì)

3.1? ? 字符發(fā)送

單片機(jī)在串口設(shè)置完成后,可以直接使用printf()函數(shù)將變量以字符形式輸出到串口,此時(shí)串口為查詢狀態(tài),即字符發(fā)送時(shí)單片機(jī)一直處于查詢是否發(fā)送完成的狀態(tài),無法執(zhí)行其他指令,效率太低。

為提高效率,建立了一個(gè)數(shù)組作為發(fā)送數(shù)據(jù)的緩沖區(qū),利用sprintf()函數(shù)將待發(fā)送的數(shù)據(jù)按特定格式以字符的形式存儲(chǔ)到緩沖區(qū),當(dāng)打開串口中斷時(shí)可以逐個(gè)傳輸,還可以通過vsprintf()函數(shù)實(shí)現(xiàn)自定義printf()函數(shù)。

3.2? ? 字符接收

串口處在中斷狀態(tài),將收到的每個(gè)字符存入接收緩沖區(qū)。當(dāng)接收到一個(gè)完整的數(shù)據(jù)包時(shí)設(shè)置相應(yīng)標(biāo)志,在主函數(shù)中對(duì)數(shù)據(jù)包進(jìn)行處理。

3.3? ? 上位機(jī)程序設(shè)計(jì)

3.3.1? ? 串口設(shè)置

LabVIEW軟件的串口設(shè)置由VISA Configure Serial Port VI(圖1)實(shí)現(xiàn),通過該節(jié)點(diǎn)可以設(shè)置串口的基本信息,包括波特率、串口號(hào)、數(shù)據(jù)位、校驗(yàn)位、停止位等。

通過VISA讀取節(jié)點(diǎn)可以實(shí)現(xiàn)串口接收,如圖2所示。

通過VISA寫入節(jié)點(diǎn)可以實(shí)現(xiàn)串口的發(fā)送功能,如圖3所示。

3.3.2? ? 串口發(fā)送

串口發(fā)送部分的程序框圖如圖4所示,當(dāng)按下確定按鈕時(shí)即會(huì)把字符串中的信息發(fā)送入串口。信息發(fā)送只需在字符串模塊中輸入需要發(fā)送的字符信息即可。

3.3.3? ? 串口接收

LabVIEW的串口通信節(jié)點(diǎn)的工作方式為:查詢串口的接收緩沖區(qū),如果緩沖區(qū)中有數(shù)據(jù)就讀取數(shù)據(jù)進(jìn)行處理,若緩沖區(qū)內(nèi)沒有數(shù)據(jù)則在此等待,直到數(shù)據(jù)到來或超時(shí)退出。因此,在使用時(shí)需要根據(jù)實(shí)際數(shù)據(jù)情況設(shè)置數(shù)據(jù)讀取時(shí)間間隔和超時(shí)時(shí)間,才能使系統(tǒng)穩(wěn)定運(yùn)行。

在發(fā)送端數(shù)據(jù)發(fā)送速率基本穩(wěn)定時(shí),為提高效率,可以將數(shù)據(jù)讀取間隔時(shí)間設(shè)為下位機(jī)發(fā)送一組完整數(shù)據(jù)包的時(shí)間。否則,會(huì)造成緩沖區(qū)溢出或等待時(shí)間過長(zhǎng)導(dǎo)致程序出錯(cuò)。

因數(shù)據(jù)以字符形式傳送,可以通過字符串操作的函數(shù)對(duì)數(shù)據(jù)進(jìn)行處理。在尋找數(shù)據(jù)頭時(shí),可采用“搜索/拆分字符串(函數(shù))”(圖5)的方式,將特征字符送入搜索字符串處,即可得到以此開頭的特定字符串,將“匹配+剩余字符串”作為輸出結(jié)果送入字符串轉(zhuǎn)數(shù)值模塊,配合適當(dāng)?shù)钠屏窟M(jìn)行處理,即可得到相應(yīng)的數(shù)值和剩余的字符串。若需要對(duì)實(shí)際數(shù)據(jù)進(jìn)行計(jì)算還可以通過加入函數(shù)計(jì)算環(huán)節(jié)來實(shí)現(xiàn)。分?jǐn)?shù)/指數(shù)字符串至數(shù)值轉(zhuǎn)換如圖6所示。

為了能把接收到的數(shù)據(jù)以圖形的方式顯示出來,采用波形圖表作為數(shù)據(jù)顯示控件。若需要顯示多組數(shù)據(jù),可使用“捆綁(函數(shù))”將各組獨(dú)立數(shù)據(jù)組合為簇,共同顯示于波型圖表上。系統(tǒng)的完整程序框圖如圖7所示。

系統(tǒng)界面如圖8所示。

至此構(gòu)建了一個(gè)單片機(jī)與計(jì)算機(jī)間的通用調(diào)試平臺(tái),通過此平臺(tái),可以向單片機(jī)發(fā)送串口指令、修改運(yùn)行參數(shù)。同時(shí),還可將單片機(jī)的運(yùn)行狀態(tài)、變量信息以圖表和儀表的方式實(shí)時(shí)顯示出來。

4 結(jié)語(yǔ)

本文結(jié)合我校學(xué)生參加“全國(guó)大學(xué)生機(jī)器人大賽”的實(shí)踐經(jīng)驗(yàn),應(yīng)用LabVIEW軟件搭建了一個(gè)單片機(jī)圖形調(diào)試平臺(tái),其構(gòu)建簡(jiǎn)單,修改方便,應(yīng)用靈活,雖然LabVIEW的串口通信工作效率不是很高,但對(duì)于大部分單片機(jī)系統(tǒng)來說已經(jīng)足夠。與利用C#等軟件開發(fā)上位機(jī)相比,此平臺(tái)開發(fā)門檻更低,開發(fā)速度更快,使更多沒有參賽經(jīng)歷的學(xué)生能夠更好地提高動(dòng)手能力,起到推進(jìn)單片機(jī)課程體系改革的作用。

[參考文獻(xiàn)]

[1] 呂向鋒,高洪林,馬亮,等.基于LabVIEW串口通信的研究[J].國(guó)外電子測(cè)量技術(shù),2009(12):27-30.

[2] 胡發(fā)煥,劉祚時(shí),朱花.以機(jī)器人大賽為契機(jī)探索大學(xué)生創(chuàng)新能力培養(yǎng)模式[J].中國(guó)電力教育,2013(28):53-54.

[3] 張素萍,李朝強(qiáng),高照陽(yáng).基于RS485和LabVIEW的電參數(shù)測(cè)量?jī)x數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2015(6):24-27.

收稿日期:2020-03-06

作者簡(jiǎn)介:白玉(1979-),男,山東梁山人,副教授,研究方向:數(shù)字信號(hào)處理。

猜你喜歡
串口課程改革單片機(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
“雙創(chuàng)”形勢(shì)下高職財(cái)務(wù)管理課程改革探索
項(xiàng)目教學(xué)法在微電影制作教學(xué)中的應(yīng)用
基于創(chuàng)意的對(duì)口單招色彩課程改革突破點(diǎn)研究
成才之路(2016年25期)2016-10-08 09:50:05
校企協(xié)同實(shí)施高職專業(yè)課程改革的實(shí)踐研究
科技視界(2016年20期)2016-09-29 12:54:06
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無線通信
平罗县| 通海县| 阿合奇县| 五华县| 酉阳| 且末县| 南和县| 罗田县| 颍上县| 新干县| 迭部县| 尚志市| 元谋县| 河东区| 青岛市| 卢龙县| 营口市| 舞阳县| 游戏| 霍林郭勒市| 玉林市| 天峨县| 涪陵区| 恩平市| 民权县| 苏尼特右旗| 北辰区| 苍溪县| 东丰县| 廊坊市| 仪陇县| 定兴县| 奉新县| 富平县| 蓬莱市| 阳新县| 同德县| 临江市| 突泉县| 新巴尔虎左旗| 芜湖市|