Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula
Para apresentar os ambientes de desenvolvimento Proteus e MPLAB, será usado um exemplo prático, que é o projeto de um sistema de controle de um semáforo de dois tempos. Um semáforo de dois tempos, mostrado na Figura 1, consiste em dois semáforos interligados de forma que quando um está verde, o outro está vermelho e vice-versa.
Para simular as luzes do semáforo, serão utilizados LED. A mudança de cor de cada semáforo será feita a cada 1 s. A inteligência do sistema, ou seja, a sequência de luzes (representadas pelos LED) que será acesa e/ou apagada em cada semáforo, bem como a frequência com que isso ocorre, será de responsabilidade de um PIC16F877A.
Para acionar os LED serão utilizados os pinos do PORTB do PIC16F877A segundo o mapeamento de bits mostrado no Quadro 3. S1 e S2 são as denominações usadas para os dois semáforos.
S1 | S2 | |
Verde | RB6 | RB2 |
Amarelo | RB5 | RB1 |
Vermelho | RB4 | RB0 |
Para controlar o semáforo, será estabelecida uma máquina de estado com quatro estados possíveis, designados de estados 0, 1, 2 e 3. No estado 0 (considerado o estado inicial), o semáforo S1 inicia verde, enquanto o semáforo S2 inicia vermelho. Após 1 s, o estado muda para o estado 1, em que S1 fica amarelo e S2 permanece vermelho. Todas as mudanças de estados e os correspondentes valores de bits do PORTB estão representados no Quadro 4.
Estado | Semáforo S1 | Semáforo S2 | PORTB | |
Valor hexadecimal | Valor binário | |||
0 | Verde | Vermelho | 0x41 | 0b01000001 |
1 | Amarelo | Vermelho | 0x21 | 0b00100001 |
2 | Vermelho | Verde | 0x14 | 0b00010100 |
3 | Vermelho | Amarelo | 0x12 | 0b00010010 |
Versão 5.3 - Todos os Direitos reservados