Hola. Desde hace un tiempo he estado intentando hacer este proyecto que deberia mostrar la temperatura a traves un par de display de 7 segmentos.
Estoy usando como sensor un lm35 y un pic 16f877.
He simulado el codigo en proteus y siempre me da cero.
Aqui va el codigo:
#include <16f877a.h>
#device adc=10
#fuses xt, nowdt
#use delay (clock=4M)
void main ()
{
int16 q;
float p;
int decena, unidad;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
FOR (;
{
set_adc_channel(0);
delay_us(20);
q=read_adc();
p=((q*5)/1024)*100;
decena=p/10; //separo p en unidad y decena
unidad=p-(decena*10);
}
}
El problema es que en la simulacion en proteus "p" no me devuelve nada y obiamnete decena y unidad me dan cero. Aparentemente el problema esta en la division, pero no entiendo ya que p esta como float.
Ayuda please.......