51單片機中定時器的小程序
今天我開始了對51中的定時器進行了學習,并寫了一個小程序。
#i nclude
sbit P0_1=P0^1; //定義位變量
/*********************************************************
* 延時子程序
* 16個循環(huán)為1秒
*
**********************************************************/
void Delay(count)
{
int i;
while(--count != 0)
{
for(i = 0; i < 125; i++); // ";" 表示空語句,CPU空轉(zhuǎn)。
} // i 從0加到125,在12M晶體下CPU大概耗時1毫秒
}
/*********************************************************
定時器中斷子程序
************************************************************/
void time0_server_(void) interrupt 2
{static time0_server_count;
time0_server_count++;
if(time0_server_count==16)
{P0_1=~P0_1;
time0_server_count=0;
}
TF0=0;
Delay(20);
}
main()
{ TH0=0x0B;
TL0=0xDC;
P0_1=0;
EA=1;
ET0=1;
TR0=1;
while(1);
}
該程序主要是用來了解定時器的運行規(guī)律,并對他進行必要的應用。
通過對其進行實驗,我大致的對其有了一些了解,其主要用途有定時,記數(shù),中斷。等等。
擴展閱讀:單片機定時器的應用與誤差糾正
編輯:admin 最后修改時間:2018-05-18