#INT_TIMER1
void reloj()
{
set_timer1(15536);
++contador;
if (contador==10)
{
estado=actualizacion;
aux_dist=(aux_dist+27*speed);
dist=aux_dist/100000; //calculo de la variable dist para presentación de la distancia en km.
contador=0;
++seg;
if (seg==60)
{
seg=0;
++min;
if (min==60)
{
min=0;
}
}
}
}Hola.
Lo que hace el compilador es des-habilitar las interrupciones mientras realiza esas operaciones, las cuales pueden tomar mucho tiempo. Esto se hace con el fin de que mientras esta haciendo la operación respectiva, no vuelva a entrar a la misma interrupción o a otra del mismo nivel.
Se puede evitar el warning evitando hacer esas operaciones (en tu caso, multiplicación y división) fuera de la rutina de interrupción, y haciéndolas en el programa principal usando algún flag o bandera de aviso para procesarlas.
Saludos