微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 数码管计数记着记着有时候就停了

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

时间:10-02 整理:3721RD 点击:
百思不得其解,为何数码管记着记着就停了, 芯片是STC15204EA,用得是外部中断,当我在软件上自己给它高低电平变化的时候显示数正常,但在实际中给它下降沿的时候计数记着记着就停了

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;
       
        }
       

               

void exint0() interrupt 0中应当清中断,告诉mcu可以标记下一个中断,Delay10ms();也应当去掉

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

网站地图

Top