單片機中通過中斷的方式來調用定時器。
具體的調用方式可以參考通過如下程序:
程序功能:利用定時器進行定時,實現每秒中led閃爍壹次
#include<reg52.h>sbit?led?=?P0^0;
unsigned?int?num;
void?main(void)
{
TMOD?=?0x00;//?工作方式0
TH0?=?(8192?-?5000)?/?32;?//?12M晶振下定時5ms
TL0?=?(8192?-?5000)?%?32;
EA?=?1; //?開總中斷
ET0?=?1; //?開定時器中斷
TR0?=?1; //?啟動定時器
while(1)
{
? if(num?==?200) ?//?定時1秒鐘到
{
num?=?0; ?//?計數器清零
led?=?~led; ?//?led燈取反,實現1秒閃爍壹次
}
}
}
void?timer()?interrupt?1?//?定時器1工作與方式0
{
TH0?=?(8192?-?5000)?/?32;?//?重裝初值
TL0?=?(8192?-?5000)?%?32;
num++; ?//?計數器加1
}