基于Matlab GUI的資料采集與存儲實驗平台開發
作者:張帆
來源:《沿海企業與科技》2011年第01期
[摘要]文章應用Matlab語言,程式設計實作了資料采集與存儲實驗平台,該平台通過PC機串行口,獲得下位機的實驗資料,并以.mat資料格式進行存儲。下位機以AT89S51為核心,通過MAX232實作與PC機的串行通訊。該實驗平台基于Matlab序列槽控制API函數,運作穩定、可靠,資料存儲精度高,可充分發揮Matlab在實驗教學中的優勢,改善教學效果。
[關鍵詞]資料采集;串行通訊;Matlab;AT89S51
[作者簡介]張帆,唐山學院機電工程系,碩士,研究方向:計算機測控技術,河北唐山,063000
[中圖分類号] TP311 [文獻辨別碼] A [文章編号] 1007-7723(2011)01-0024-0003
一、引言
Matlab是一種基于矩陣運算的互動式數值計算軟體,作為“第四代”計算機語言,具有極高的程式設計效率,在高等教育領域正發揮着日益重要的作用[1]。Matlab下的GUIDE[2]是内嵌在Matlab環境中面向對象的圖形使用者界面開發工具,通過GUIDE使用者可以友善地設計程式界面,在GUIDE自動生成的應用程式架構内,使用者可以友善地編寫事件代碼,進行GUI程式的開發。在測試技術實驗教學中,傳統的實驗資料采集程式往往是一個封閉的環境,幾乎不可能增加、修改現有程式的功能。此外,采集程式得到的實驗資料以文本檔案的格式存儲,無形中減低了資料精度。本文采用Matlab語言,實作實驗資料的采集與存儲,不僅可以友善地增加、修改程式的功能,而且由于采用.mat 檔案格式存儲實驗資料,保證了資料精度,同時也節省了存儲空間,提高了資料傳遞的效率。
二、實驗平台的組成
本文采用8051系列單片機實作實際的資料采集,通過RS-232C序列槽向上位機發送采集到的實驗資料,通過Matlab GUI程式實作資料的接收、顯示和儲存。一套這樣的單片機系統價格不過百餘元,還可以作為單片機課程教學的實驗裝置,降低了總體實驗成本,有利于不同課程之間的銜接。作為上位機程式的Matlab GUI,可以根據不同的下位機采集子產品,實作不同實驗的資料采集。學生在MATLAB環境下,利用獲得的實驗資料,可以友善地進行信号分析和實驗資料的處理。