Microcontroladores 8051

7. Las comunicaciones en serie

7.1. El Timer 1 como generador de Baudios

El registro TMOD (89H, 137)

Registro de configuración de los temporizadores/contadores Timer 0 y Timer 1.

MSB             LSB
GATE C/T M1 M0 GATE C/T M1 M0
Timer 1    Timer 0   

M0 y M1. Selección del modo de operación del temporizador.

M1 M0 Selección del modo de operación
0 0 Modo 0 Temporizador/contador de 13 bits
0 1 Modo 1 Temporizador/contador de 16 bits
1 0 Modo 2 Temporizador/contador de 8 bits con autorecarga
1 1 Modo 3 Varios contadores

C/T. Funcionamiento como contador o como temporizador.

0 -> Contador, los pulsos se toman  de la señal de reloj.
1
-> Temporizador, pulsos del terminal Tx.

GATE. Establece el control del timer.

0 -> Hace que el Timer se controle mediante el bit TRx. Si TRx es 1 se pone en macha el Timerx y con TRx a 0 se para (x identifica al timer 0 ó 1).
1-> El Timer se controla por hardware, mediante el estado de la entrada (pin) INTx.

Para que el Timer 1 funcione como generador de baudios se ha de configurar en modo 2 (temporizador de 8 bits con autorecarga).

Timer en Modo 2, auto-recarga de 8 bits

Timer 1 en modo 2, temporizador de 8 bits con autorecarga

Baudios (bits por segundo)

Si se utiliza el Timer 1 como generador de baudios cuando se trabaja en Modo 1 y 3 (UART de velocidad variable) el cálculo de la velocidad en Baudios o bis por segundo viene establecido pos la siguiente fórmula:

Baudios\ =\ \frac{2^{SMOD}}{32}*\frac{Frecuencia\ oscilador}{12*(256-TH1)}

En la tabla inferior se puede observar la comparación de las configuraciones de los valores de recarga del Timer 1 en función de las distintas velocidades de comunicación posibles. Para poder obtener un conjunto de velocidades de comunicación normalizadas es necesario utilizar un cristal de cuarzo de 11,0592 MHz.

 Baudios (bits por segundo)  Frecuencia del reloj  SMOD Timer 1  
C/T Modo Valor de recarga
Modo 0: 1 M (máx.) 12 MHz X X X X
Modo 2: 375 K 12 MHz 1 X X X
Modo 1, 3: 62,5 K 12 MHz 1 0 2 FFH
19200 11,0592 MHz 1 0 2 FDH
9600 11,0592 MHz 0 0 2 FDH
4800 11,0592 MHz 0 0 2 FAH
2400 11,0592 MHz 0 0 2 F4H
1200 11,0592 MHz 0 0 2 E8H
137500 11,0592 MHz 0 0 2 1DH
110000 6 MHz 0 0 2 72H
110000 12 MHz 0 0 1 FEEBH
           

 
copyright © 2007-2010  alciro.org  All rights reserved.         
Share |