2. 2/21
• The essential function : parallel to serial
conversion for output data and serial to parallel
conversion for input data
• Full duplex
• Receive buffer
• The serial port buffer (SBUF) is really 2 buffers
• Writing to SBUF loads data to be transmitted,
write-only register
• Reading SBUF accesses received data, read-only
register
• SCON – serial port control register, control bits
and status bits
• Baud rate can be fixed or variable
8. 8/21
8-bit Shift register (mode 0)
• Possible application is to expand the output
capability of the 8051
9. 9/21
8-bit UART with Variable Baud
Rate (Mode 1)
• Universal Asynchronous
Receiver/Transmitter
• Receives and transmits serial data with each
data character preceded by a start bit (low)
and followed by a stop bit (high)
• For a receive operation, the stop bit goes
into RB8 in SCON
10. 10/21
8-bit UART (Mode 1)
• Clocking and
synchronizing the
serial port shift
registers in mod 1,
2, 3 is established
by a 4-bit
divide by-16
‑
counter, the output
of which is the baud
rate clock
11. 11/21
8-bit UART (Mode1)
• Transmission is initiated by writing ti SBUF
but does not actually start until the next
rollover of the divide-by-16 counter
supplying the serial port baud rate
• Reception is initiated by a 1 to 0 transition
on RXD
• The receiver includes “false start bit
detection”
12. 12/21
• Eleven bits are transmitted or received: a start bit,8
data bits, a programmable ninth data bit, and a stop
bit
9-bit UART with Fixed Baud Rate
(Mode 2)
13. 13/21
9-bit UART with Variable Baud
Rate (Mode 3)
• Modes 1,2 and 3 are very similar
• The differences lie in the baud rates (fixed
in the 2, variable in modes 1 and 3) and in
the number of data bits( 8 in mode 1, 9 in
modes 2 and 3)
14. 14/21
Initialization and accessing serial
port registers
• Receiver Enable : REN in SCON must be set by
software to enable the reception of characters
• The ninth data bit : The ninth bit transmitted in
modes 2 and 3 must be loaded into TB8 by
software, received bit is placed in RB8
• Interrupt Flags : the receive and transmit
interrupt flags (R1 and T1) in SCON, set by
hardware, must be cleared by software
15. 15/21
Multiprocessor Communication
• Modes 2 and 3 have a
special provision
• When the master want
to send some data to
slaves, it first sends
out an address byte of
target slaves
• The trick is not to use
the ninth data bit after
a link has been
established
16. 16/21
Serial Port Baud Rates
• The baud rate is fixed
in modes 0 and 3
• In mode 0 it is always
the on-chip oscillator
freq. divided by 12
• By default following a
system reset, the mode
2 baud rate is the osci.
freq. divided by 64
• Baud rates in modes 1
and 3 are determined
by the timer 1
overflow rate
17. 17/21
Using timer 1 as the Baud Rate
Clock
• The baud rate is the timer 1 overflow rate divided by 32
• The formula for modes 1 and 3 Baud rate=timer 1
overflow +32