PC与51单片机串口通信(16)
时间:2025-07-13
时间:2025-07-13
PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!
例如:MATLAB数据发送窗口输入“6789 ABCD!”,LED数码管依次显示 0AH(LF控制符)、36H(6)、37H(7)、38H(8)、39H(9)、20H(空格)、41H(A)、42H(B)、43H(C)、44H(D)、21H(!),详见图(6)。当按下最左侧的三个键@、H、x时,数据接收窗口依次显示40H(@)、48H(H)、78H(x),详见图(7)。
图(6)a 图(6)b
图(6)c 图(6)d
PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!
图(7)a 图(7)b
图(7)c 图(7)d
PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!
(5)MATLAB相关程序
function varargout = chuankoutongxingmatlab(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', ...
@chuankoutongxingmatlab_OpeningFcn, ...
'gui_OutputFcn', ...
@chuankoutongxingmatlab_OutputFcn, ...
'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
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),...
上一篇:特岗教师三年以来个人工作总结
下一篇:山东丝绸纺织职业学院