|
50黑幣
晶振12M沒(méi)有問(wèn)題, 硬件電路一切正常。 val就是自加變量,用來(lái)在LED上顯示讀秒的。 主要是為了調(diào)定時(shí)器,結(jié)果就是調(diào)不準(zhǔn)。時(shí)間讀數(shù)快出將近3倍。 不知道哪里出問(wèn)題了。 請(qǐng)職業(yè)高手賜教。
void ConfigTimer1(void) //5ms定時(shí)
{
AUXR &= 0xBF; //定時(shí)器時(shí)鐘12T模式
TMOD &= 0x0F; //設(shè)置定時(shí)器模式
TMOD |= 0x10; //設(shè)置定時(shí)器模式
TL1 = 0xB0; //設(shè)置定時(shí)初值
TH1 = 0x3c; //設(shè)置定時(shí)初值
TF1 = 0; //清除TF1標(biāo)志
TR1 = 1; //定時(shí)器1開始計(jì)時(shí)
}
void main()
{
EA=1;
// ET0=1;
ET1=1;
k1=1;
k2=0;
// ConfigTimer0(); //10ms
ConfigTimer1(); //50ms
while(1)
{
LedRefresh();
LedBuffUpdate();
}
}
void InterruptTimer1() interrupt 3
{
TH1 = 0xB0; //加載 T1 重載值
TL1 = 0x3C;
if(tmr1s>=20)
{
val++;
if(val>=60)
{
val=0;
k1=~k1;
}
tmr1s=0;
}
else tmr1s++;
}
|
|