基于matlab的串口通信,基于Matlab GUI的单片机串口与PC的通信 附源码

本文介绍了一种使用MATLAB GUI与51单片机(STC89C52RC)进行串口通信的方法,以实现时钟显示和修改功能。通过keil编写程序并烧录到单片机,MATLAB GUI界面用于实时显示和控制时钟。文章详细讲解了GUI界面的创建,包括START、ADJUST、EXIT和GET等按钮的回调函数实现,以及如何通过串口与单片机交互。此外,还提供了源代码供参考。
摘要由CSDN通过智能技术生成

我也是最近学习单片机和MATLAB的小白平时在看学习的时候 下载了一些有价值的参考文献

概述采用51单片机,atmel的STC89C52RC芯片,主要用到的是七段数码管用来做一个时钟,程序编写软件为keil,烧录软件为STC-ISP 4.88,串口调试软件用的是sscom42。

运用Matlab的GUI工具编辑一个可视化界面,用以跟单片机进行串口通信

实现功能运用keil编写时钟程序,烧录到单片机中,时钟程序实现的功能是实现时钟的显示,并且能用开发板上的三个按钮进行时钟的修改,一个按钮进入修改模式,另两个实现时间的增减。

编辑GUI界面,实现对单片机的控制,其中,GUI界面通过串口能不断的采样开发板上时钟的数值,并在GUI界面上进行显示。同样的,可以通过GUI界面实现对开发板上时钟的修改。

具体实现开发板部分:

4bdd7322032256a5e069661c0f878c3e.png

B)  Matlab GUI界面的编辑

效果图如下,操作说明:START点击开始,采集单片机时钟时间,ADJUST点击进入修改模式,同时单片机开发板亦会进入修改模式,EXIT点击关串口,退出界面,GET点击获取当前值,另外一些辅助按钮,滑块按钮都有各自功能,易于理解。

db3d3761ec7a8566bf63e114310ebe35.png

其中:添加控件,具体略

START添加callback:

global s

s=serial('COM10');

fopen(s);

handles.timer = timer('TimerFcn',{@mycallback,handles},    'Period',0.01,'ExecutionMode','FixedRate');

start(handles.timer);

ADJUST添加callback:

a=get(handles.text8,'String');

set(handles.text28,'String',a);

a=get(handles.text10,'String');

set(handles.text27,'String',a);

a=get(handles.text13,'String');

set(handles.text25,'String',a);

a=get(handles.text14,'String');

set(handles.text24,'String',a);

a=get(handles.text15,'String');

set(handles.text22,'String',a);

a=get(handles.text16,'String');

set(handles.text21,'String',a);

global s

fwrite(s,0);EXIT添加callback:

global s

fclose(s);

close;GET添加callback:

global s

a=fread(s,6);

set(handles.text8,'String',a(6));

set(handles.text10,'String',a(5));

set(handles.text13,'String',a(4));

set(handles.text14,'String',a(3));

set(handles.text15,'String',a(2));

set(handles.text16,'String',a(1));调整时钟 调整分钟 调整秒钟 都添加callback:

global s

a=str2num(get(handles.edit1,'String'));

fwrite(s,a);SLIDER1添加callback:

a=get(handles.slider1,'value');

set(handles.edit1,'String',a);

C)操作说明

1. 开发板上的按钮修改时钟显示

ec3be03e6f69ea3afd895c5aeba1f718.png

2. 开发板上时钟显示

dfde0ad2e99c7e30aa0bbaf8fbe57ad6.png

c9f6bdc421d733c0c5553c797bd37b87.png

3. START前的开发板以及GUI界面,此时GUI界面的时钟无显示

dfd383ef92647b35c90feb464c9d8fc0.png

4. START点击后GUI有了显示,与开发板显示一致

45907d211fc5ecc8638a884ddbe90334.png

5. ADJUST点击后进入修改模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值