Suponga que el temporizador 1 de 8051 ha terminado de contar y ha activado TF1. Dado que vuelve a 0, actualmente TH1 = 00, TL1 = 00, y suponga que el bit TR1 todavía está establecido. En este momento, si solo borramos el TF1, ¿volverá a contar ahora desde 00? Porque aún no detuvimos el cronómetro.
La siguiente pregunta es: supongamos que TF1 está configurado pero TR1 está reiniciado, en este momento, ¿podemos cargar TH1 y TL1 usando el direccionamiento # (inmediato)?
En este momento, si solo borramos el TF1, ¿volverá a contar ahora desde 00? Porque aún no detuvimos el cronómetro.
TF1
se establecerá una vez que el temporizador-1 se desborde. Ahora, si borra TF1
pero mantiene TR1
el ajuste, entonces el temporizador sigue funcionando. Después del desbordamiento, se reiniciará incrementando desde 0x00
o valor precargado en TH1
(depende del modo de temporizador).
Por lo tanto, en el caso del modo de temporizador de 16 bits , debe borrar ambos TF1
y TR1
, recargar el registro del temporizador-1 y configurarlo TR1
nuevamente para continuar con el mismo ciclo.
En el caso del modo de temporizador de 8 bits de recarga automática , TF1
solo se eliminará el sufijo. No es necesario borrar TR1
ya que el temporizador se reinicia automáticamente desde el valor precargado en TH1
.
Supongamos que TF1 está configurado pero TR1 está reiniciado, en este momento, ¿podemos cargar TH1 y TL1 usando el direccionamiento # (inmediato)?
Sí, puedes. Y una vez que configura TR1
, el temporizador comienza a funcionar desde el valor cargado. Pero debe borrar TF1
para no perderse el evento del próximo desbordamiento del temporizador.
Sayán
mitu raj