>> Tecnologia Eletrônica >  >> Rádio via Satélite >> XM

Frequência Máxima do Timer 1 do 8051 no Modo 1 com Cristal de 11,0592 MHz

O cristal de 11,0592 MHz é uma "frequência mágica" para sistemas 8051 porque divide de forma limpa para taxas de baud padrão. Mas qual é a frequência máxima que você pode gerar usando o Timer 1 no Modo 1 (timer de 16 bits)?

Operação do Timer 1 no Modo 1

O Modo 1 configura o Timer 1 como um timer/contador de 16 bits (TH1:TL1). O timer incrementa a cada ciclo de máquina.

Estrutura de Clock do 8051

  • Frequência do cristal: FOSC = 11,0592 MHz
  • Ciclo de máquina: 12 ciclos de clock (8051 padrão)
  • Frequência de incremento do timer: FTIMER = FOSC / 12 = 921,6 kHz
  • Período do timer: TTIMER = 1 / 921,6 kHz ≈ 1,085 μs

Métodos de Geração de Frequência

Método 1: Toggle por Overflow do Timer (Software)

O timer conta até 0xFFFF (65.536), ocorre overflow, define a flag TF1. O software faz toggle do pino de saída na ISR.

  • Taxa máxima de toggle = FTIMER / 65.536 = 921.600 / 65.536 = 14,0625 Hz
  • Frequência de saída = taxa de toggle / 2 = 7,03 Hz (onda quadrada)
  • Impraticável para geração de frequência — muito lento

Método 2: Recarga do Timer com Toggle de Saída (Modo 2 — Auto-recarga de 8 bits)

Não é Modo 1, mas comumente usado para geração de frequência:

  • TH1 mantém valor de recarga, TL1 conta
  • Frequência máxima (TH1=1): FTIMER / 2 = 921,6 kHz / 2 = 460,8 kHz
  • Frequência mínima (TH1=255): 921,6 kHz / 510 = 1,807 kHz

Método 3: Modo 1 com Saída por Hardware (Se Disponível)

O 8051 padrão não possui toggle de saída por hardware no Modo 1. Algumas variantes (DS89C420, AT89LP, Silicon Labs) adicionam pinos Timer Output (TO), mas o 8051/8031/8052 original não.

Método 4: Modo 0 (Timer de 13 bits) — Não é Modo 1

Modo 0: timer de 13 bits (TL1[4:0] + TH1[7:0]). Restrições de frequência máxima similares.

A Resposta Real: Depende do Seu Método de Saída

Se Usando Modo 1 Puro (16 bits) + ISR de Software:

Frequência prática máxima ≈ 1-2 kHz (limitado por latência da ISR ~50-100 ciclos)

Se Usando Modo 2 (Auto-recarga de 8 bits) com Toggle por Hardware (em variantes suportadas):

Máximo = 460,8 kHz (TH1=1, duty cycle 50%)

Se Usando Lógica Externa com Pulso de Overflow do Timer:

Pulso de overflow do Timer 1 a cada 65.536 contagens = trem de pulsos de 14,06 Hz. Pode alimentar divisor/contador externo.

Por Que 11,0592 MHz? A Conexão com Taxa de Baud

Este cristal existe para comunicação serial, não para geração de frequência:

Taxa de BaudRecarga Timer 1 (Modo 2)Erro
96000xFD (-3)0%
192000xFA (-6)0%
384000xF4 (-12)0%
576000xEE (-18)0%
1152000xDC (-36)0%
2304000xB8 (-72)0%
4608000x70 (-144)0%
9216000xE0 (-32) *0% (SMOD=1)

* Requer SMOD=1 (PCON.7) para 921600 baud.

Recomendações Práticas

  1. Para taxas de baud: Use Timer 1 Modo 2 (auto-recarga de 8 bits) — foi projetado para isso
  2. Para geração de frequência: Use Timer 0/1 Modo 2 com toggle por hardware (se a variante suportar) ou modo PWM (variantes modernas)
  3. Para altas frequências: Use PCA (Programmable Counter Array) no 8052/variantes modernas — até FOSC/4 = 2,76 MHz
  4. Para Modo 1 especificamente: É para medição de tempo (largura de pulso, período), não saída de frequência

Conclusão

Usando Timer 1 Modo 1 (timer de 16 bits) padrão do 8051 com cristal de 11,0592 MHz: a frequência máxima gerada por software é ~1-2 kHz. O propósito do cristal de 11,0592 MHz é geração de taxa de baud via Modo 2, não síntese de frequência no Modo 1. Para frequências maiores, use Modo 2, PCA ou geradores de clock programáveis externos.