Hola Diego E. tengo este programita hecho para un f877a donde se utiliza un conver. A/d de 10 bits en el se muestra la conversion y el correspondiente voltage.
#include <16F877a.h>
#device adc=10
#include <STDLIB.H>
#use delay(clock=4000000)
#fuses XT, NOPROTECT, NOPUT, NOWDT, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#byte portb=6
#include <lcd.c>
void main(void)
{
float const resoluc=5.0/1024.0;
int16 valor=0;
float kk=0;
set_tris_b(0x00);
set_tris_a(0xFF);
portb=0x00;
lcd_init();
lcd_gotoxy(1,1);
setup_adc_ports(RA0_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
delay_us(20);
while(true)
{
valor=read_adc();
kk=valor*resoluc;
lcd_gotoxy(1, 1);
printf(lcd_putc,"fconv: %lu ",valor);
lcd_gotoxy(1, 2);
printf(lcd_putc,"medida: %2.3f ",kk); // muestra el voltage con tres decimales
delay_ms(500);
}
}
es muy basico y tbien esta asesorado por los muchachos de este foro.
espero te sirva
saludos