|
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^7;
uint num;
void main ()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1;
ET0=1;
TR0=1; // 此時定時器已經(jīng)開始啟動,就是開始計數(shù)了吧,(這個正確) 溢出就開始執(zhí)行下邊的中斷程序(這個正確),可是我的問題來了,
當(dāng)T0 溢出之后,TH0和TL0內(nèi)部都清零了嘛 (沒有清零), 此時的T0還繼續(xù)從0開始計數(shù)嗎?
還是等中斷函數(shù)運行完再開始計數(shù)呢?
while(1) ; //空閑死循環(huán)
}
void AAA()interrupt 1
{
TH0=(65536-45872)/256; //這個為重新裝定時器0的初值。(這樣才會每次中斷的定時時間一樣)
TL0=(65536-45872)%256;
num++;
if(num==20)
{
num=0;
led1=~led1;
}
}
|
|