数码管计数记着记着有时候就停了

2019-07-15 15:24发布

百思不得其解,为何数码管记着记着就停了, 芯片是STC15204EA,用得是外部中断,当我在软件上自己给它高低电平变化的时候显示数正常,但在实际中给它下降沿的时候计数记着记着就停了 222.png bit FLAG;
sbit S2=P3^2;
  void init()
{
         
        IT0=1 ;//设置下沿触发跳变
        EX0=1;
        EA=1;
//        P1=P1|0x03;
//        P1ASF=0x03;
             P2=table[0]  ;
                 com1=1;          //1表示打开位选
                 com2=1        ;
       
  }
               
void display()
{         
      P2=table[a%10]  ;
          com1=1;
          com2=0 ;
            delay(30)        ;
                com1=0        ;
                com2=0 ;


P2=table[a/10]  ;
          com2=1;
          com1=0 ;
          delay(30)        ;
             com1=0 ;
          com2=0;

}


       
       
        void res()
        {
                if(S1==0)
                {
                        delay(10);
                        if(S1==0)
                        {
                            EA=0;
                             a=0;
                             init();
                                while(!S1) ;
                       
                        }
                }
        }
               


void main()
{
                init();
       while(1)
          {
               
         //        S2=1 ;
                   //Delay10ms();
                   //        S2=0;
                   //Delay10ms();
                     display();
                   res();
                         
               
                }
        }

void exint0() interrupt 0
{

  FLAG=INT0;
Delay10ms();

        a++;
        if(a==100)
                a=0;
       
        }
       


               


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。