用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();
}
|