Holas a tod@s! Os explico mi problema: 
En RA0 tengo conectado un potenciometro con una R=5k. Me gustaría sacar el valor de ese pot por el LCD. De momento solo consigo sacar el valor .000000 y x mucho q mueva la ruleta del pot no cambia, os dejo el programita q he creado para q lo reviseis y digais posibles fallos o sugerencias para q esto me rule. Gracias!!
Codigo:
#include <16F877.h>
#device adc=8
#use delay(clock=4000000)
#include <lcd-picdem.c>
#fuses HS,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOLVP
const int escala = 256;
const float v_max = 5.0;
void calcula_voltaje (int val, float &voltaje)
{
voltaje=(val*v_max)/escala;
}
void main(void)
{
int valor;
float voltaje;
set_tris_a(0b00000001);
lcd_init();
lcd_putc("f"); //Borra pantalla
lcd_putc("voltios =
"
;
for(;
{
lcd_gotoxy(4,2);
setup_adc(adc_clock_div_2);
setup_adc_ports(AN0);
set_adc_channel(0);
valor=read_adc();
delay_ms(5000);
setup_adc (adc_off);
calcula_voltaje(valor,voltaje);
printf(lcd_putc,"%f",voltaje);
delay_ms(10);
}
}