基于MATLAB图形用户界面设计部分程序代码:
function varargout = daq(varargin)
% DAQ M-file for daq.fig
if nargin == 0 % LAUNCH GUI
fig = openfig('daq.fig','reuse');%打开fig图形文件
% 创建一个句柄结构,传递给callback,并存放该句柄结构
handles = guihandles(fig);
guidata(fig, handles);
if nargout > 0
varargout{1} = fig;
end
elseif ischar(varargin{1}) % 激活下面的callback例程
try
if (nargout)
[varargout{1:nargout}] = feval(varargin{:}); % 所有的callback函数最终都由feval调用
else
feval(varargin{:});
end
catch
disp(lasterr);
end
end
%======================================================
% --- 输入函数
function daq_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to daq (see VARARGIN)
% Choose default command line output for daq
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes daq wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- 输出函数
function varargout = daq_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
%=====================================================
% --- 开始
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.pushbutton1,'Enable','off'); %程序正在运行,屏蔽“启动”键
%采样速率设置:
answer=get(handles.edit1,'String');
if isempty(answer)
msgbox('请设置采样频率','信息提示','warn','non-modal');
set(handles.pushbutton1,'Enable','on');
else
da=get(handles.edit2,'String'); %取数据保存文件名
if isempty(da)
msgbox('请设置保存路径:','信息提示','warn','non-modal');
end
%采样及显示:
[x, y] = DataSample;
n=[x,y];
plot(x, y);
%数据保存:
eval(da)
end
end
%显示电压幅值:
w=[x,y];
minY=min(y);
maxY=max(y);
v=(-minY+maxY);
set(handles.edit3,'string',num2str(v));
%控件设置:
set(handles.pushbutton2,'Enable','on');
set(handles.edit2,'Enable','off'); %程序正在运行,屏蔽“保存文件名”输入
set(handles.edit1,'Enable','off'); %屏蔽采样速率编辑框
set(handles.text7,'String','波形显示窗口');
set(handles.pushbutton1,'Enable','on'); %采样停止,“启动”键使能
set(handles.edit2,'Enable','on'); %采样停止,“保存文件名”输入使能
set(handles.axes1,'Color','green');
%======================================================
% --- 停止
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.pushbutton2,'Enable','off');
set(handles.pushbutton1,'Enable','on');
set(handles.edit2,'Enable','on'); %程序停止运行,“保存文件名”可输入
set(handles.edit1,'Enable','off'); %屏蔽采样速率编辑框
%stop(hObject);
pause
因篇幅问题不能全部显示,请点此查看更多更全内容