- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLABGUI界面的MCU串口实时绘图设计.pdf
基于MATLABGUI界面的MCU串口实时绘图设计
李华志 尹俊峰 王亚飞
中国地质大学(武汉)自动化专业073082班 湖北 武汉 430074
MATLAB GUI
摘要:介绍了基于 的 界面与单片机的串口实时通信并绘图的实现方法。通信系统主要由PC机、
PC
RS232C电平转换器、51单片机以及通信程序构成,单片机通信程序用C语言设计, 机通信程序则是用
MATLAB GUI
的 界面的事件和回调函数来实现。
关键词:MATLAB GUI 51单片机 串行通信 绘图
1
1
11 引言
在控制工程中, 使用大量的数据采集系统, 该类系统通常是微处理器(单片机)系统,其
处理、分析数据的能力相对较低, 一般是将这些数据传送到PC机, 由相应的应用软件系统
进行处理、分析和形成图表、打印, 因此, 两类系统必须要实现通信。MATLAB以其强大
的科学计算与可视化功能、简单易用、开放式可扩展环境, 特别是诸多的面向不同应用领域
的工具箱支持, 使其在信号处理、自动控制等许多领域获得广泛的应用, 成为计算机辅助设
[1,2]
计和分析、算法研究和应用开发的基本工具和首选平台 。GUI为图形化界面,应用简单,
[3]
不需要对MATLAB理解就可以应用 。本文讨论应用MATLAB的GUI界面实现PC机与51单
片机串行通信并实时绘制51单片机发送数据的图形,对于实时观察控制系统的运行状态和调
节PID系数有着重要的应用。
2
2
22 总体设计原理
PC 机配置的RS232标准串行接口COM和单片机的串口连接,使用三线制( 收、发、地)
实现数据传递, 用MAX232作为单片机与PC机间的电平转化芯片。串行通信总体设计原理图
如图1所示。
PC 机 51 单片
RS232 MAX232 机
TxD RxD
RxD TxD
图1 总体设计原理图
3 MATLAB GUI
3 MATLAB GUI
33 MMAATTLLAABB 的GGUUII 串行通信设计
GUIDE 是一个专用于GUI程序设计的向导设计器。而GUI 是由各种图形对象,如图形窗
口、图轴、菜单、按钮、文本框等构建的用户界面,是人机交互的有效工具和方法, 通过GUIDE
可以很方便地设计出各种符合要求的图形用户界面。用户可以根据界面提示完成整个工程,
却不必去了解工程内部是如何工作的。GUI 设计既可以基本的MATLAB 程序设计为主,也
可以鼠标为主利用GUIDE工具进行设计,也可综合以上两种方法进行设计。
3.1GUI
3.1GUI
33..11GGUUII 界面的整体布局设计
通过MATLAB 的GUI 界面设计程序界面和功能,程序包括程序运行起始时间、实时时
间显示、目标值(GoalValue)、实时数据显示、COM 口选择、波特率选择、打开串口(Open
Serial)、停止绘图(Stop)、继续绘图(GoOn)、关闭绘图窗口并删除串口设备(Clear)、
保存数据(Save)、关闭串口(Off Serial)、关闭绘图串口并关闭MATLAB(Quit)。如
1
图2所示。
图2 设计的GUI界面
3.2MATLAB
3.2MATLAB
33..22MMAATTLLAABB 对串口的控制
[4,5]
MATLAB对串口的控制操作过程如下 :
①首先要创建串行口设备对象,这里用到的主要函数是serial();
s=serial(‘COM1’);%创建COM1为串口对象并用s标识。
②定义串口设备对象的通信属性,主要有波特率、异步串行帧格式(包括起始位、数据位、
校验位、停止位等)和输出输入缓冲的大小等;
③用函数fope
文档评论(0)