微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 用ISIS仿真秒表与按手机计时误差有12秒什么问题?求大神

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

时间:10-02 整理:3721RD 点击:



与手机同时按下等一分钟,最后手机计时一分钟后,单片机才到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;   
}

大神在哪里

首先一个是振荡电容你用100uf的也太大了吧?一般取30pf,还有就是protues的时间仿真速度不一定跟得上系统时间,仿真越久会越慢,如果你下载程序到单片机里去情况就不一样了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top