buenas nocturno66 No creo pues com otro canal funciona correctamente adjunto el codigo del programa, quizas exite algun error que no puedeo ver.
Puede ser que exista algun problema al utilizar el mismo puerto para salidas digitales i entradas analogicas??Gracias por la ayuda
#include "C:Documents and SettingsAdministradorMis documentosDocuments PICTreballs mPICPIC CEXERCICISEXERCICI4PIC16F87X-1PROGRAMA1.h"
#include <stdlib.h>
#include <lcd2.c>
// VARIABLES
long value3;
long value4;
float temperatura, humitat, tensioT, tensioH;
//CONFIGURACIO DELS PORTS
#use fast_io (a)
#use fast_io (b)
#use fast_io (c)
// RUTINA INTERRUPCIONS
#int_EXT
EXT_isr() {
}
void main() {
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
while (1){
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(4);
delay_ms (500);
value4 = read_adc();
set_adc_channel(3);
delay_ms (500);
value3 = read_adc();
setup_adc_ports( NO_ANALOGS );
setup_adc( ADC_OFF );
tensioT = value3 * (5.0/1023);
tensioH = value4 * (5.0/1023);
temperatura = 100 * tensioT;
humitat = (tensioH-0.958)/0.0307;
lcd_init();// Comandos de inicialización del LCD.
lcd_enviar(LCD_COMANDO, LCD_CLEAR);//borrem el LCD
lcd_enviar(LCD_COMANDO, LCD_HOME);//posem el cursor a la primera posicio
lcd_putc("Hum AN4: "
;
printf(lcd_putc,"%02.1f",humitat);
lcd_gotoxy(1,2);
lcd_putc("Temp AN3: "
;
printf(lcd_putc,"%2.1f",temperatura);
}
}