top of page

TIMER 1

Vimos na aula anterior a interrupção TIMER 0, agora vamos falar sobre TIMER 1 que diferencia em algumas coisas do TIMER 0 como por exemplo o overflow desse timer e a quantidade de resoluções presentes. No entanto, como toda interrupção desse tipo, é acionada após um tempo que foi determinado pelo utilizador! Acredito que esse é o tipo de timer mais simples e mais fácil de ser configurado, tanto que essa aula é bem pequena e simples no tocante a explicações. Vamos aprender a fazer as devidas configurações para testarmos esse tipo de TIMER.

Como sempre, vamos abrir nosso compilador padrão, clicar em PIC Wizard e fazer as devidas seleções conhecidas para o PIC 18F2550.































































































































Depois disso vamos fazer o seguinte:































































1 – Clicamos em Timers e não vamos mexer em mais nada além das opções no campo Timer 1



2 – Vamos selecionar o clock interno. Você poderia selecionar o Externo também, no entanto eu não recomendo porque teremos uma dificuldade um pouco maior e o resultado final não vai diferir em muito de um para outro.


3 – Selecione a resolução que corresponde ao intervalo de tempo de uma interrupção para outra. Vamos selecionar a segunda resolução que corresponde ao tempo de 10,9 ms.


Agora vamos ao próximo passo:



































































1 – Vamos a opção Interrupts



2 – Habilite o Timer 1.


Pronto, agora é só clicar em OK.


Antes de mais nada vamos ver como fica as ligações dentro do ISIS.













































Agora podemos ir para a nossa programação.



Dentro da função de interrupção, vamos digitar o seguinte:


Output_high(PIN_A0);
Delay_ms(100);
Output_low(PIN_A0);


Ficando assim:


void  TIMER1_isr(void)
{
  Output_high(PIN_A0);
  delay_ms(100);
  Output_low(PIN_A0);
}


Mais em baixo, dentro do While não vamos digitar nada, vamos deixa-lo vazio, nossa intenção é apenas testar o funcionamento do Timer1.
Sendo assim, o que deverá acontecer é o seguinte: O programa vai executar o que tem dentro do While, esperar 10,9 ms e após esse tempo executar a interrupção que vai acender o LED, esperar 100ms e depois desligar o LED. Você vai perceber que essa execução é quase instantânea, nem dando pra perceber a passagem pelo While por causa do tempo de 10,9ms que é muito pequeno.
Tudo pronto. Aprendemos então coisas básicas sobre o TIMER1 e que nos ajudará bastante em muitos projetos. Bons estudos e um ótimo desempenho!





bottom of page