volts a milivolts con pic

hola a todos tengo un pequeño problema con un voltimetro que hice con el pic16f877a que lo utilize para que me puediera medir desde 1v hasta 5v la cuestion es que ahora tengo que hacerlo para que me mida mili votls desd 1mv hasta 14mv el problema es que no se si se podra desde este codigo ya tengo el arreglo de resistencias que me generan los mili votls el problema es poder hacerlo con el pic

Código:
#include <16F877a.h>
#device adc=10
#FUSES XT,NOWDT
#use delay(clock=4000000)
#define USE_PORTB_LCD TRUE
#include <lcd.c>

void main()
{
 int16 q;
 float p;
 setup_adc_ports(AN0);
 setup_adc(ADC_CLOCK_INTERNAL);
 lcd_init();
 for (;;){
 set_adc_channel(0);
 delay_us(20);
 q = read_adc();
 p = 5.0*q/1024.0;
 printf(lcd_putc, " VOLTIMETRO");
 printf(lcd_putc, " \nVoltaje = %01.2fVcc" ,p);
 delay_ms(100);
 }
}

espero de la manera mas atenta me puedan ayudar a resolver este pequeño problema que tengo
 
Última edición:
Lo puedes hacer desde el convertidor A/D o utiliza un amplificador no inversor con ganancia x100 (1mV=100mV, 14mV=1.4V).
 
la resolución es igual a,
Código:
resolución=Vref/1023
así que tendrás que usar un Vref pequeño. Luego mediante software lo ajustas.
 
Atrás
Arriba