Programação semaforo maxplus
Por: FehWolff • 12/6/2015 • Trabalho acadêmico • 415 Palavras (2 Páginas) • 175 Visualizações
Programa Semáforo Carro x Pedestre:
Pinos Utilizados:
Saídas:
Semáforo Carro:
PC0, PC1, PC2
Pino 23 - Led Vermelho
Pino 24 - Led Amarelo
Pino 25 - Led Verde
Semáforo Pedestre:
PC3, PC4
Pino 26 - Led Vermelho
Pino 27 - Led Verde
Entradas:
PD7
Pino 13 - Botão
Conversão dos pinos para binário:
Outputs:
PC 0,1 e 2 (semáforo carro) e PC 3 e 4 (semáforo pedestre) :
DDRC= 0b00111110
Inputs: PC 5 ( Botão )
DDRD=0b10000000
Pinos:
PD7= 0b10000000
PC 0,4 = 0b00001010 ( vermelho semáforo carro everde pedestre)
PC2,3 = 0b00100100 ( verde semáforo carro e vermelho pedestre)
PC1,4= 0b00010010 ( amarelo semáforo carro e verde pedestre)
Programa:
void setup ( )
{
DDRC= 0b00111110; // configuração das portas do pinc saídas pinos 4,3,2,1, e 0
DDRC= 0b10000000; // configuração das portas do pind entrada pino 7
}
void loop ( )
{
portc=0b00001010; // acende semáforo de carro vermelho e semáforo pedestre verde
_delay_ms (10000); // vermelho do semáforo de carro e verde do pedestre ficam ligados por 10s
if pind= 0b10000000; // push Button
{
portc=0b00100100; //acende verde do semáforo de carro e o vermelho do pedestre
_delay_ms(8000); // verde semáforo de carro e vermelho pedestre ficam ligados por 8s
portc= 0b00010010; // acende amarelo do semáforo de carro e o verde do pedestre
_delay_ms(3000); // amarelo semáforo de carro e verde pedestre ficam ligados por 3s
portc= 0b00001010; // acende vermelho do semáforo de carro e o verde do pedestre
_delay_ms(10000); // vermelho do semáforo de carro e verde do pedestre ficam ligados por 10s
}
portc= 0b00100100; // acende verde do semáforo de carro e o vermelho do pedestre
_delay_ms(10000); // verdesemáforo de carro e vermelho pedestre ficam ligados por 10s
if pind= 0b10000000; // push Button
{
portc= 0b00010010; // acende amarelo do semáforo de carro e o verde do pedestre
_delay_ms(3000); // amarelo semáforo de carro e verde pedestre ficam ligados por 3s
portc= 0b00001010; // acende vermelho do semáforo de carro e o verde do pedestre
_delay_ms(10000); // vermelho do semáforo de carro e verde do pedestre ficam ligados por 10s
portc= 0b00100100; //acende verde do semáforo de carro e o vermelho do pedestre
_delay_ms(8000); // verde semáforo de carro e vermelho pedestre ficam ligados por 8s
}
portc= 0b00010010; // acende amarelo do semáforo de carro e o verde do pedestre
_delay_ms(3000); // amarelo semáforo de carro e verde pedestre ficam ligados por 3s
if pind= 0b10000000; // push Button
{
portc 0b00001010; // acende vermelho do semáforo de carro e o verde do pedestre
_delay_ms(10000); // vermelho do semáforo de carro e verde do pedestre ficam ligados por 10s
portc= 0b00100100; //acende verde do semáforo de carro e o vermelho do pedestre
...