You are on page 1of 4

#include <16F818.

h>
#device ADC = 10
#fuses NOWDT,XT,NOPUT,NOPROTECT,NOBROWNOUT,NOCPD,NOLVP,INTRC_IO,NOMCLR
#use delay(clock=4MHZ)
#include <math.h>

int16 pulso=0;

void lona_arriba()
{
for(pulso=0;pulso<200;pulso++)
{
output_high(pin_b5);//ENABLE
output_low(pin_b6);//DIRECCION
output_high(pin_b7);//PULSO
delay_ms(1);
output_low(pin_b7);//PULSO
delay_ms(1);
}
output_low(pin_b5);//ENABLE
output_low(pin_b6);//DIRECCION
output_low(pin_b7);
}
void lona_abajo()
{
for(pulso=0;pulso<=200;pulso++)
{
output_high(pin_b5);//ENABLE
output_high(pin_b6);//DIRECCION
output_high(pin_b7);//PULSO
delay_ms(1);
output_low(pin_b7);//PULSO
delay_ms(1);
}
}

void sentido_horario()
{
output_high(pin_b7);//PULSO
delay_ms(1);
output_low(pin_b7);//PULSO
delay_ms(1);
}
void sentido_antihorario()
{
output_high(pin_b7);//PULSO
delay_ms(1);
output_low(pin_b7);//PULSO
delay_ms(1);
}

void main(void)
{
int a=1;
int b=1;
int16 ADC1;
int16 ADC2;
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(AN0_AN1_AN3);

while(true)
{
set_adc_channel(0);
delay_us(20);
ADC1=read_adc();
delay_us(20);
set_adc_channel(1);
delay_us(20);
ADC2=read_adc();

//CORTINA ARRIBA
if((ADC1>=710)&&(a<=1)&&(input(pin_a5)==0))
{
lona_arriba();
a = a+1;
b = 1;
}
else
{
//output_low(pin_b5);//ENABLE
//output_low(pin_b6);//DIRECCION
//output_low(pin_b7);
pulso = 0;
}
//CORTINA ABAJO
if((ADC1<=180)&&(b<=1)&&(input(pin_a5)==0))
{
lona_abajo();
b = b+1;
a = 1;
}
else
{
//output_low(pin_b5);//ENABLE
//output_low(pin_b6);//DIRECCION
//output_low(pin_b7);//PULSO
pulso = 0;
}
//VENTILADOR 1 ON 22ºC
if(ADC2>=521)
{
output_high(pin_b0);
}
//VENTILADOR 1 OFF 20ºC
if(ADC2<421)
{
output_low(pin_b0);
}
//CALEFACTOR ON 16ºC
if(ADC2>626)
{
output_high(pin_b1);
}
//CALEFACTOR OFF 20ºC
if(ADC2<521)
{
output_low(pin_b1);
}
//SENTIDO HORARIO
if((input(pin_a6)==1)&&(input(pin_a5)==1))
{
output_high(pin_b5);//ENABLE
output_low(pin_b6);//DIRECCION
sentido_horario();
}

//SENTIDO ANTIHORARIO
if((input(pin_a7)==1)&&(input(pin_a5)==1))
{
output_high(pin_b5);//ENABLE
output_high(pin_b6);//DIRECCION
sentido_antihorario();
}
}
}

You might also like