定時器中斷

2021-08-02 21:16:17 字數 552 閱讀 9259

tmod=0x01;

th0=(65536-50000)/256;

tl0=(65536-50000)%6;

ea=1;

et0=1;

tr0=1;

void timer0() interrupt 1

ea=1;//開總中斷允許

et0=1;//開定時器0允許

tmod=0x01;//定時器選擇軟體啟動,工作方式為1 

th0=(65536-50000)/256; 

tl0=(65536-50000)%6;//給定時器賦初值,定時

50ms 

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

th0屬於微控制器特殊功能暫存器裡邊的乙個,具體的一般是用來設定定時器0高八位的時間初值
tl0屬於微控制器特殊功能暫存器裡邊的乙個,具體的一般是用來設定定時器0低八位的時間初值
當定時器計數值滿

65536

的時候就觸發

隨著微控制器系統中的晶振hz的變化而精確度也不斷變化

定時器中斷

系統初始化的時候在預設的系統初始化函式 systeminit 函式裡面已經初始化 apb1 的時鐘為 2 分頻,所以 apb1 的時鐘為 36m。當 apb1 的時鐘分頻數為 1 的時候,tim2 7 的時鐘為 apb1 的時鐘,而如果 apb1 的時鐘分頻數不為 1,那麼 tim2 7 的時鐘頻率...

定時器 中斷

1 實現電視劇集中的10s定時炸彈功能 炸彈炸了用蜂鳴器模擬 include unsigned char code smgduan 17 unsigned int ms,sec 10,s sbit p1 0 p1 0 void delay unsigned int n void isr timer0...

定時器中斷

stc89c52rc的微控制器自帶了三個定時器,t0,t1,t2。在sfr特殊功能暫存器中,給每個定時器都分配了兩個8bit的空間用於計數。也就是最多計數2的10次方。當這兩個八位的計數空間計數滿 也就是變為11111111 11111111 後就會觸發定時器中斷,執行相應中斷觸發後設定執行的 在s...