用ISIS仿真秒表与按手机计时误差有12秒什么问题?求大神

2019-07-16 00:09发布

捕获.JPG
55.JPG
手机同时按下等一分钟,最后手机计时一分钟后,单片机才到48秒出来什么问题呢?
我看下面那个时间又与计时时间一致。求大神解答一下小白的问题,万分感谢
下面是程序
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int
uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar sec;
uchar j;
void delay(uint x)
{
   do{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}
   while(--x);
}
void diplay(uchar s)
{
   P2=0x10;
   P0=tab[s/1000];
   delay(50);
   P2=0x20;
   P0=tab[s%1000/100];
   delay(50);
   P2=0x40;
   P0=tab[s%100/10];
   delay(50);
   P2=0x80;
   P0=tab[s%10];
   delay(500);
   P2=0x00;
}
void main()
{
  sec=0;
  j=0;
  EA=1;
  ET0=1;
  TMOD=0X01;
  TH0=0X3C;
  TL0=0XB0;
  TR0=1;
  while(1)
  {
     diplay(sec);
  }
}
kao() interrupt 1 using 0
{
   TR0=0;
   j++;
   if(j==20)
   {  sec++;
   j=0;
   }
   if(sec==9999)
{sec=0;}
TH0=0X3C;
TL0=0XB0;
TR0=1;   
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。