用Protues軟件仿真51單片機時,定時器的時間和用板子測試時不一樣,怎么辦?
平時用板子的時候,時間設置為2ms中斷一次,中斷里面+500次就得到一秒鐘,但是在用Protues軟件仿真的時候,要10秒才加一次,這是什么問題呢?
時鐘我設置的初始時間是12:30:00,本應該數碼管顯示的變量會和時鐘秒鐘一樣快才對,可是當時鐘跑到12:30:10的時候,定時器里面那個變量才加一顯示在數碼管上。
有大佬幫忙解答一下嗎, 非常感謝了!!
void Timer0_Init(void)
{
TMOD |= 0x01;//設置為16位計數器
TH0 = (65535-2000)/256;//時間定為2ms
TL0 = (65535-2000)%256;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void Interrupt0(void)interrupt 1
{
static uint tim = 0,time = 0;
TH0 = (65535-2000)/256;
TL0 = (65535-2000)%256;
tim++;
if(tim >= 500)
{
tim = 0;
time++;
}
Dis[0] = Tab[time/1000%10];
Dis[1] = Tab[time/100%10];
Dis[2] = Tab[time/10%10];
Dis[3] = Tab[time%10];
key2();
Display();
}
|