#include <12F675.h>
#device adc = 8
#fuses NOWDT,CPD,PROTECT,NOMCLR,PUT,INTRC_IO,BROWNOUT
#use delay(clock = 4000000)
#use rs232(baud = 9600,parity=N,xmit=PIN_A5,rcv=PIN_A4,bits=9)
#use standard_io(a)
#byte TRISIO = 0x85 // Dirección Del TRISIO PORT
#byte GPIO = 0x05 // Dirección del GPIO PORT
Int Val_AN;
Float Sensor;
Const Int escala = 255;
Const Float v_max = 5.0;
void Leer_ADC(int C){ // Funcion donde se realiza la lectura del ADC
set_adc_channel(C); // Seleccionamos el canal
delay_us (20);
Val_AN=read_adc(); // Conversion AD a la variable Val_AN
Sensor=(Val_AN*v_max)/escala; // Ecuacion que permite al ADC trabajar en una escala de 5V
}
void main(void){
GPIO = 0;
setup_port_a( ALL_ANALOG );
setup_adc( ADC_CLOCK_INTERNAL );
while(TRUE){
Leer_ADC(0);
printf("\r\n Voltaje: %f ",Sensor
); }
}