Qual é a função do temporizador no microcontrolador?
Um microcontrolador geralmente tem mais de um timer e alguns deles podem ser de 8 bits e outros de 16 ou 32 bits. Alguns temporizadores podem ser mais simples e restritos na sua configuração, e outros podem ser muito flexíveis com muitos modos diferentes. Alguns podem ser contadores simples usados para cronometrar, enquanto outros têm funções de hardware dedicadas anexadas a eles. Os temporizadores também podem normalmente ser em cascata para formar um intervalo maior, por exemplo três temporizadores de 16 bits tornam-se um temporizador de 48 bits.
Como você verá aqui, as aplicações dos temporizadores são quase infinitas.
AS A BAUDRATE GENERATOR
Um bloco UART (ou USART) de microcontrolador's pode usar um dos temporizadores para geração de baudrate.
como um programador de tempos
Os sistemas operacionais usam um temporizador para programar os diferentes processos/linhas/tarefas.
como um gerador de tempos
Os temporizadores também podem ser usados em outros modos além de uma simples peça de manutenção de tempo. Pode ser configurado em vários modos diferentes, tais como gerador de formas de onda para gerar um sinal PWM (Pulse Width Modulation) para um servo-motor ou um motor DC. Pode gerar sinais de forma quadrada a uma frequência específica.
AS A PULSE COUNTER
Também pode ser configurado para contar pulsos em um pino de hardware específico. Para cada pulso o contador está contando um passo, combine-o com um segundo timer e você pode medir pulsos/segundo (velocidade) tudo por hardware.
AS A CODE-WHEEL DECODER
Para decodificar uma rotação você pode conectá-la diretamente a um microcontrolador e o timer contará para cima/baixo dependendo da direção da rotação's.
AS A SYNCHRONOUS SERIAL CLOCK GENERATOR
Este é basicamente um gerador de forma quadrada mas se você usar a interrupção como um bit-shifter você pode receber e transmitir dados seriais em dois outros pinos (basicamente uma interface SPI guiada por software).
AS AN ASYNCHRONOUS USART
Algumas vezes quando eu fico sem canais USART eu implemento um canal USART guiado por software. Eu uso uma interrupção de troca de pinos para iniciar o temporizador (start bit), então o temporizador corre por 9 ou 10 interrupções (8 dados + 1 ou 2 stop bits) para samplear o pino receptor antes que ele se desligue sozinho. Agora você tem um byte de recepção! A frequência do temporizador é a baudrate e devidamente sincronizada em cada start-bit.
AS AN INTERRUPT TRIGGER
Um temporizador pode ser usado para trigir um número de interrupções em um microcontrolador. Por exemplo, você quer digitalizar todos os 10 canais A/D a cada 1 ms. Você pode ter o temporizador para iniciar a conversão A/D por si mesmo, sem qualquer envolvimento de código.
TIMER TEMPORIZADOR DE TEMPORIZADORES DE LONGO PRAZO
Todos os temporizadores não são em tempo real? Claro que sim, mas um temporizador dedicado "em tempo real" (ou RTC) é um relógio "real" como o conhecemos com horas, minutos e segundos. Alguns RTC também têm funções de alarme, tal como o seu relógio de pé nocturno. Estes temporizadores normalmente não podem ser configurados para fazer mais nada além de ser um relógio comum. Estes temporizadores normalmente requerem um sinal de relógio dedicado a 32,768kHz. Esta frequência pode tocar uma campainha (sem intenção de trocadilho) se olhar para os cristais disponíveis. Esta freqüência produzirá exatamente intervalos de 1 segundo com um contador de 15 estágios (2^15 = 32768). Às vezes este temporizador pode gerar uma interrupção a cada segundo ou a um tempo de alarme definido.
alguns microcontroladores também têm um temporizador de cão de guarda. Este é um timer de funcionamento livre que forçará um reset de hardware quando ele atingir um valor de timer específico. Portanto, seu programa deve periodicamente reiniciar o timer antes que ele atinja este valor. Se por alguma razão o programa ficar preso em um loop infinito ou em algum outro estado de erro que o impeça de reiniciar o timer, todo o sistema será reinicializado por hardware e reiniciado, como se você ligasse e desligasse a energia novamente.
Artigos semelhantes
- Qual é a diferença entre o microcontrolador MSP 430 da Texas Instrument e o microcontrolador Tiva C Series TM4C123 da Texas Instrument?
- Posso criar um temporizador para enviar mensagens WhatsApp automaticamente?
- Qual é a diferença entre microprocessador, microcontrolador e um system-on-chip?
- Qual é a melhor forma de comunicar com um microcontrolador a partir de um telefone Android?