Serial i/o port, Mode selection, Baud rate generator – Rainbow Electronics AT89C5132 User Manual
Page 107
![background image](/manuals/281775/107/background.png)
107
AT8xC5132
4173A–8051–08/02
Serial I/O Port
The serial I/O port in the AT8xC5132 provides both synchronous and asynchronous
communication modes. It operates as a Synchronous Receiver and Transmitter in one
single mode (Mode 0) and operates as an Universal Asynchronous Receiver and Trans-
mitter (UART) in three full-duplex modes (modes 1, 2 and 3). Asynchronous modes
support framing error detection and multiprocessor communication with automatic
address recognition.
Mode Selection
SM0 and SM1 Bits in SCON register (see Figure 107) are used to select a mode among
the single synchronous and the three asynchronous modes according to Table 105.
Table 105. 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 Timer 1.
Baud rate formulas depend on the modes selected and are given in the following mode
sections.
Timer 1
When using Timer 1, the Baud Rate is derived from the overflow of the timer. As shown
in Figure 76 Timer 1 is used in its 8-bit auto-reload mode (detailed in Section "Mode 2
(8-bit Timer with Auto-Reload)", page 52). SMOD1 bit in PCON register allows doubling
of the generated baud rate.
Figure 76. Timer 1 Baud Rate Generator Block Diagram
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