Incubadora

Solo disponible en BuenasTareas
  • Páginas : 2 (326 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de diciembre de 2011
Leer documento completo
Vista previa del texto
PROGRAMA INCUBADORA.
Con este programa podemos hacer un control de temperatura para una incubadora solo tenemos que meter este programa en un compilador y correrlo para ver que funcione lo puedencorrer con el CCS.
# include <16f877a.h>//incluye la libreria para el pic 16f877a
# device adc=10 //bits de resolucion del adc
# fuses XT, NOWDT //utilizacion de cristal ydeshabilitar perro guardian
# use standard_io(B) //incluye libreria para salidas y entradas del puerto B
# use delay(clock=4000000) //cristal de 4,000,000 MHZ
# include <LCD.C> //libreriapara usar LCD
void main(){ //comienza programa principal
int16 q, P1, P2; //variable q entera de 16 bits para lectura de adc's
float p,POT1,POT2; //variables flotantes p=temperatura,pot1=temperatura inferior
//pot2=temperatura superior
setup_PORT_a(all_ANALOG);// configurar canales analogico
setup_adc(ADC_CLOCK_INTERNAL);//fuente de reloj rc para adc
lcd_init();// iniciarlcd
while(true){// ciclo infinito
set_adc_channel(0);//habilita canal 0
delay_us(20); //tiempo de espera para que termine conversion adc
q=read_adc();//lectura del canal 0p=((5.0*q)/1024*100);//conversion a tentemperatura

set_adc_channel(1);//habilita canal 1
delay_us(20); //tiempo de espera para que termine conversion adc
P1=read_adc();//lectura del canal 1POT1=(5.0*P1)/1024*10;//conversion a temperatura inferior

set_adc_channel(2);//habilita canal 2
delay_us(20); //tiempo de espera para que termine conversion adc
P2=read_adc();//lectura delcanal 2
POT2=(5.0*P2)/1024*10;//conversion temperaruta limite superior


if(p<POT1){ // enceder foco si la temperatura es menor que POT1 grados
output_high(pin_B0);//salida BO=1}
if(p>POT2){// apagar foco si la temperatura es mayo que POT2 grados
output_low(pin_B0);//salida B0=0
}
printf(lcd_putc,"\fT1=%1.0f",POT1);//mostrar temperatura inferior adc en LCD...
tracking img