/*
Recife, 11 de abril de 2002
Alunos: Francisco do Nascimento Junior
		Zilma Félix 
*/

#include <reg51.h>

#define FrClk 12000000
#define FreqTimer0_emHz 100
#define VALOR_TH0 ((65536 - (FrClk / (12 * FreqTimer0_emHz - 8 ))) >>8)
#define VALOR_TL0 ((65536 - (FrClk / (12 * FreqTimer0_emHz - 8 ))) & 0xFF)

int count = 0;
void timer0_inicializa() 
  {
  TR0 = 0;              // Desliga Timer0
  TMOD |= 0x01;  // Timer 0 programado como timer de 16 bits
  TH0 = VALOR_TH0;  // Programa contagem do Timer0
  TL0 = VALOR_TL0;
  ET0 = 1;      // Habilita interrupcao do timer 0
  TR0 = 1;      // Habilita contagem do timer 0
  }

void timer0_int (void) interrupt 1 using 2
{
  TR0 = 0;              // Desliga Timer0
  TH0 += VALOR_TH0;  // Programa contagem do Timer0
  TL0  += VALOR_TL0;
  TR0 = 1;      // Habilita contagem do timer 0
  if (count == 100) {
  	P1= P0^0xFF;
	count = 1;
  } else {
    count ++;
  }
} 

void main(){
	timer0_inicializa();
	EA = 1; // habilita as interrupcoes
	while(1){
	}
}

