《数学软件》课程设计论文用matlab做一个小闹钟文档格式.docx
《《数学软件》课程设计论文用matlab做一个小闹钟文档格式.docx》由会员分享,可在线阅读,更多相关《《数学软件》课程设计论文用matlab做一个小闹钟文档格式.docx(6页珍藏版)》请在冰豆网上搜索。
功能介绍:
此小软件能调整时间,以钟表方式显示时间,设置闹钟能打开或者关闭闹钟,并且记录历史调节过的前5个闹钟,提供方便再使用曾经用过的闹钟。
界面布局:
见下图 创建过程:
1. 加入如图的各种控件;
安排好位置,点击’AlignObjects’按钮对控件对 齐。
2. 改变各控件相关的属性值:
的‘string’都改为’0’,并将其 将坐标文本框下面的三个可编辑文本 1 《数学软件》课程设计 ‘tag’属性分别改为’hour’、’min’、’sec’。
以便在添加代码时能更快找到对应函数。
坐标文本框旁边的三个可编辑文本 的‘string’ 都改为’‘,并将其‘tag’属性分别改为’hour_naozhong’、’min_naozhong’、’sec_naozhong’。
将 这四个静态文本框的’String’改为’:
’。
将坐标文本框右上 角的静态文本框的‘string’改为’●’。
将坐标文本框左下角的静态文本框文本框 的‘string’改为’修正时间:
将历史闹钟显示的2个静态 的‘string’分别改为’历史闹钟:
’、’时-分-秒’。
将数字 的‘string’分别改为’1.’、’2.’、’3.’、’4.’、’5.’。
的‘string’都改为’‘。
并将其‘tag’ 标号的5个静态文本框 将历史闹钟的5个静态文本框 属性分别改为’naozhong1’、’naozhong2’、’naozhong3’、’naozhong4’、’naozhong5’,以便在添加代码时能更快找到对应函数。
将坐标文本框右上角的静态文本框关闭闹钟。
将坐标文本框下面3个按钮 的‘string’都改为’▲’,并将其‘tag’ 的‘string’改为’‘。
用以提示是否开启或者 属性分别改为’hour_up’、’min_up’、’sec_up’,以便在添加代码时能更快找到对应函数。
将坐标文本框下面3个按钮 的‘string’都改 为’▼’,并将其‘tag’属性分别改为’hour_down’、’min_down’、’sec_down’,以便在添加代码时能更快找到对应函数。
将按钮 的‘string’都改 为’确认修改’,并将其‘tag’属性分别改为’queren_time’,以便在添加代码时能更快找到对应函数。
将坐标文本框右边2个按钮 的‘string’分别改为’打开’、’关闭’,并将其‘tag’属性分别改为’ 2 《数学软件》课程设计 open_naozhong’、’off_naozhong’,以便在添加代码时能更快找到对应函数。
将历史闹钟下面的5个按钮 的‘string’都改为’设此为 新闹钟’,并将其‘tag’属性分别改为’xinnaozhong1’、’xinnaozhong2’、’xinnaozhong3’、’xinnaozhong4’、’xinnaozhong5’,以便在添加代码时能更快找到对应函数。
将静态文本框的’backgroundcolor’改为灰色。
完成以上过程后,保存GUI为’时钟与闹钟.fig’。
3.编写回调函数代码:
黄色显示部分为自己添加的代码,紫色为函数的名称。
以下是主调函数的编辑:
functionnaozhong_OpeningFcn(hObject,eventdata,handles,varargin)%Thisfunctionhasnooutputargs,seeOutputFcn.%hObject handletofigure %eventdatareserved-tobedefinedinafutureversionofMATLAB%handles structurewithhandlesanduserdata(seeGUIDATA)%varargincommandlineargumentstonaozhong(seeVARARGIN) %Choosedefaultcommandlineoutputfornaozhong=hObject;
=cell(1,5);
%记录历史闹钟的排序%Updatehandlesstructureguidata(hObject,handles);
以下是3个调节时间增加的按钮的编码:
小时:
functionhour_up_Callback(hObject,eventdata,handles)%hObject handletohour_up(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB%handles structurewithhandlesanduserdata(seeGUIDATA) a=str2num(get(,’string’));
%小时按键控制,若上调大于等于24,侧变回凌晨a=a+1;
3 《数学软件》课程设计 ifa>
=24 a=0;
end set(,’string’,a)guidata(hObject,handles);
分钟:
functionmin_up_Callback(hObject,eventdata,handles)%hObject handletomin_up(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB%handles structurewithhandlesanduserdata(seeGUIDATA)M=str2num(get(,’string’));
H=str2num(get(,’string’));
M=M+1;
ifM>
=60 %分钟按键控制,若上调大于等于60,侧变回0,并且小时进1 M=0;
H=H+1;
ifH>
=24 %小时进1时,若大于等于24,则小时变回0 H=0;
end set(,’string’,H)end set(,’string’,M)guidata(hObject,handles);
秒钟:
functionsec_up_Callback(hObject,eventdata,handles)%hObject handletosec_up(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB%handles structurewithhandlesanduserdata(seeGUIDATA)S=str2num(get(,’string’));
M=str2num(get(,’string’));
H=str2num(get(,’string’));
S=S+1;
ifS>
=60 %秒的按键控制,若大于等于60,则分钟进1,秒变回0 S=0;
=60 %分钟进1时,若分钟大于等于60,则小时进1,分钟变回0 M=0;
H=H+1;
end set(,’string’,H) end set(,’string’,M)end 4
《数学软件》课程设计 set(,’string’,S)guidata(hObject,handles);
functionhour_down_Callback(hObject,eventdata,handles)%hObject handletohour_down(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB%handles structurewithhandlesanduserdata(seeGUIDATA) H=str2num(get(,’string’));
%小时按键控制,若上调小于0,侧变回23H=H-1;
ifH set(,’string’,H)guidata(hObject,handles);
functionmin_dowm_Callback(hObject,eventdata,handles)%hObject handletomin_dowm(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB%handles structurewithhandlesanduserdata(seeGUIDATA)M=str2num(get(,’string’));
M=M-1;
ifM ifH set(,’string’,H)end set(,’string’,M)guidata(hObject,handles);
%---Executesonbuttonpressinsec_dowm. functionsec_dowm_Callback(hObject,eventdata,handles)%hObject handletosec_dowm(seeGCBO) %eventdatareserved-tobedefinedinafutureversionofMATLAB%handles structurewithhandlesanduserdata(seeGUIDATA)S=str2num(get(,’string’));
S=S-1;
5 《数学软件》课程设计 ifS ifM ifH>
=-1 %若小时减1时,小时小于0,则,小时变回23 H=23;
end set(,’string’,H) end set(,’string’,M)end