for(;;)
{
//Movi el calculo de la temperatura para el final del ciclo
output_b(dig[temp%10]);
output_high(PIN_A4);
delay_ms(2);
temp = (long)(temp/10);
output_b(dig[temp%10]);
output_high(PIN_A3);
delay_ms(2);
temp = (long)(temp/10);
output_b(dig[temp%10]);
output_high(PIN_A2);
delay_ms(2);
for(i=0; i<200;i++) //Tomas 200 muestras y las sumas en grados_temperatura
{
grados_temperatura+= read_adc();
}
grados_temperatura =/ 200; //aqui calculas el promedio de 200 muestras
temp = (long)(((long)grados_temperatura*4.88)/10); // 5000mV / 1024 (10 bits) muestras posibles
temp -= 2 ; //Le restamos 2 grados de error
}
}