beautypg.com

Serial i/o port, Mode selection, Baud rate generator – Rainbow Electronics AT89C5132 User Manual

Page 107

background image

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