教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

PC与51单片机串口通信(3)

来源:网络收集 时间:2026-04-28
导读: gui_mainfcn(gui_State, varargin{:}); end % --- Executes just before chuankoutongxingmatlab is made visible. function chuankoutongxingmatlab_OpeningFcn(hObject, eventdata, handles, varargin) handles.o

gui_mainfcn(gui_State, varargin{:}); end

% --- Executes just before chuankoutongxingmatlab is made visible.

function chuankoutongxingmatlab_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject; global data; global port; try

%设置串口 handles.s=serial('COM7','BaudRate',4800,'Parity','none',...

'DataBits',8,'StopBits',1);%建立串口对象

port=handles.s;

set(handles.s,'OutputBufferSize',512);%设置输出缓冲区大小 set(handles.s,'InputBufferSize',1024);%设置输入缓冲区大小

set(handles.s,'BytesAvailableFcnMode','byte');%设置BytesAvailableFcnMode属性 set(handles.s,'BytesAvailableFcnCount',1);

set(handles.s,'BytesAvailableFcn',{@mycallback,handles});

%定义Bytes-Available事件回调函数

fopen(handles.s); catch

%进行出错处理 errmsg = lasterr;

errordlg(['不能打开串口: COM7',char(10),...

PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!

'请检查串口连接或串口已打开'],'串口打开错误');

rethrow(lasterror); end

guidata(hObject, handles);

% --- Outputs from this function are returned to the command line. function varargout = chuankoutongxingmatlab_OutputFcn...

(hObject, eventdata, handles)

varargout{1} = handles.output;

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles) delete(handles.figure1);%关闭对话框

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles) global port; global data;

data=get(handles.edit2,'string'); fprintf(port,data);

function edit2_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),...

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

function edit1_Callback(hObject, eventdata, handles)

PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!

% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),...

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

function mycallback(obj,event,handles)%接收事件回调函数 global rcv; global str;

if handles.s.BytesAvailable>0

rcv=fread(handles.s, handles.s.BytesAvailable,'uint8');%数据读取 str=sprintf('%3X',rcv);%以大写十六进制ASCII码显示,每个占三位 set(handles.edit1,'String',str); end

% --- Executes during object deletion, before destroying properties. function figure1_DeleteFcn(hObject, eventdata, handles) fclose(handles.s);%关闭串口连接 delete(handles.s);%删除串口对象 clear all;%清除所有

PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!

三、小结

PC与单片机间的串口通信的科研训练,要求实验时能实现简单的通信工作,对于从未具体操作过相关实物的我来说收获很大。

首先,对51系列单片机的通用部分及具体不同的产品差异有了一定了解。通过查阅具体单片机产品手册,可得知其中通用及差异部分,为实现目的可以有不同的方法,不同单片机也存在着自己独有的优势。

由于对MATLAB有了一点接触,感到其功能十分强大,对许多问题实现和解决较为便捷。短短几天的了解,为我进一步学习打下了基础。同时,也进一步熟悉Keil uVision4的部分功能。

本次训练中收获许多对实际问题解决方法,发现程序编译没有问题到能真正实现所要功能还有很长一段路。期间,需要不断调试,一点一点找出错误。而且,需要对不同情况进行测试,直到没有问题位置。所以这次的对具体问题的训练,让我获益匪浅,会让我以后的学习简单很多。接下来我会继续学习相关知识,为毕业设计做好准备。

最后,感谢杨老师在此次科研训练中给予我的巨大帮助!

…… 此处隐藏:1052字,全部文档内容请下载后查看。喜欢就下载吧 ……
PC与51单片机串口通信(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/269551.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)