Example #1
0
void trata_timer0() {
    set_timer0(131 + get_timer0());
    vtimer++;
    if (vtimer == 1) {
        vtimer = 0;
        segundos++; // incrementa os segundos

        if ((segundos % 60) == 0) { // quando fechar 1 minuto, o display é atualizado
            segundos = 0; // reinicia o contador
            incrementa_minutos(1);
            parar_alarme();

            // verifica se existe alarme configurado para exibir nesta hora
            if (var_alarme_configurado && (var_alarme_horas == temp_global_horas && var_alarme_minutos == temp_global_minutos)) {
                var_alarme_tocando = 1;
                output_high(PIN_A0); // pino alarme
            }

            // exibe apenas se o alarme nao estiver sendo configurado
            if (var_alarme_configurando == 0) {
                exibe_relogio(temp_global_horas, temp_global_minutos);
            }
        }
    }
}
Example #2
0
int main(void) 
{
	init_timer0();

	// count each BIT_TS_WIDTH-clock length intervals, starting at some random point...
	zero_timer();
	while(1) {
		uint8_t v = get_timer0();
		if (v < BIT_TS_WIDTH)
			continue;
		zero_timer();
		
		sample_bit(); // so, this will rise 125000 times per second (approx) 
	}
	return 0;
}
Example #3
0
void trata_timer0() 
{ 
    set_timer0(131 + get_timer0());
    vtimer++; 
    if (vtimer == 10)
	{
       vtimer = 0; 
       seconds++;
	   if (seconds > 59)
	   {
			fireAlarmState = 0;
			output_low(PIN_B1);
			seconds = 0;
			minuteElapsed();
	   }
    }
} 
Example #4
0
void tempo()
{
   set_timer0 (131 - get_timer0 ());
   conta++; //contagem das interrupções
   //printf("%d\n",conta);
}