延時子程式定時和定時器定時的區別

2021-03-19 18:19:57 字數 2294 閱讀 3340

1樓:匿名使用者

延時可以用這兩種方法來實現

1.用延時子程式

就是讓微控制器反覆值行一段程式,以實現延時的目的。這段子程式可以是一些跟其它程式沒任何關係的運算,只要數好指令條數以及迴圈次數就能跟據指令週期算出時間。

請問定時和延時的區別?

2樓:踏著冬雪來

定時是設定了時間。到了設定時間自動接通或關閉裝置。而延時是電路接通後到經過一定時間斷開或到了一定時間接通。延時一般用在電機啟動電路如星角啟動電路。

3樓:佚真

這個跟我一專業,定時是設定具體時間,瞬時啟動,延時是啟動時自動延長啟動時間

51微控制器軟體延時和定時器的區別

4樓:mrs鹿大大

區別就是用微控制器軟體定時,cpu迴圈執行一小段延時程式,浪費cpu的精力,用定時器定時,cpu就可以幹別的。

如果是程式延時的話,時間消耗在(延時程式+剩下的**);計時器中斷則相當於把延時程式交給定時器,此時cpu可以幹別的事情,提高了效率。就類似於電腦打遊戲時把圖形處理任務交給顯示卡,cpu的壓力就小。

微控制器進中斷後執行中斷裡的程式,比如你進定時中斷,執行完後退出中斷後做其他事,但定時還在計數,這樣計數和做其他事情兩不誤。

你的程式中本來就沒做其他事情,你的led移動就是等待中斷計數到10才操作的,led動作的先決條件就是中斷計數結束。

擴充套件資料

1、軟體迴圈延時:採用迴圈語句,如for,while等,進行長時間的空操作,或者空語句。

優點:程式理解簡易,入手快,新手必備**。

缺點:時間精度不高,且佔用微控制器大量時間資源,引發其它子函式的不流暢(卡滯、遲鈍),導致系統實時反應能力下降。

2、定時延時:採用定時器定時,如t0,t1;

優點:時間精度高,提高系統程式執行的高效性,不影響子函式的正常執行。

缺點:需佔用1個定時器資源(可以複用),需良好程式構架支援,入手難。

個人建議:一旦學會定時器,就不應該再使用「迴圈延時」函式,採用定時器才是正道。如果對延時精度要求不高,建議使用結構體組成多個延時體。

5樓:匿名使用者

微控制器進中斷後執行中斷裡的程式,比如你進定時中斷,執行完後退出中斷後做其他事,但定時還在計數,這樣計數和做其他事情兩不誤。

你的程式中本來就沒做其他事情,你的led移動就是等待中斷計數到10才操作的,led動作的先決條件就是中斷計數結束

6樓:做而論道

用軟體定時,cpu 迴圈執行一小段延時程式。

浪費 cpu 的精力。

用定時器定時,cpu 就可以幹別的。

7樓:寂寞小鳥

如果是程式延時的話,時間消耗在(延時程式+剩下的**);計時器中斷則相當於把延時程式交給定時器,此時cpu可以幹別的事情,提高了效率。就類似於電腦打遊戲時把圖形處理任務交給顯示卡,cpu的壓力就小了。

8樓:匿名使用者

進入中斷後執行i++後就出來了。然後在主函式while(1)中執行。此時while(1)執行很多次,然後再進入中斷,直到進10次才左移。

如果用延時,燈閃一次while(1)才允許一次。你程式少沒感覺,如何你該一下沒用8s控制一個燈閃,10s控制寧一個燈閃.延時就不太好做。

微控制器定時與延時的區別 5

9樓:牽著你的手

定時,是指在做一件事情過程中,後臺有個計時器,預定時間到後觸發另一項工作。

延時,是指在做一件事情過程中,保持一種工作狀態的時間。

利用迴圈處理的方式實現的延時,並不精確。

1、當中斷髮生時,cpu被打斷先執行中斷服務。導致執行時間變長。

2、使用高階語言時,編譯的結果受優化等級等多方面因素干擾,難以計算。

3、在有mmu和cache的mcu中,指令的執行速度還會受到快取的影響。

利用定時器延時:

1、因為定時器累加與cpu無關,即使中斷,仍然會保持計數。不受上述問題影響

2、缺點需要佔用定時器資源。

3、功耗也會高一些。

10樓:

定時用的硬體定時器控制,延時,用的是延時子程式,就是軟體程式設計

11樓:紫嘯清風

定時會進入中斷,中斷有中斷子程式,定時的使用必須設定ie暫存器,trx=1即可定時,進入子程式後定時必須重灌計數值,而延時,可認為就是一段空指令來浪費時間,延時也可把你的程式放到中斷定時子程式中達到延時效果!

如何幾個定時器同時開,如何幾個定時器同時開 setinterval

問題 當一個頁面同時有兩個setinterval函式呼叫的衝突如何解決?解決方法 定義兩個變數 並把 setinterval 賦值給變數 var a setinterval function 1000 var b setinterval function 1000 清除clearinterval a...

OMRON PLC定時器怎麼寫入程式,本人是菜鳥,哪位高手能講具體點嗎。謝謝

按鍵 i 在彈窗裡輸入 tim 1 10 確定後再輸入相應的註釋。數字1是定時器的序號,同一程式裡不可重複。後的數字代表時間長度,單位為十分之一秒 1 接通延時型定時器 接通延時型定時器是各種plc中最常見最基本的定時器,這種定時器在 siemens的plc中,稱為sd型定時器 2 斷開延時型定時器...

oracle定時器錯誤,exec dbms job run jobno 執行沒有問題

declare jobno number begin dbms job.submit jobno,定時器 抄id,系統自動獲得 prc insert what執行的過程名 sysdate,next date,定時器開始執行的時間,這樣寫表示立即執行 sysdate 15 1440 interval,...