#include
#define uchar unsigned char
uchar sec,min,num;
sbit led1= P1^0;
sbit led2=P1^1;
sbit key=P3^2;
indicador de bits;
nulo retraso(uchar x)
{
uchar i,j;
for(i=0;i for(j=0;j<120;j++); } void t0isr() interrupción 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; num++; if(num>=20) { num=0; seg++; if(sec>59) { seg=0; min++; cambiar(min) { caso 0:led1= 0;romper; caso 1:if(flag){led1=0;min=0;flag=0;} romper; caso 4 :led1=1;led2=0;romper; caso 8:led2=1;romper; predeterminado:romper; } if(min>=20)min=0; } } } void text0() interrupción 0 { retraso(30); si(clave==0) { while(!key); bandera=1; seg=0; min=0; num=0; led1=1; led2=1; } } principal() p> { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256 ; ET0=1; EA=1; EX0=1; IT0=1; TR0=1; led1=0; led2=1; bandera=0; p> mientras(1); }