Hola.
Ya arme el termometro y ya funciona, solo hay un unico detalle y es que a la hora de simular me salen unos mensajes referente al lcd y al puerto, ya probe cambiando de puerto y siguen saliendo, cabe aclarar que funciona bien fisicamente sin importar eso, les dejo la imagen de la simulacion en proteus con los mensajes que les digo, a que se deben?
Logic contention(s) detected on net------> es lo que dice el mensaje.
y aqui el codigo.
//Device/Fuses/Etc.-----------------------------
#include <16F877A.h>
#device adc=10
#include <math.h>
#fuses nowdt //No Watch Dog Timer
#fuses xt
#fuses put //No Power Up Timer
#fuses noprotect //Code not protected from reading
#fuses nobrownout //No brownout reset
#fuses nolvp //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#fuses nocpd //No EE protection
#use delay(clock=4000000)
#include <flex_lcd.c>
#use standard_io(A)
#use standard_io(B)
VOID MAIN(VOID){
float TEMPE,VALUE;
lcd_init();
lcd_gotoxy(3,1);
lcd_putc("Bienvenido");
delay_ms(1000);
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("Termometro\nDigital");
delay_ms(1000);
lcd_putc("\f");
lcd_gotoxy(1,1);
lcd_putc("Temperatura");
delay_us(1500);
while(true){
setup_port_a( ALL_ANALOG );
setup_adc(ADC_CLOCK_DIV_32);
set_adc_channel(0);//se elige el RA0
delay_us(20);
VALUE = read_adc();
setup_adc( ADC_OFF );
TEMPE=(VALUE*(0.48875));
lcd_gotoxy(1,2);
printf(lcd_putc,"Actual: %02.1F C",TEMPE); //XXX.X C
delay_ms(100);
}
}
Nos vemos y gracias.