微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 哪位同志帮忙看看,为什么仿真出不来

哪位同志帮忙看看,为什么仿真出不来

时间:10-02 整理:3721RD 点击:
#include <AT89x51.h>
#define uint unsigned int
#define uchar unsigned char
uchar code DIG_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//显示0~9的值
unsigned char temp, number,G,S,H,Q,W;
void  display(uchar G,ucharS,ucharH,ucharQ,ucharW);
void  inital();
void  delay(uint z);

//主函数
void  main()
{  
inital();
G=0;
S=0;
H=0;
Q=0;
W=0;
while(1)
  {
   display(G,S,H,Q,W);
  }
}
//显示函数
void display(uchar G,ucharS,ucharH,ucharQ,ucharW)
{
  P0=DIG_CODE[G];
  P2=0x7f;
  delay(1);
  P0=DIG_CODE[S];
  P2=0xbf;
  delay(1);
  P0=DIG_CODE[H];
  P2=0xdf;
  delay(1);
  P0=DIG_CODE[Q];
  P2=0xef;
  delay(1);
  P0=DIG_CODE[W];
  P2=0xf7;
  delay(1);
}

//定时器初始化
void inital()
{
  temp=0;
  TMOD=0x01;
   TH0=(65536-45872)/256;
   TL0=(65536-45872)%256;
   EA=1;
   ET0=1;
   TR0=1;
}
//定时器中断函数
void  timer0() interrupt 1
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
   number++;
   if(number==20)
   {  
       G++;
      number==0;
   if(G==9)
   {   S++;
       G==0;
            if(S==9)
           {
               H++;
               S==0;
               if(H==9)
              {
                  Q++;
                  H==0;
                      if(Q==9)
                  {
                      W++;
                      Q==0;
                                  if(W==9)
                                  W==0;
                   }
                }
                  }
      }
    }
}

//延时函数
void delay(uint z)
{
unsigned  int x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}

赋值不用==  用=

嗯,将==换成=就行了。

谢谢,但是改后还是没有用啊,帮忙解决一下呗

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

网站地图

Top