Hola buen dia. estoy haciendo un programita sensillo con pic 18f4620 que consiste en leer la tencion de un pote y mostrarla por LCD 16x2.
Bueno básicamente el problema o duda es que cuando muevo el pote demora unos segundos en refrescar el valor en el LCD no se si es asi o tengo problemas de configuración.
el cristal es de 10M.
Aca le dejo el codigo para que le peguen un vistaso:
[code]#include <18F4620.h>
#DEVICE ADC=10
#fuses H4,NOWDT,NOPROTECT,NOLVP,MCLR,NOPBADEN
#use delay(oscillator=10M)
#define LCD_DB4 PIN_B0
#define LCD_DB5 PIN_B1
#define LCD_DB6 PIN_B2
#define LCD_DB7 PIN_B3
#define LCD_RS PIN_B4
#define LCD_E PIN_B5
//#define LCD_RW PIN_B6
#include "LCD.lib"
float voltaje = 0;
int16 analogico = 0;
void main()
{
lcd_init();
delay_ms(10);
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(AN0_ANALOG);
Set_ADC_Channel(0);
delay_ms(1);
while(true)
{
Read_ADC(ADC_START_ONLY);
analogico=read_adc();
voltaje = analogico;
voltaje=(voltaje*5)/1023;
lcd_gotoxy(1,1);
printf(lcd_putc,"Voltaje: %2.2gv ",voltaje);
lcd_gotoxy(1,2);
printf(lcd_putc,"Analogico: %Lu",analogico);
}
}
[/code]