Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- while(1){
- uint8_t CAPAC_PARQ = 8; //capacidade do parque
- uint8_t CONT = 0; //contagem de carros
- if(bit_read(PINB,2)){ //Se o PB2 estiver ligado (se houver carros a sair)
- bit_set(PORTC,1); //Liga o PC1 (abre a cancela para sair)
- _delay_ms(4000); //Espera 4 segs
- bit_clear(PORTC,1); //Desliga PC1 (Fecha a cancela)
- CONT--; //Descresce um valor ao numero de carros
- }
- if(CONT < CAPAC_PARQ){ //Condicao para que o parque tenha lugares livres
- bit_clear(PORTC,3); //Apaga o PC3 (desliga o sinal vermelho)
- bit_set(PORTC,2); //Liga o PC2 (liga o sinal verde)
- if(bit_read(PINB,1)){ //Se o PB1 estiver ligado (se houver carros a entrar)
- bit_set(PORTC,0); //Liga o PC0 (abre a cancela para entrar)
- _delay_ms(2000); //Espera 2 segs
- bit_clear(PORTC,0); //Desliga PC0 (Fecha a cancela)
- CONT++; //Acrescenta um valor ao numero de carros
- }
- }
- if(CONT >= CAPAC_PARQ){ //Se o parque estiver cheio
- bit_clear(PORTC,2); //Desliga o PC2 (desliga o sinal verde)
- bit_set(PORTC,3); //Liga o PC3 (liga o sinal vermelho)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement