Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.09 KB | None | 0 0
  1. while(1){
  2.   uint8_t CAPAC_PARQ = 8; //capacidade do parque
  3.   uint8_t CONT = 0; //contagem de carros
  4.  
  5.   if(bit_read(PINB,2)){ //Se o PB2 estiver ligado (se houver carros a sair)
  6.     bit_set(PORTC,1); //Liga o PC1 (abre a cancela para sair)
  7.     _delay_ms(4000); //Espera 4 segs
  8.     bit_clear(PORTC,1); //Desliga PC1 (Fecha a cancela)
  9.     CONT--; //Descresce um valor ao numero de carros
  10.   }
  11.  
  12.   if(CONT < CAPAC_PARQ){ //Condicao para que o parque tenha lugares livres
  13.     bit_clear(PORTC,3); //Apaga o PC3 (desliga o sinal vermelho)
  14.     bit_set(PORTC,2); //Liga o PC2 (liga o sinal verde)
  15.    
  16.     if(bit_read(PINB,1)){ //Se o PB1 estiver ligado (se houver carros a entrar)
  17.       bit_set(PORTC,0); //Liga o PC0 (abre a cancela para entrar)
  18.       _delay_ms(2000); //Espera 2 segs
  19.       bit_clear(PORTC,0); //Desliga PC0 (Fecha a cancela)
  20.       CONT++; //Acrescenta um valor ao numero de carros
  21.     }
  22.   }
  23.  
  24.   if(CONT >= CAPAC_PARQ){ //Se o parque estiver cheio
  25.     bit_clear(PORTC,2); //Desliga o PC2 (desliga o sinal verde)
  26.     bit_set(PORTC,3); //Liga o PC3 (liga o sinal vermelho)
  27.   }
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement