基于LabVIEW的單片機圖形調(diào)試平臺的設(shè)計與應用_第1頁
基于LabVIEW的單片機圖形調(diào)試平臺的設(shè)計與應用_第2頁
基于LabVIEW的單片機圖形調(diào)試平臺的設(shè)計與應用_第3頁
基于LabVIEW的單片機圖形調(diào)試平臺的設(shè)計與應用_第4頁
基于LabVIEW的單片機圖形調(diào)試平臺的設(shè)計與應用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

要:根據(jù)學校多年組織大學生參加“全國大學生機器人大賽”的經(jīng)驗,利用LabVIEW軟件搭建了一個單片機圖形調(diào)試平臺,該平臺修改方便、應用靈活,可以使更多沒有參賽經(jīng)歷的學生更好地提高動手能力。關(guān)鍵詞:LabVIEW;單片機;課程改革;串口

0

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

1

LabVIEW的串口通信LabVIEW是美國國家儀器(NI)公司研發(fā)的一款實用工具軟件,其基于圖形化的編輯語言和簡單實用的組件使用方式,可以幫助我們快速構(gòu)建各種應用所需的工具,提高開發(fā)效率。單片機與計算機的連接有多種方式,如USB、CAN、JTAG等,但串口通信仍是目前最簡單、最實用的連接方式。在LabVIEW軟件中,若要使用串口,需先安裝VISA驅(qū)動。

2

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

3

下位機程序設(shè)計3.1

字符發(fā)送單片機在串口設(shè)置完成后,可以直接使用printf()函數(shù)將變量以字符形式輸出到串口,此時串口為查詢狀態(tài),即字符發(fā)送時單片機一直處于查詢是否發(fā)送完成的狀態(tài),無法執(zhí)行其他指令,效率太低。為提高效率,建立了一個數(shù)組作為發(fā)送數(shù)據(jù)的緩沖區(qū),利用sprintf()函數(shù)將待發(fā)送的數(shù)據(jù)按特定格式以字符的形式存儲到緩沖區(qū),當打開串口中斷時可以逐個傳輸,還可以通過vsprintf()函數(shù)實現(xiàn)自定義printf()函數(shù)。3.2

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

上位機程序設(shè)計3.3.1

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

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

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

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

串口接收LabVIEW的串口通信節(jié)點的工作方式為:查詢串口的接收緩沖區(qū),如果緩沖區(qū)中有數(shù)據(jù)就讀取數(shù)據(jù)進行處理,若緩沖區(qū)內(nèi)沒有數(shù)據(jù)則在此等待,直到數(shù)據(jù)到來或超時退出。因此,在使用時需要根據(jù)實際數(shù)據(jù)情況設(shè)置數(shù)據(jù)讀取時間間隔和超時時間,才能使系統(tǒng)穩(wěn)定運行。在發(fā)送端數(shù)據(jù)發(fā)送速率基本穩(wěn)定時,為提高效率,可以將數(shù)據(jù)讀取間隔時間設(shè)為下位機發(fā)送一組完整數(shù)據(jù)包的時間。否則,會造成緩沖區(qū)溢出或等待時間過長導致程序出錯。因數(shù)據(jù)以字符形式傳送,可以通過字符串操作的函數(shù)對數(shù)據(jù)進行處理。在尋找數(shù)據(jù)頭時,可采用“搜索/拆分字符串(函數(shù))”(圖5)的方式,將特征字符送入搜索字符串處,即可得到以此開頭的特定字符串,將“匹配+剩余字符串”作為輸出結(jié)果送入字符串轉(zhuǎn)數(shù)值模塊,配合適當?shù)钠屏窟M行處理,即可得到相應的數(shù)值和剩余的字符串。若需要對實際進行計算還可以通過加入函數(shù)環(huán)節(jié)實現(xiàn)。分數(shù)/指數(shù)字符串至數(shù)值轉(zhuǎn)換如圖6所示。為了能把接收到的數(shù)據(jù)以圖形的方式顯示出來,采用波形圖表作為數(shù)據(jù)顯示控件。若需要顯示多組數(shù)據(jù),可使用“捆綁(函數(shù))”將各組獨立數(shù)據(jù)組合為簇,共同顯示于波型圖表上。系統(tǒng)的完整程序框圖如圖7所示。

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

4

結(jié)語本文結(jié)合我校參加“全國大學生機器人大賽”的實踐經(jīng)驗,應用LabVIEW軟件搭建了一個單片機圖形調(diào)試平臺,其構(gòu)建簡單,修改方便,應用靈活,雖然LabVIEW的串口通信工

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論