Hola amigos del foro:
Recurro a ustedes por q necesito nuevamente de sus conocimientos, estoy realizando un programa con el pic 16f877 en el cual su objetivo es realizar 3 lecturas diferentes con los pines del adc del pic, ocupo voltajes de referencia para el adc, el problema que tengo es que al realizar las tres lecturas consecutivas estas se interfieren y afecta la lectura no logro conmutar las tres lecturas las cuales deben quedar bien ya que necesito realizar un control que tiene que ver con cada una de las lecturas. El programa es el siguiente:
[font=Verdana#include <16f877.h> //pic a utilizar
#FUSES XT,NOWDT,NOPROTECT,NOPUT
#device adc=10
#use delay (clock=4000000) //Fosc=4Mhz
#include <LCD.C>
#use fast_io(a)
void main(void)
{
float temperatura;//Variable para el voltaje
lcd_init(); //Inicializa LCD
setup_adc(ADC_CLOCK_INTERNAL );
while(TRUE)//Ciclo
{
setup_adc(ADC_CLOCK_INTERNAL );//oscilador interno para el ADC
(setup_adc_ports(AN0_AN1_AN4_AN5_VREF_VREF ));//configuramos adc y voltajes de referencia
set_adc_channel( 0 );
temperatura = read_adc();
lcd_gotoxy(1,1);
printf(lcd_putc,": %.1f ",temperatura);
set_adc_channel( 1 );
temperatura = read_adc();
lcd_gotoxy(1,2);
printf(lcd_putc,": %.1f ",temperatura);
set_adc_channel( 4 );
temperatura = read_adc();
lcd_gotoxy(9,1);
printf(lcd_putc,": %.1f ",temperatura);
}
}
[/font]
Si pudueran ayudarme porfavor se los agradeceria mucho. Gracias.