c51微控制器用了中斷再用定時器什麼意思??有了中斷幹嘛還要用定時器

時間 2021-08-30 10:29:12

1樓:

中斷和定時是兩個概念,中斷就是來了中斷觸發訊號 程式馬上跳到中斷中程式 執行完回到剛開始執行的地方繼續執行 是立即執行的 定時器就是定一段時間 時間到了就去執行裡面的內容 定時器分為2種方式 查詢 和中斷方式 查詢也就是找標誌位 tf0或者tf1 中斷方式就是立即執行 用在不同的地方

2樓:赫連巧山

首先設定定時器工作方式,給計數器賦初值,然後開總中斷,開定時/計數器中斷,啟動定時器,然後你該幹嘛幹嘛,沒嘛幹就死迴圈等待中斷。在中斷裡你想幹嘛幹嘛,但是不能有返回值。下面一c語言為例說明:

#include

void main()

}void time0() interrupt 1

3樓:

中斷一般用在不能確定輸入訊號什麼時候進來 比如急停訊號 這樣可以用中斷不斷檢測有沒有急停訊號

而定時器 一般都是用查詢模式的 可以當做時間繼電器來用的

4樓:心落先行

一般來說是先用定時器,定時一到轉入中斷服務程式。如果先中斷在用定時器我想一般應該是中斷的巢狀

51微控制器中的定時器中斷是怎麼用的 ?

5樓:娛樂小八卦啊

**如下:

//實現led燈一秒亮滅閃爍

void main()

tmod=0x01;//設定定時器0為工作方式1(m1 m0為01)

th0=(65536-45872)/256;//裝初值11.0582晶振定時50ms數為45872

tl0=(65536-45872)%256;

ea=1;//開總中斷

et0=1;//開定時器0中斷

tr0=1;//啟動定時器0

while(1);//程式停止在這裡等待中斷髮生

void t0_time() interrupt 1

tmod=0x01;//重灌初值

th0=(65536-45872)/256;

num++;//num每加一次判斷一次是否到20次

if(num==20)//如果到了20次,說明1秒時間到

num=0;//num清0重新計數

led=~led1;

擴充套件資料

定時器有兩種工作模式,分別為計數模式和定時模式。對px,y的輸入脈衝進行計數為計數模式。定時模式,則是對mcu的主時鐘經過12分頻後計數。

因為主時鐘是相對穩定的,所以可以通過計數值推算出計數所經過的時間。

51微控制器計數器的脈衝輸入腳。主要的脈衝輸入腳有px,y, 也指對應t0的p3.4和對應t1的p3.

5,主要用來檢測片外來的脈衝。而引腳18和19則對應著晶振的輸入脈衝,脈衝的頻率和週期為

f = f/12 = 11.0592m/12 = 0.9216mhz      t = 1/f = 1.085us

51計數器的計數值存放於特殊功能暫存器中。t0(tl0-0x8a, th0-0x8c), t1(tl1-0x8b, th1-0x8d)

定時器常用作定時時鐘,以實現定時檢測,定時響應、定時控制,並且可以產生ms寬的脈衝訊號,驅動步進電機。定時和計數的最終功能都是通過計數實現,若計數的事件源是週期固定的脈衝則可實現定時功能,否則只能實現計數功能。因此可以將定時和計數功能全由一個部件實現。

6樓:匿名使用者

所以中斷的使用:

1.開全域性中斷 51是 ea = 1

2.對應中斷使能 比如定時器1 et1 = 1、定時器0 et0 = 1

3.定時器工作方式配置: 有三種方式 雙8位定時 16位定時 還有捕捉方式 定時器2有4種 ,具體不介紹了 tmod 是定時器0和定時器1方式配置的暫存器 tmod = 0x01,定時器0工作在方式1(16位計數)

4.開啟定時器 tr0 = 1;定時器1開啟是 tr1 = 1;

5.中斷服務程式:就是定時時間到,你要處理的事務。

例子://50ms定時

void main(void)

void timer0_isr(void) intterupt 1 //中斷服務程式

51微控制器定時器中斷程式

m愛人 再次重新啟動。用c語言實現的,先要定義好定時器的初值,不管你使用多大的晶振,使用51微控制器,一般都是12分頻出來,也就可以得出一個機器週期,機器週期 12 n n指晶振頻率 假設你要定時的時間為m,那麼定時的初值為 m 機器週期 初值 th0 65536 初值 256 tl0 65536 ...

微控制器定時器中斷功能和定時器定時功能有什麼區別,什麼情況需要中斷,什麼時候不需要呢,講好必採納

小灰狼 定時器的定時,就像你設定的鬧鐘,中斷,就像你設定的鬧鐘到點自動發出聲音。如果只是定時,不產生中斷,就需要你編寫的主程式經常去檢視定時的時間到了沒,而且就算檢視到定時時間到了,你也不知道是什麼時候到的,如果有中斷,則會自動跳到中斷函式執行你安排好的 鬧鐘發出聲音就是安排好的,也可以是震動 硬體...

51微控制器中的定時器中斷是怎麼用的

娛樂小八卦啊 如下 實現led燈一秒亮滅閃爍 void main tmod 0x01 設定定時器0為工作方式1 m1 m0為01 th0 65536 45872 256 裝初值11.0582晶振定時50ms數為45872 tl0 65536 45872 256 ea 1 開總中斷 et0 1 開定時...