Muchas gracias por su ayuda por fin pude leer las entradas analogicas, pero el problema que tengo ahora es que al mandar las salidas parpadean constantemente no se si sea por que debo poner una interrupcion o tenga algun problema con el if aqui el codigo espero me puedan ayudar muchas gracias:
#include <16F887.h>
#device adc=10
#FUSES XT,NOWDT
#use delay(clock=4000000)
#include <math.h>
#include <LCD.C>
#Byte TRISA =0x85
#Byte PORTA =0x05
#Byte TRISB =0x86
#Byte PORTB =0x06
void main() {
int16 q;
float tv,tr,temp,y,tf,error; //Variables ecuaciones
float p,pr,presion,pres_atm,pres_psi,alt; //Variables cálculo presión
TRISB= 0x00;
setup_adc_ports(ALL_ANALOG); //TODAS ANALOGICAS
setup_adc(ADC_CLOCK_INTERNAL);
lcd_init();
While (TRUE) {
set_adc_channel(0); //Lectura presión en voltios
delay_us(20);
q = read_adc();
p = 5.0 * q / 1024.0;
presion= (0.475+p)/0.045; //Lectura presión en Kpa
printf(lcd_putc, "\nP1= %f Kpa", PRESION);
if(presion<=50 && presion>=40)
bit_set(PORTB,0);
else bit_clear(PORTB,0);
set_adc_channel(1); //Lectura presión en voltios
delay_us(20);
q = read_adc();
tv = 5.0 * q / 1024.0;
pr= (0.475+tv)/0.045; //Lectura presión en Kpa
if(pr<=50 && pr>=40)
bit_set(PORTB,1);
else bit_clear(PORTB,1);
}
}