Red de conocimiento informático - Aprendizaje de código fuente - Programación del recuento de botones

Programación del recuento de botones

Si se presiona el botón nuevamente durante el conteo, el conteo se detendrá y si se presiona el botón nuevamente, el conteo se reiniciará. "Reiniciar el conteo" ¿significa continuar contando sobre la base original o comenzar a contar desde 0?

He proporcionado una versión y sigo calculando en base al original.

#incluye & ltreg 51. h & gt;

#¿Definición? ¿Uchar? ¿No firmado? ¿Ciel? //;

Uchar? led 1;

Uchar? distab[]={0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x 90};

Uchar? segundo

Uchar? Estado;

sbit? clave=p3^3;

¿No es válido? retraso(unsigned?int?answer

{

unsigned?int?i,j;

for(i = 0;i<a;i++ )

for(j = 0;j & lt120;j++);

}

Display()

{

led 1 = seg % 10;

p 1 = ~ distab[led 1];

Retraso(3);

}

InitTimer0(no válido)

{

TMOD? =?0x 01;

TH0? =?0x0b 1;

TL0? =?0x0E0

EA?=?1;

ET0?=?1

}

principal()

{

temporizador de inicio 0();

mientras(1)

{

clave = 1;

if(clave==0)

{?

Retraso cuando(10);?

clave = 1;? >

if(clave==0)

{

mientras(clave = = 0);

cambiar(estado)

{

caso 0:

estado = 1; // detener desde Ingresar inicio

Pausa;

Caso 1:

Estado = 0; //Desde el inicio hasta la pausa/parada

Interrupción

Predeterminado:

Estado = 0;

Roto;

}

}

}

}

}

¿Interrupción del temporizador 0 (no válida)? 1

{

¿Estática

TH0? p>TL0?

/ /¿Agregar? tu código?

show();

if(state==1)

times++; //Agrega 1 a 20 milisegundos

Si (veces == 50)

{

Veces = 0;

seg++

if(segundos>9)?

{

seg = 0;

}

}< / p>

}

}