0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用定時(shí)器制作萬(wàn)年歷?

冬至子 ? 來(lái)源:工科男的Matlab學(xué)習(xí)日志 ? 作者:淺藍(lán)格子白襯衫 ? 2023-07-17 15:33 ? 次閱讀

說(shuō)明

使用 timer 對(duì)象以排定執(zhí)行一次或多次 MATLAB? 命令。如果您排定計(jì)時(shí)器多次執(zhí)行命令,可以定義每次執(zhí)行之間的時(shí)間間隔以及如何處理排隊(duì)沖突。

timer 對(duì)象使用回調(diào)函數(shù)執(zhí)行命令?;卣{(diào)函數(shù)在某些事件中執(zhí)行代碼。對(duì)于 timer 對(duì)象,您可以將回調(diào)函數(shù)指定為函數(shù)句柄或字符串。如果回調(diào)函數(shù)是字符串,MATLAB 將以可執(zhí)行代碼形式對(duì)其求值。當(dāng)計(jì)時(shí)器啟動(dòng) (StartFcn)、執(zhí)行 (TimerFcn)、停止 (StopFcn) 或遇到錯(cuò)誤 (ErrorFcn) 時(shí),計(jì)時(shí)器對(duì)象支持回調(diào)函數(shù)。

附注: timer 對(duì)象受到您的硬件、操作系統(tǒng)和軟件的限制。應(yīng)避免對(duì)實(shí)時(shí)應(yīng)用程序使用計(jì)時(shí)器對(duì)象。

構(gòu)造

t= timer 創(chuàng)建一個(gè)空的 timer 對(duì)象,以排定 MATLAB 命令的執(zhí)行。如果啟動(dòng)了計(jì)時(shí)器,但未定義 TimerFcn,則會(huì)出現(xiàn)錯(cuò)誤。

t= timer(Name,Value) 使用由一個(gè)或多個(gè) Name,Value 對(duì)組參數(shù)指定的其他選項(xiàng)創(chuàng)建 timer 對(duì)象。

MATLAB中使用定時(shí)器(timer)基本格式為

t = timer('PropertyName1', PropertyValue1, 'PropertyName2', PropertyValue2,...);

start(t);

最簡(jiǎn)單的定時(shí)器一般指定以下屬性:

TimerFcn ——指定定時(shí)器被觸發(fā)時(shí)要執(zhí)行的函數(shù)或語(yǔ)句

Period ——指定定時(shí)器的觸發(fā)時(shí)間,單位為秒

ExecutionMode ——指定定時(shí)器的觸發(fā)方式(觸發(fā)一次,還是循環(huán)觸發(fā)……),該屬性有四個(gè)可選值,具體見(jiàn)matlab幫助

TasksToExecute ——指定定時(shí)器最多被觸發(fā)的次數(shù),該屬性默認(rèn)為inf,如果希望不停的循環(huán)執(zhí)行,可以不指定該屬性

tag ——一個(gè)字符串,可以任意指定,一般用于標(biāo)志某個(gè)特定的定時(shí)器,以方便在程序中別的地方查找該定時(shí)器

與定時(shí)器相關(guān)的其他操作

delete(timer) %刪除

disp(timer) %顯示

get(timer) %獲取屬性

isvalid(timer) %檢查有效性

set(timer) %設(shè)置屬性

start %開(kāi)始

startat %開(kāi)始(可以指定開(kāi)始時(shí)的某些參數(shù))

stop %停止

timerfind %查找某個(gè)定時(shí)器

timerfindall %也是查找

wait %等待直到定時(shí)器被停止

例如寫(xiě)一個(gè)計(jì)數(shù)器,每過(guò)一秒計(jì)數(shù)加1

x=0

t = timer('TimerFcn','disp(x);x=x+1;', 'Period', 1, 'ExecutionMode', 'fixedSpacing');

start(t);

運(yùn)行結(jié)果如下,如果不想繼續(xù)可以在命令窗口輸入delete(h)

圖片

利用定時(shí)器我們就可以制作數(shù)字時(shí)鐘

首先創(chuàng)建fig

圖片

在fig的open回調(diào)函數(shù)里寫(xiě)計(jì)時(shí)器函數(shù)并創(chuàng)建時(shí)間顯示函數(shù)。

function varargout = szsz(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton',  gui_Singleton, ...

               'gui_OpeningFcn', @szsz_OpeningFcn, ...

               'gui_OutputFcn',  @szsz_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

function szsz_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

global h

h=timer('TimerFcn',{@disptime,handles},'ExecutionMode','fixedRate','Period',1);

%定時(shí)器,定時(shí)會(huì)觸發(fā) TimerFcn 函數(shù),定時(shí)函數(shù)(TimerFcn)觸發(fā)用戶(hù)自定義的函數(shù)(disptime函數(shù))

start(h); %開(kāi)啟定時(shí)器

guidata(hObject, handles);

function disptime( , , handles)%顯示系統(tǒng)時(shí)間函數(shù)

shijian=datestr(now,'yyyy-mm-dd HH:MM:SS');

%生成前日期字符串

set(handles.text2,'string',shijian(1:4));

%%顯示年

set(handles.text8,'string',shijian(6:7));

%%顯示月

set(handles.text10,'string',shijian(9:10));

%%顯示日

set(handles.text12,'string',shijian(12:end));

%%顯示時(shí)分秒

function varargout = szsz_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function figure1_CreateFcn(hObject, eventdata, handles)

function figure1_DeleteFcn(hObject, eventdata, handles)

global h

delete(h)%%刪除顯示日期的定時(shí)器

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3219

    瀏覽量

    113788
  • 計(jì)時(shí)器
    +關(guān)注

    關(guān)注

    1

    文章

    414

    瀏覽量

    32505
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    1990

    瀏覽量

    60913
  • MATLAB仿真
    +關(guān)注

    關(guān)注

    4

    文章

    175

    瀏覽量

    19847
  • 數(shù)字時(shí)鐘
    +關(guān)注

    關(guān)注

    2

    文章

    149

    瀏覽量

    20262
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)萬(wàn)年歷制作詳細(xì)資料

    `單片機(jī)萬(wàn)年歷制作詳細(xì)資料包括仿真測(cè)試、源程序、效果圖等,可以實(shí)際進(jìn)行設(shè)計(jì)。單片機(jī)萬(wàn)年歷制作詳細(xì)資料[hide][/hide]`
    發(fā)表于 11-30 11:52

    萬(wàn)年歷制作附程序

    `萬(wàn)年歷制作附程序和電路圖,共享啦`
    發(fā)表于 07-30 16:02

    電子萬(wàn)年歷設(shè)計(jì)與制作資料

    電子萬(wàn)年歷設(shè)計(jì)與制作資料
    發(fā)表于 08-20 11:18

    萬(wàn)年歷制作求助

    題 目:萬(wàn)年歷電路設(shè)計(jì)內(nèi)容要求:(包括規(guī)定閱讀的文獻(xiàn)、應(yīng)完成的程序、圖紙、實(shí)驗(yàn)、說(shuō)明書(shū)等)一、任務(wù)設(shè)計(jì)并制作一個(gè)萬(wàn)年歷,其組成框圖如圖所示。它是以單片機(jī)為主控制,時(shí)間數(shù)據(jù)是通過(guò)AT8
    發(fā)表于 10-14 00:12

    萬(wàn)年歷

    跪求設(shè)計(jì)一種多功能萬(wàn)年歷,該萬(wàn)年歷可以顯示時(shí)間、實(shí)時(shí)顯示溫度和濕度,同時(shí)還具有農(nóng)歷提示功能,顯示中國(guó)傳統(tǒng)節(jié)日相關(guān)信息,具有整點(diǎn)報(bào)時(shí)功能,每當(dāng)整點(diǎn)到來(lái)蜂鳴器會(huì)發(fā)出一聲?shū)Q叫。主要技術(shù)指標(biāo):溫濕度測(cè)量范圍
    發(fā)表于 03-05 14:20

    使用定時(shí)器萬(wàn)年歷~~~

    自己剛好做課題設(shè)計(jì)。順便寫(xiě)了個(gè)使用定時(shí)器0作為計(jì)時(shí)的萬(wàn)年歷~功能如下: 1.時(shí)間可調(diào) 2.農(nóng)歷轉(zhuǎn)換 3.溫度顯示,溫度上限報(bào)警,溫度上限報(bào)警值可調(diào) 4.加入簡(jiǎn)單漢字
    發(fā)表于 05-09 17:53

    萬(wàn)年歷

    萬(wàn)年歷萬(wàn)年歷萬(wàn)年歷萬(wàn)年歷
    發(fā)表于 03-20 21:08

    萬(wàn)年歷 仿真

    游戲 萬(wàn)年歷
    發(fā)表于 07-08 11:19

    如何在51單片機(jī)實(shí)現(xiàn)電子萬(wàn)年歷 精選資料分享

    51單片機(jī)制作萬(wàn)年歷的基本功能部分,軟件特性可以在proteus上仿真,使用51單片機(jī)定時(shí)器T0做萬(wàn)年歷計(jì)時(shí)信號(hào)源,電子萬(wàn)年歷計(jì)時(shí)系統(tǒng)在ti
    發(fā)表于 07-19 07:44

    如何去使用51單片機(jī)定時(shí)器T0做電子萬(wàn)年歷?

    如何去使用51單片機(jī)定時(shí)器T0做電子萬(wàn)年歷?其代碼是什么?如何對(duì)電子萬(wàn)年歷軟件特性進(jìn)行proteus仿真?
    發(fā)表于 07-19 06:05

    萬(wàn)年歷

    電子萬(wàn)年歷,可以運(yùn)行的哦,單片機(jī)相關(guān)知識(shí)。
    發(fā)表于 05-17 11:09 ?16次下載

    萬(wàn)年歷

    基于C51單片機(jī)的萬(wàn)年歷
    發(fā)表于 12-17 20:48 ?117次下載

    ds1302萬(wàn)年歷protues仿真 51單片機(jī)萬(wàn)年歷仿真 實(shí)時(shí)

    ds1302萬(wàn)年歷protues仿真 51單片機(jī)萬(wàn)年歷仿真 實(shí)時(shí)時(shí)鐘仿真程序
    發(fā)表于 01-14 22:32 ?122次下載

    萬(wàn)年歷protues仿真 實(shí)時(shí)時(shí)鐘仿真 12864萬(wàn)年歷仿真 5

    萬(wàn)年歷protues仿真 實(shí)時(shí)時(shí)鐘仿真 12864萬(wàn)年歷仿真 51萬(wàn)年歷設(shè)計(jì)
    發(fā)表于 01-14 22:32 ?173次下載

    基于AT89C2051單片機(jī)制作的電子萬(wàn)年歷的原理及設(shè)計(jì)

    很多用AT89C205l制作電子萬(wàn)年歷的文章,介紹的都是采用單片機(jī)內(nèi)部定時(shí)計(jì)數(shù)器定時(shí)計(jì)時(shí),難免受到停電的影響而需要經(jīng)常調(diào)整,為此,筆者設(shè)計(jì)制作
    的頭像 發(fā)表于 09-21 10:12 ?1.3w次閱讀
    基于AT89C2051單片機(jī)<b class='flag-5'>制作</b>的電子<b class='flag-5'>萬(wàn)年歷</b>的原理及設(shè)計(jì)