Exercício 6

Data de publicação: Feb 23, 2014 7:36:59 PM

Temporizador START/STOP de 10 segundos

Neste exemplo pretende-se que um LED ligue durante 10 segundos após o pressionamento do botão START. O botão STOP desliga o LED e faz o reset ao temporizador. A imagem em baixo ilustra o fluxograma do programa principal.

Macro: MAIN

Após o pressionamento do botão START, é ligado o LED e habilitada a interrupção TMR0. Esta chama o subprograma TEMPORIZADOR aproximadamente 61 vezes por segundo. Por cada interrupção, a variável CONTADOR é incrementada até atingir o valor 610 (equivalente a 10 segundos) e desliga o LED.

Macro: Temporizador

O botão STOP está ligado ao pino B0 para que através da interrupção INT pare incondicionalmente o temporizador. Esta interrupção chama o subprograma STOP, que desliga o LED, desabilita a interrupção TMR0 e inicializa o CONTADOR.

Macro: STOP