top of page

TIMER 0

Como falamos nas aulas anteriores, a interrupção por TIMER é um tipo de interrupção que é ativada depois de um determinado tempo. Para estudarmos esta interrupção vamos abrir nosso PIC C Compiler e vamos fazer as seguintes configurações:



































































São configurações que vimos em aulas anteriores e já sabemos como faz, portanto nem vou explicar. Após feita essas configurações, descemos mais a barra de rolagem e fazemos outras configurações conhecidas:



































































Agora sim vem a parte desconhecida da história, vamos à opção Timers e vamos fazer o seguinte:

































































1 – Vou explicar rapidamente sobre o WDT. Isto é uma interrupção de reset que serve como segurança do nosso microntrolador. Sempre que há, por exemplo, um travamento de alguma tarefa no PIC é ativado esse RESET depois do tempo selecionado pelo usuário que vai de 18ms a 2304ms. Se quisermos usar é só desmarcar a caixa Not used.



2. Agora falando sobre TIMER0 mesmo deixamos marcado a opção Internal.


3. Em Frequency tratamos de um campo imutável e que esse valor é determinado conforme selecionamos o nosso Clock. Lembra que na segunda configuração, no campo 6, marcamos a opção que divide 20MHz por 5 resultando em um cristal de 4Mhz? Lembra também que definimos nossa frequência de oscilação de 48MHz? Agora pegue 48MHz e divida por 4MHz e o resultado será 12MHz, exatamente a frequência que é usada para o TIMER0.


4. Nesse campo selecionamos a resolução entre uma interrupção e outra, essa resolução resultará em um intervalo de tempo que chamamos de Overflow ou estouro do timer. Vamos selecionar a maior resolução obtendo um maior intervalo de tempo para que possamos ver a interrupção acontecendo.
Falta agora apenas uma configuração. Vamos a opção Interrupts e vamos fazer o seguinte:



































































1 – Vamos selecionar qual TIMER iremos trabalhar que será o TIMER0.



2 – Na opção Code veja o código que será gerado:


#int_RTCC

void  RTCC_isr(void)
{
Digite seu código de interrupção aqui!!
}


Antes de partirmos para nossa programação vamos ver como ficará nossas ligações elétricas no ISIS 7 Professional.









































Agora sim, vamos ver nossa programação.



Dentro do While não vamos colocar nada, vamos deixa-lo vazio. Dentro da função de interrupção vamos digitar uma função printf apenas para testarmos o TIMER0


void  RTCC_isr(void)
{
     Printf(“TronicSide\t”);
}


Apenas isso, agora compile o código, carregue-o no ISIS e simule-o. Você deverá ver no terminal virtual aparecendo, de 1,4 segundos a 1,4 segundos, a palavra TronicSide. Esse é o TIMER0. A partir dessa aula você já pode criar várias coisas com TIMER. Boa sorte e grandes criações!







bottom of page