eletronica
Departamento de Exatas
Disciplina¨
Professor:
Experiência Nº
Curso:
Identificação dos alunos
1
Campus:
2
Turma:
3
Data: ____/_____/_____
4
Profº Laboratório:
5
Visto Profº:
Nota 1: O aluno deverá fazer as adaptações necessárias em função do microcomtrolador ou dos recursos didáticos disponíveis
Capítulo 7 - Experiência 5 – Timer de segundos
Objetivo
O uso de rotinas de delays para contagem de tempo nem sempre pode ser aplicado, uma vez que este tipo de rotina deixa o processador parado. Um recurso muito mais adequado para a contagem de tempos é a utilização do timer do microcontrolador. Este é o objetivo desta experiência. Ensinar ao aluno como configurar e utilizar o timer e a interrupção.
Descrição
Esta experiência cria um timer decrescente em segundos. O valor inicial é determinado pela constante V_INICIO e pode estar entre 1 e 15 segundos.
Os botões ativos são os da linha 4. O botão da coluna 1 dispara o timer, mostrando o tempo restante no display. O da coluna 2 paralisa o timer. O led ligado ao pino RC0 é utilizado para indicar o estado atual do timer sendo acesso se o timer estiver rodando e apagado se o timer estiver parado.
O timer utiliza como base de tempo a interrupção de TMR0 sendo que esta ocorre quando o timer estoura, ou seja, quando o valor do TMR0 pula de 0xFF para 0x00. Assim, o intervalo de tempo entre interrupções irá depender do prescaler configurado para o timer, do valor inicial com que ele é carregado e do tempo de execução de um ciclo de máquina.
No exemplo desta experiência, sempre que se entra na interrupção de TMR0, o contador do timer é carregado com 131, de forma que sempre se faça 125 contagens, pois, o timer irá contar de 131 até 256 e quando voltar a estourar será novamente carregado com 131.
Desta forma, podemos calcular o tempo entre interrupções seguindo a equação abaixo:
Tempo TMR0 = (256 – valor com que é carregado) * prescaler *