基于matlab gui界面的mcu串口实时绘图设计

基于matlab gui界面的mcu串口实时绘图设计

ID:18995648

大小:33.50 KB

页数:11页

时间:2018-09-27

基于matlab gui界面的mcu串口实时绘图设计_第1页
基于matlab gui界面的mcu串口实时绘图设计_第2页
基于matlab gui界面的mcu串口实时绘图设计_第3页
基于matlab gui界面的mcu串口实时绘图设计_第4页
基于matlab gui界面的mcu串口实时绘图设计_第5页
资源描述:

《基于matlab gui界面的mcu串口实时绘图设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于MATLABGUI界面的MCU串口实时绘图设计摘要:介绍了基于matlab的gui界面与单片机的串口实时通信并绘图的实现方法。通信系统主要由pc机、rs232c电平转换器、51单片机以及通信程序构成,单片机通信程序用c语言设计,pc机通信程序则是用matlab的gui界面的事件和回调函数来实现。关键词:matlabgui51单片机串行通信绘图1引言在控制工程中,使用大量的数据采集系统,该类系统通常是微处理器(单片机)系统,其处理、分析数据的能力相对较低,一般是将这些数据传送到pc机,由相应的应用软件系统进行处理、分析

2、和形成图表、打印,因此,两类系统必须要实现通信。matlab以其强大的科学计算与可视化功能、简单易用、开放式可扩展环境,特别是诸多的面向不同应用领域的工具箱支持,使其在信号处理、自动控制等许多领域获得广泛的应用,成为计算机辅助设计和分析、算法研究和应用开发的基本工具和首选平台[1,2][参考文献[1]吴晓燕,张双选.matlab在自动控制中的应用[m].西安:西安电子科技大学出版社,2006.9.[2]李国勇,谢克明,杨丽娟.计算机仿真技术与cad:基于matlab的控制系统[m].北京:电子工业出版社(第2版),200

3、8.[3]应亮.matlab的图形用户界面的应用[j].电脑知识与技术,2005,(11):75-76.[4]张道明,郝继飞.基于matlab的mcu串行通信[j].网络与通信,2004,(5):1-3.[5]兰红莉,罗文广.基于matlab的pc机与单片机串行通信实现[j].计算机应用与软件,2006,23(6):74-76.]。gui为图形化界面,应用简单,不需要对matlab理解就可以应用[3][[6]汪文,陈林.单片机原理与应用[m].武汉:华中科技大学出版社,2008.75-101.]。本文讨论应用matlab

4、的gui界面实现pc机与51单片机串行通信并实时绘制51单片机发送数据的图形,对于实时观察控制系统的运行状态和调节pid系数有着重要的应用。2总体设计原理pc机配置的rs232标准串行接口com和单片机的串口连接,使用三线制(收、发、地)实现数据传递,用max232作为单片机与pc机间的电平转化芯片。串行通信总体设计原理图如图1所示。图1总体设计原理图3matlab的gui串行通信设计guide是一个专用于gui程序设计的向导设计器。而gui是由各种图形对象,如图形窗口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交

5、互的有效工具和方法,通过guide可以很方便地设计出各种符合要求的图形用户界面。用户可以根据界面提示完成整个工程,却不必去了解工程内部是如何工作的。gui设计既可以基本的matlab程序设计为主,也可以鼠标为主利用guide工具进行设计,也可综合以上两种方法进行设计。3.1gui界面的整体布局设计通过matlab的gui界面设计程序界面和功能,程序包括程序运行起始时间、实时时间显示、目标值(goalvalue)、实时数据显示、com口选择、波特率选择、打开串口(openserial)、停止绘图(stop)、继续绘图(go

6、on)、关闭绘图窗口并删除串口设备(clear)、保存数据(save)、关闭串口(offserial)、关闭绘图串口并关闭matlab(quit)。如图2所示。图2设计的gui界面3.2matlab对串口的控制matlab对串口的控制操作过程如下[4,5][[7]张义和.例说51单片机(c语言版.第3版)[m].北京:人民邮电出版社,2010.208-237.]:①首先要创建串行口设备对象,这里用到的主要函数是serial();s=serial(‘com1’);%创建com1为串口对象并用s标识。②定义串口设备对象的通信

7、属性,主要有波特率、异步串行帧格式(包括起始位、数据位、校验位、停止位等)和输出输入缓冲的大小等;③用函数fopen()实现设备对象与硬件设备的软连接(相对于硬件设备的连接),这样就可以进行数据的读写操作;fopen(s)%打开s标识的串口;④进行matlab串行读写操作,主要用到的函数有fwrite()、fread()等;⑤关闭和删除设备对象,用到的是fclose()、delete()和clear()等函数。3.3各个控件的回调函数⑴openserial控件的回调函数functionopen_serial_callba

8、ck(hobject,eventdata,handles)globals;%定义全局变量s,用于标识串口globaldatas;%定义全局变量datas,用于存储串口发送来的数据globalout;%定义全局变量out,用于标识是否关闭串口,out=1不关闭串口,out=0关闭串口globalrate;%定义全局变量

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。