基于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环境下,利用获得的实验数据,可以方便地进行信号分析和实验数据的处理。