欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
STC89單片機定時器比預定值快3倍,不知道程序那里出問題了?
[打印本頁]
作者:
robinsonlin
時間:
2019-5-13 22:20
標題:
STC89單片機定時器比預定值快3倍,不知道程序那里出問題了?
晶振12M沒有問題, 硬件電路一切正常。 val就是自加變量,用來在LED上顯示讀秒的。 主要是為了調定時器,結果就是調不準。時間讀數快出將近3倍。 不知道哪里出問題了。 請職業高手賜教。
void ConfigTimer1(void) //5ms定時
{
AUXR &= 0xBF; //定時器時鐘12T模式
TMOD &= 0x0F; //設置定時器模式
TMOD |= 0x10; //設置定時器模式
TL1 = 0xB0; //設置定時初值
TH1 = 0x3c; //設置定時初值
TF1 = 0; //清除TF1標志
TR1 = 1; //定時器1開始計時
}
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++;
}
作者:
wulin
時間:
2019-5-14 06:53
就按普通51的模式設置定時器,下載時不要勾選“使能6T模式”
void ConfigTimer1(void) //50毫秒@12.000MHz
{
TMOD= 0x10; //設置定時器模式
TL1 = 0xB0; //設置定時初值
TH1 = 0x3C; //設置定時初值
TF1 = 0; //清除TF1標志
TR1 = 1; //定時器1開始計時
}
作者:
yzwzfyz
時間:
2019-5-14 07:59
注意一下,主頻時鐘是否設置成取晶振頻率。
作者:
robinsonlin
時間:
2019-5-14 11:42
yzwzfyz 發表于 2019-5-14 07:59
注意一下,主頻時鐘是否設置成取晶振頻率。
在哪里設置? 還請詳細說來,這兩天被這個定時器搞暈了。
作者:
robinsonlin
時間:
2019-5-14 14:19
問題找到了。 還真是在代碼里面,看花眼了。 低級錯誤。 中斷里面重載初值時,高位和低位搞返了。哎。
作者:
酸葡萄
時間:
2019-5-15 19:14
將主頻時鐘設置成晶振頻率
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1