百思不得其解,为何数码管记着记着就停了,
芯片是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;
}
一周热门 更多>