百思不得其解,芯片是STC15F204EA,数码管计数记着记着有时候就停了,当我在软件上自己给它高低电平变化的时候,计数正常,当我在实际操作中给它下降沿时,计数记着记着就停了,按下复位键之后,数码管清零,但之后也不能计数了,这是怎么回事啊?
bit FLAG;
sbit S2=P3^2;
sbit S1=P3^3;
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;
}
|