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

2021-04-02 21:08:12 字數 1482 閱讀 9522

1樓:富士康王課長

tps61040或041是否能做。ti的。

2樓:網路無此

51微控制器有2個定時器,t1 ,t0,要想使用它,就要了解定時器的結構,了解tcon,tmod特殊暫存器。依據你的要求,選擇合適的方式(0~3),是採用查詢方式還是採用中斷方式。

3樓:匿名使用者

曬出你的程式,我幫你看看吧

4樓:焊板子的兔子

把你的題和沒通的程式放上來

這是我們51微控制器的課程設計,題目是用定時器延時,功能說明我寫在補充裡面,大神們幫幫我吧,跪求~~

5樓:匿名使用者

昏.....流水燈啊,只是速度比較快的流水燈而已啊.

p1.0先設為0x01或者0xfe,然後在60ms的定時中斷裡對p1進行移位就可以了,移到p1.7之後的下一次再重新設一次p1.0就行了.

51微控制器的定時器怎麼做延時 彙編

6樓:無畏無知者

1)你的主程式必須在1秒內完成乙個過程,然後等待下一秒的到來;2)主程式放在乙個迴圈內,並回設定答乙個標記,以判斷是否觸發執行主程式,還是繼續空迴圈;

3)這個標記就由延時中斷例程來賦值;

其實,如果你的主程式能夠在1秒內完成,由沒有其他任務的話,完全可以放在中斷例程裡執行的;

7樓:黑影小生

貌似想到的方法和複雜,就是每個語句前都用cjne r1,#00h,$ // 執行語句 // ,mov r1,#00h

然後在定時器內使r1置1或其他值,這樣做很麻煩,不知你要這樣幹什麼???

8樓:匿名使用者

定時器中斷裡1s時,作個標誌,主程式裡判斷這標誌。

給你乙個流水燈內

的例子參考。

org 容00h

ajmp main

org 0bh

ajmp t0int

org 30h

main:

mov tmod,#01h

mov th0,#3ch

mov tl0,#0b0h

mov r0,#20

setb ea

setb et0

setb tr0

main0:

mov a,#01h

main1:

mov p1,a

jnb f0,main1

clr f0

rl a

inc a

ajmp main1

t0int:

mov tmod,#01

mov th0,#3ch

mov tl0,#0b0h

djnz r0,rti

mov r0,#20

setb f0

rti:

retiend

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

只是延時的話,復 都可製以的。不過微控制器的定時器等資源通常比較緊張,在延時精度要求不高的程式中採用延時函式的比較多,也可以呼叫 一些需要不斷重複但時間關係不是很嚴格的的子程式來延時,例如掃瞄鍵盤,重新整理顯示等 恩到了stm32延時就一般不用軟體延時了,有系統嘀嗒時鐘 看設計要求。定時器資源有限,...

解釋一下51微控制器定時器延時的查詢法和中斷法各是什麼

查詢法,程式設計,迴圈檢測 tf 1,去執行指定程式。中斷法,硬體,自動檢測 tf 1,去執行指定程式。用中斷法,效率高,且延時的時間精確。就好copy像你在燒一壺開水,查詢法bai就是你不停的去檢視水開du 了沒zhi有,中斷法就是dao等水開了,水壺就會鳴笛,這時你去關火倒水。其中水壺鳴笛就是觸...

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 ...