Uart timings, Mode selection, Baud rate generator – Rainbow Electronics T89C5121 User Manual
Page 86: Timer 1, Internal baud rate generator

86
A/T8xC5121
4164G–SCR–07/06
UART Timings
The following description will be included in L version:
Mode Selection
SM0 and SM1 bits in SCON register (see Table 67) are used to select a mode among
the single synchronous and the three asynchronous modes according to Table 64.
Table 64. Serial I/O Port Mode Selection
Baud Rate Generator
Depending on the mode and the source selection, the baud rate can be generated from
either the Timer 1 or the Internal Baud Rate Generator. The Timer 1 can be used in
Modes 1 and 3 while the Internal Baud Rate Generator can be used in Modes 0, 1 and
3.
The addition of the Internal Baud Rate Generator allows freeing of the Timer 1 for other
purposes in the application. It is highly recommended to use the Internal Baud Rate
Generator as it allows higher and more accurate baud rates than with Timer 1.
Baud rate formulas depend on the modes selected and are given in the following mode
sections.
Timer 1
When using the Timer 1, the Baud Rate is derived from the overflow of the timer. As
shown in Figure 36 the Timer 1 is used in its 8-bit auto-reload mode (detailed in
Section “Timer 0/Counter Operations”, page 73). SMOD1 bit in PCON register allows
doubling of the generated baud rate.
Figure 36. Timer 1 Baud Rate Generator Block Diagram
Internal Baud Rate Generator
When using the Internal Baud Rate Generator, the Baud Rate is derived from the over-
flow of the timer. As shown in Figure 37, the Internal Baud Rate Generator is an 8-bit
auto-reload timer feed by the peripheral clock or by the peripheral clock divided by 6
depending on the SPD bit in BDRCON register (see Table 68). The Internal Baud Rate
Generator is enabled by setting BBR bit in BDRCON register. SMOD1 bit in PCON reg-
ister allows doubling of the generated baud rate.
SM0
SM1
Mode
Description
Baud Rate
0
0
0
Synchronous Shift Register
Fixed / Variable
0
1
1
8-bit UART
Variable
1
0
2
9-bit UART
Fixed
1
1
3
9-bit UART
Variable
TR1
TCON.6
0
1
GATE1
TMOD.7
Overflow
C/T1#
TMOD.6
TL1
(8 bits)
TH1
(8 bits)
INT1
T1
PER
CLOCK
÷
6
0
1
SMOD1
PCON.7
÷
2
T1
CLOCK
To Serial Port