quarta-feira, 17 de agosto de 2016

Atividades Timer


1. Timer 1 como temporizador:

Implementar hardware e software em linguagem C para o PIC18F4550 para as seguintes especificações:

  • Configure o Timer 1 como contador de forma que o tempo do timer seja de 10ms
  • Faça um looping (comando for) a fim de ter uma função de múltiplos de 1s.
  • Como atividade prática faça um led piscar com 1s desligado e 2 s ligado

Dicas de Implementação


  • Utilize como base o programa de exemplo com o Timer0.
  • Modifique a função de configuração do Timer0 para o Timer1. A configuração do Timer0 é realizada no registrador TCON0, a configuração do Timer1 é realizada no registrador TCON1. Verifique o que cada bit faz, pois, os 2 registradores não são iguais (cada bit pode ter função diferente) 
  • No Timer1 o pré-scaler disponível é menor, então o tempo máximo mesmo utilizando 16btis é bem mais baixo. Como sugestão, ajuste para o timer1 fazer a contagem para atingir 10ms, pois este valor permite múltiplos que gerem valores inteiros como, por exemplo, 1 segundo.
  • Na função de tempo monte um looping (comando “for” por exemplo) para multiplicar o tempo de 10ms para atingir 1s ou múltiplos (utilize uma variável como parâmetro que indique o número de segundos desejados.






   



2. Timer configurado como interrupção

Implementar hardware e software em linguagem C para o PIC18F4550 para as seguintes especificações:

  • Utilize 2 Interrupções externas a fim de incrementar e decrementar uma variável.
  • Atualizar o LCD a cada 500ms pelo timer configurado como interrupção
  • Escolha um módulo timer (0, 1, 2 ou 3).

Dicas e sugestões de implementação


  • Para simplificar trabalhe todas interrupções como alta prioridade
  • Na função “main” o looping “while(1)” está vazio (não faz nenhuma ação)
  • Monte a função de configuração geral das interrupções (a mesma config_int() que foi utilizada nos programa de interrupção externa).
  • Crie a função de configuração do Timer para o módulo escolhido (0, 1, 2 ou 3). 
    • Configure os bits do registrador TCONX para configurar o Timer.
    • Configure os bits relativos a interrupção associada ao Timer (IE, IP, IF).
    • Dispare o Timer com o tempo escolhido (500ms). Se necessitar utilize um inteirações caso o módulo timer escolhido não atinja o tempo desejado. Ver exemplo de configuração do timer como inetrrupção
  • O que atualizar o LCD:
    • Coloque no LCD o valor da variável que está sendo controlada pelos botões. 
  • Para o funcionamento do programa de acordo com as diretrizes (2 botões para incrementar e decrementar uma variável) como os botões trabalharão por interrupção, você precisará:
    • A configuração para interrupção externa necessária.
    • Na função de interrupção as ações específicas para cada interrupção




   



3 Controle de velocidade de um motor DC



Uma forma de medir é utilizar um par emissor/receptor de leds infravermelho



Podemos ter esses leds em módulos prontos ou construídos





O circuito para aplicação é simples e consiste de um led alimentado e um receptor que forma um divisor de tensão, que muda o seu valor quando o feixe luminoso é interrompido.




Atividade prática


Implementar hardware e software em linguagem C para o PIC18F4550 para as seguintes especificações:

  • Contar o número de voltas do motor DC através de uma interrupção externa (INT0, INT1 ou INT2) gerada por um par infravermelho associado a uma interrupção.
  • Configurar um módulo timer para gerar uma interrupção a cada 10s. Nessa interrupção calcule a velocidade em RPM e atualize o LCD com a velocidade corrente. 


  





   




Nenhum comentário:

Postar um comentário