Você está na página 1de 7

#include "C:\Users\vyuji\Desktop\as\main.

h"
int z;
int32 x;
#int_RTCC
void RTCC_isr(void)
{
x++;
}
#define a pin_b0
#define b pin_b1
#define c pin_b2
#define d pin_b3
#define a1 pin_b0
#define b1 pin_b1
#define c1 pin_b2
#define d1 pin_b7

#define cafe pin_a6
#define cappucino pin_a5

#define torneira pin_a2

#define agua pin_a1

#define vibrador_cafe pin_a0
#define vibrador_cappucino pin_a3

#define helice pin_a7

#define envia_sinal_espera_ok pin_b4

#define envia_pronto pin_b5

#define envia_ok pin_a4

#define servo_agua pin_b6

void tempo(){delay_ms(100);}
void mola_cafe(){x=0;
while(x<50){
output_low(a);output_low(b);output_low(c);output_low(d);
output_high(a);output_high(d);
tempo();
output_low(a);output_low(b);output_low(c);output_low(d);
output_high(a);output_high(c);
tempo();
output_low(a);output_low(b);output_low(c);output_low(d);
output_high(b);output_high(c);
tempo();
output_low(a);output_low(b);output_low(c);output_low(d);
output_high(b);output_high(d);
tempo();
}}

void mola_cappucino(){x=0;
while(x<50){
output_low(a1);output_low(b1);output_low(c1);output_low(d1);
output_high(a1);output_high(d1);
tempo();
output_low(a1);output_low(b1);output_low(c1);output_low(d1);
output_high(a1);output_high(c1);
tempo();
output_low(a1);output_low(b1);output_low(c1);output_low(d1);
output_high(b1);output_high(c1);
tempo();
output_low(a1);output_low(b1);output_low(c1);output_low(d1);
output_high(b1);output_high(d1);
tempo();
}}

void liga_torneira(){output_high(torneira);delay_us(2000);
output_low(torneira);delay_ms(19);}
void desliga_torneira(){output_high(torneira);delay_us(1000);
output_low(torneira);delay_ms(19);}

void
liga_servo_agua(){output_high(servo_agua);delay_us(2000);output_low(servo_agua);delay_m
s(19);}
void
desliga_servo_agua(){output_high(servo_agua);delay_us(1000);output_low(servo_agua);delay
_ms(19);}

void liga_agua(){output_high(agua);liga_servo_agua();}
void desliga_agua(){output_low(agua);desliga_servo_agua();}

void liga_vibrador_cafe(){output_high(vibrador_cafe);}
void desliga_vibrador_cafe(){output_low(vibrador_cafe);}

void liga_vibrador_cappucino(){output_high(vibrador_cappucino);}
void desliga_vibrador_cappucino(){output_low(vibrador_cappucino);}

void liga_helice(){output_high(helice);}
void desliga_helice(){output_low(helice);}

void t_encher(){delay_ms(6000);}

void t_acalmar(){delay_ms(2000);}

void t_vibrador(){delay_ms(3000);}

void t_misturar(){delay_ms(5000);}

void t_torneira(){delay_ms(5000);}

void t_esvaziar(){delay_ms(5000);}

void botao_cafe(){

liga_agua();t_encher();desliga_agua();
liga_helice();t_acalmar();
liga_vibrador_cafe(); t_vibrador();
mola_cafe();desliga_vibrador_cafe();
t_misturar(); desliga_helice();
output_high(envia_sinal_espera_ok);z=0;
while(z==0){if(input(envia_ok)){z=1;
liga_torneira();t_esvaziar();desliga_torneira();
liga_agua();t_encher();desliga_agua();
liga_helice(); t_misturar();desliga_helice();
liga_torneira(); t_esvaziar();desliga_torneira();
output_high(envia_pronto);
}
}
}

void botao_cappucino(){

liga_agua();t_encher();desliga_agua();
liga_helice();t_acalmar();
liga_vibrador_cappucino(); t_vibrador();
mola_cappucino();desliga_vibrador_cappucino();
t_misturar(); desliga_helice();
output_high(envia_sinal_espera_ok);z=0;
while(z==0){if(input(envia_ok)){z=1;
liga_torneira();t_esvaziar();desliga_torneira();
liga_agua();t_encher();desliga_agua();
liga_helice(); t_misturar();desliga_helice();
liga_torneira(); t_esvaziar();desliga_torneira();
output_high(envia_pronto);
}}
}

void aquecimento_agua(){
for(x=0;x<1200;x++){
if(input(cafe)){botao_cafe();}
if(input(cappucino)){botao_cappucino();}
output_high(agua);delay_ms(10);}

for(x=0;x<1200;x++){output_low(agua);delay_ms(10);}
if(input(cafe)){botao_cafe();}
if(input(cappucino)){botao_cappucino();}
}

void main()
{

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);;
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);


while(true){

aquecimento_agua();

}
}

Você também pode gostar