static void interrupt Horloge(); // sous programme d'interruption tempo
unsigned char Nbr;
unsigned char Count;
int FinTempo;

void TempoInit(void)
{
 GIE=1; PEIE=1;
}


void Tempo_ms(int Millisecondes)		// Pas plus de 200ms
{
 OPTION = 0b10000001;  	 	// Configuration tempo
								// 4 * 256 * 1 = 1.024ms
 FinTempo = 0;
 Nbr = 0;
 Count = Millisecondes;
 T0IE = 1;
 while(FinTempo!=1);
}

void Tempo_s(int Secondes)
{
 OPTION = 0b10000101;  	 	// Configuration tempo
								// 4 * 256 * 1 = 1.024ms
 FinTempo = 0;
 Nbr = 0;
 Count = Secondes * 61;
 T0IE = 1;
 while(FinTempo!=1);
}


static void interrupt Timer()
{
 if (T0IF)
 {
  Nbr++;
  if (Nbr>=Count)
	{
		FinTempo = 1;
 		T0IE = 0;
	}
  T0IF=0;
 }
}  

 

