微控制器延時為什麼要用延時函式而不用定時器做延時

2021-03-03 21:22:49 字數 1264 閱讀 6817

1樓:

只是延時的話,復

都可製以的。

不過微控制器的定時器等資源通常比較緊張,在延時精度要求不高的程式中採用延時函式的比較多,也可以呼叫 一些需要不斷重複但時間關係不是很嚴格的的子程式來延時,例如掃瞄鍵盤,重新整理顯示等

2樓:匿名使用者

恩到了stm32延時就一般不用軟體延時了,有系統嘀嗒時鐘

3樓:匿名使用者

看設計要求。定時器資源有限,在不要求精確延時的情況下用軟體程式大致進行延時!!

4樓:匿名使用者

stm32的延時基本上用定時器實現。51微控制器也可以定時器實現延時,不過比較麻煩,也沒有什麼優勢。

5樓:匿名使用者

51微控制器的定時效果不好,特別不好,這個我算是領教過了,還是用dleay函式吧,畢竟可以算出指令週期

微控制器中用寫delay函式做延時和用定時器做延時有什麼區別?

6樓:匿名使用者

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

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

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

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

利用定時器延時:

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

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

3、功耗也會高一些

7樓:

定時器的做法是在你的程式裡還有其他事要做的情況下去設定的。也就是說設定了定時器後就可以去做其他事情了,delay就是不做事光用消耗的,消耗一定的時間後再去做其他事

微控制器中用寫delay函式做延時和用定時器做延時有什麼區別?

8樓:匿名使用者

利用迴圈處理抄的方式實現的延襲

時,並不精確。

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

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

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

利用定時器延時:

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

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

3、功耗也會高一些

為什麼這個微控制器延時子程式用了PUSH和POP

請你參考 高手們喜歡這樣寫,看懂了就沒有那麼可怕了,其實就是一種儲存資料的方法。下面逐句分析,先說明一下吧 push與pop必須成對出現,否則就亂了 另外誰跟誰是一對也得弄清。delay mov r2,30h 以下3行不解釋了 acall delay0 retdelay0 push 02h 把02h...

微控制器用for迴圈編延時程式時uint i,j for

這是一個for的巢狀語句,你注意到沒有,因為兩個語句之間沒有分號,所以編譯器預設第二個for語句是第一個for語句的內部語句,怎麼理解呢?就是說你第一個for中的 i 減1一次,那第二個for中的語句將會執行110次,那麼這個110從 來呢?其實是根據你所用微控制器的晶振頻率來計算的,在這個程式當中...

51微控制器想用定時器做延時。但我失敗了。各位老師幫幫我。這是我看看那裡出錯

tps61040或041是否能做。ti的。51微控制器有2個定時器,t1 t0,要想使用它,就要了解定時器的結構,了解tcon,tmod特殊暫存器。依據你的要求,選擇合適的方式 0 3 是採用查詢方式還是採用中斷方式。曬出你的程式,我幫你看看吧 把你的題和沒通的程式放上來 這是我們51微控制器的課程...