#include <18f4550.h>
#device ADC=10 //Conversor Analógico digital a 10 bits.
#fuses hs,nowdt,xt,NOWRT,NOPROTECT,NOPUT,NOLVP
#use delay(crystal=8MHz)//Frecuencia de oscilador 8MHz. Para el 18F4550 Cristal externo escribir "crystal"
#include <libreriaepica.c>
#include <graphics.c>
#include <stdlib.h> //libreria matematica
#include <stdio.h>
#use RS232(baud=9600,bits=8,parity=N,xmit=pin_c6,rcv=pin_c7)//Para hacer la comunicacion con el otro PIC
#USE FAST_IO(A) //directivas para trabajar con estos pines
#USE FAST_IO(B)
#USE FAST_IO(C)
#USE FAST_IO(D)
//VARIABLES TEMPERATURA
char texto[20]={"Temperatura"};
char temperatura[20];//Variable decimal "valor"
int16 bits;
float temperatura1;
//VARIABLES PRESION
char texto1[20]={"Presion"};
char presion[20];//Variable decimal "valor"
int16 bits1;
float presion1;
//VARIABLES HUMEDAD
char texto2[20]={"Humedad"};
char humedad[20];//Variable decimal "valor"
int16 bits2;
float humedad1;
//Funcion Principal------------------------------------------------------------
void main()
{
//Configuracion
glcd_Init(on);
set_tris_a(0); //declarando lo pines que usaremos
set_tris_b(0);
set_tris_c(0);
set_tris_d(0);
setup_adc_ports(AN0); //funcion que permite seleccionar que pines usaremos como analogicos
setup_adc(adc_clock_internal);// reloj para hacer la conversion analogo digital
glcd_fillScreen(0);//borrar pantalla
while(true)
{
//Sensor de TEMPERTURA---------------------------------------------------
set_adc_channel(0); //preparamos el canal que se leerá
delay_ms(1);//para preparar el ñon
bits=read_adc(); //lee y accede al valor
temperatura1=((bits*5.0)/1023.0)*100; //
glcd_text57(40,1,texto,1,ON);
sprintf(temperatura
,"%3.0f",temperatura1
); glcd_text57(1,1,temperatura,1,ON);
delay_ms(100);
glcd_fillScreen(0);
//Sensor de PRESION------------------------------------------------------
set_adc_channel(1); //preparamos el canal que se leerá
delay_ms(1);//para preparar el ñon
bits1=read_adc(); //lee y accede al valor
presion1=((bits1*250.0)/1023.0)+11; //
glcd_text57(40,20,texto1,1,ON);
glcd_text57(1,20,presion,1,ON);
delay_ms(100);
glcd_fillScreen(0);
//Sensor de HUMEDAD------------------------------------------------------
set_adc_channel(2); //preparamos el canal que se leerá
delay_ms(1);//para preparar el ñon
bits2=read_adc(); //lee y accede al valor
humedad1=((bits2*100.0)/51)+31;
glcd_text57(40,40,texto2,1,ON);
glcd_text57(1,40,humedad,1,ON);
delay_ms(100);
glcd_fillScreen(0);
}
}