Buenas tarde a este gran foro.
como dice el titulo, tengo un programa realizado en ccs (o pic c) y resulta que a la hora de mostrar el valor analogo (que deberia ser 5v o menos ) muestra un valor totalemente extraño, sinmas preambulo podrian ayudarme
como ven es muy facil el programa, el problema creo que esta en la conversion o en el 1023 si no fui claro dejo un ejemplo coloco un 1 voltio y en valor análogo dice 12.82 (deberia decir 1v) y en el valor digital da 13120 cosa que la verdad no se por que GRACIAS
#include <main.h>
#include"flex_lcd.c"
void main()
{
float valor;
float valordig;
//configuracion del canal analogico
setup_adc_ports(AN0_TO_AN2|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_32);
set_tris_a(0xFF);
lcd_init();
lcd_gotoxy(3,1);
lcd_putc("voltimetro");
delay_ms(250);
while(TRUE)
{
//asigana el canal 0 al conversor o leer el canal 0
set_adc_channel(0);
delay_us(10);
valordig=read_adc();
delay_ms(1);
lcd_gotoxy(1,1);
printf (lcd_putc,"V-DIG, es:%f",valordig);
valor=valordig/1023;
lcd_gotoxy(1,2);
printf (lcd_putc,"V-ANA, es:%f",valor);
delay_ms(100);
}
}
como dice el titulo, tengo un programa realizado en ccs (o pic c) y resulta que a la hora de mostrar el valor analogo (que deberia ser 5v o menos ) muestra un valor totalemente extraño, sinmas preambulo podrian ayudarme
como ven es muy facil el programa, el problema creo que esta en la conversion o en el 1023 si no fui claro dejo un ejemplo coloco un 1 voltio y en valor análogo dice 12.82 (deberia decir 1v) y en el valor digital da 13120 cosa que la verdad no se por que GRACIAS
#include <main.h>
#include"flex_lcd.c"
void main()
{
float valor;
float valordig;
//configuracion del canal analogico
setup_adc_ports(AN0_TO_AN2|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_32);
set_tris_a(0xFF);
lcd_init();
lcd_gotoxy(3,1);
lcd_putc("voltimetro");
delay_ms(250);
while(TRUE)
{
//asigana el canal 0 al conversor o leer el canal 0
set_adc_channel(0);
delay_us(10);
valordig=read_adc();
delay_ms(1);
lcd_gotoxy(1,1);
printf (lcd_putc,"V-DIG, es:%f",valordig);
valor=valordig/1023;
lcd_gotoxy(1,2);
printf (lcd_putc,"V-ANA, es:%f",valor);
delay_ms(100);
}
}