1樓:做而論道
查詢法,程式設計,迴圈檢測 tf==1,去執行指定程式。
中斷法,硬體,自動檢測 tf==1,去執行指定程式。
用中斷法,效率高,且延時的時間精確。
2樓:煙雨如思
就好copy像你在燒一壺開水,查詢法bai就是你不停的去檢視水開du
了沒zhi有,中斷法就是dao等水開了,水壺就會鳴笛,這時你去關火倒水。其中水壺鳴笛就是觸發中斷的,而你去關火倒水算是乙個中斷服務。很明顯,相比查詢的方法中斷可以極大提高程式的效率,你不必一直不停的檢視水開了沒有而專注於其他的事情,只需到水響之後去關火倒水即可。
51微控制器軟體延時和定時器的區別
3樓:mrs鹿大大
區別就是用微控制器軟體定時,cpu迴圈執行一小段延時程式,浪費cpu的精力,用定時器定時,cpu就可以幹別的。
如果是程式延時的話,時間消耗在(延時程式+剩下的**);計時器中斷則相當於把延時程式交給定時器,此時cpu可以幹別的事情,提高了效率。就類似於電腦打遊戲時把圖形處理任務交給顯示卡,cpu的壓力就小。
微控制器進中斷後執行中斷裡的程式,比如你進定時中斷,執行完後退出中斷後做其他事,但定時還在計數,這樣計數和做其他事情兩不誤。
你的程式中本來就沒做其他事情,你的led移動就是等待中斷計數到10才操作的,led動作的先決條件就是中斷計數結束。
擴充套件資料
1、軟體迴圈延時:採用迴圈語句,如for,while等,進行長時間的空操作,或者空語句。
優點:程式理解簡易,入手快,新手必備**。
缺點:時間精度不高,且占用微控制器大量時間資源,引發其它子函式的不流暢(卡滯、遲鈍),導致系統實時反應能力下降。
2、定時延時:採用定時器定時,如t0,t1;
優點:時間精度高,提高系統程式執行的高效性,不影響子函式的正常執行。
缺點:需占用1個定時器資源(可以復用),需良好程式構架支援,入手難。
個人建議:一旦學會定時器,就不應該再使用「迴圈延時」函式,採用定時器才是正道。如果對延時精度要求不高,建議使用結構體組成多個延時體。
4樓:匿名使用者
微控制器進中斷後執行中斷裡的程式,比如你進定時中斷,執行完後退出中斷後做其他事,但定時還在計數,這樣計數和做其他事情兩不誤。
你的程式中本來就沒做其他事情,你的led移動就是等待中斷計數到10才操作的,led動作的先決條件就是中斷計數結束
5樓:做而論道
用軟體定時,cpu 迴圈執行一小段延時程式。
浪費 cpu 的精力。
用定時器定時,cpu 就可以幹別的。
6樓:寂寞小鳥
如果是程式延時的話,時間消耗在(延時程式+剩下的**);計時器中斷則相當於把延時程式交給定時器,此時cpu可以幹別的事情,提高了效率。就類似於電腦打遊戲時把圖形處理任務交給顯示卡,cpu的壓力就小了。
7樓:匿名使用者
進入中斷後執行i++後就出來了。然後在主函式while(1)中執行。此時while(1)執行很多次,然後再進入中斷,直到進10次才左移。
如果用延時,燈閃一次while(1)才允許一次。你程式少沒感覺,如何你該一下沒用8s控制乙個燈閃,10s控制寧乙個燈閃.延時就不太好做。
51微控制器想用定時器做延時。但我失敗了。各位老師幫幫我。這是我看看那裡出錯
tps61040或041是否能做。ti的。51微控制器有2個定時器,t1 t0,要想使用它,就要了解定時器的結構,了解tcon,tmod特殊暫存器。依據你的要求,選擇合適的方式 0 3 是採用查詢方式還是採用中斷方式。曬出你的程式,我幫你看看吧 把你的題和沒通的程式放上來 這是我們51微控制器的課程...
微控制器延時為什麼要用延時函式而不用定時器做延時
只是延時的話,復 都可製以的。不過微控制器的定時器等資源通常比較緊張,在延時精度要求不高的程式中採用延時函式的比較多,也可以呼叫 一些需要不斷重複但時間關係不是很嚴格的的子程式來延時,例如掃瞄鍵盤,重新整理顯示等 恩到了stm32延時就一般不用軟體延時了,有系統嘀嗒時鐘 看設計要求。定時器資源有限,...
51微控制器中設定定時器模式時,TMOD 0x01和TMOD 0x01有什麼區別
有區別,tmod中有8bit tmod 0x01 這樣第2 8bit原來是什麼還是什麼,不影響,第1bit賦值為1 tmod 0x01 這樣是給2 8bit賦值為0,第1bit賦值為1。區別是tmod中有8bit tmod 0x01 這樣第2 8bit原來是什麼還是什麼,不影響,第1bit賦值為1 ...