Programación del recuento de botones
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; p>
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;
}
} p>
}
}
}
¿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>
}
}