Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula

arrow_back Aula 05 - Linguagem Assembly e ambientes de programação

Ambientes de desenvolvimento Proteus e MPLAB

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.

Semáforo de dois tempos

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
Quadro 3 – Mapeamento de bits usado para os dois semáforos

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
Quadro 4 – Correspondência entre os estados do semáforo e os bits de atuação do PORTB

Versão 5.3 - Todos os Direitos reservados