定時器 中斷

2021-09-10 08:21:24 字數 969 閱讀 2882

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(void) interrupt 1

if(s == 10) }

void main()

else

}}

2、實現跑錶功能,精度0.01s

#include unsigned int sec, sec1, sec2;

unsigned int ms, ms1;

unsigned char code bit_code = ;

unsigned char code smgduan[17]=;

void main()

}void t0_isr(void) interrupt 1

if(ms1 == 100)

if(sec == 60)

if(sec1 == 60)

}

3、用定時器0實現時鐘功能,用數碼管顯示,需要有時、分、秒

#include unsigned int sec, sec1, sec2;

unsigned int ms;

unsigned char code bit_code = ;

unsigned char code smgduan[17]=;

void main()

}void t0_isr(void) interrupt 1

if(sec == 60)

if(sec1 == 60)

if(sec2 == 24)

}

定時器中斷

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

定時器中斷

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

定時器中斷

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