The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.
-
Upload
samson-stenner -
Category
Documents
-
view
229 -
download
2
Transcript of The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.
The 8051 Microcontroller
Chapter 5
SERIAL PORT OPERATION
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
3/21
4/21
5/21
• Mode of operation of serial port is set by writing to the SCON at address 99H
6/21
8-bit Shift Register (Mode 0)
• The RXD line for input and output data• The TXD line serves as the clock
7/21
• Reception: reception enable bit REN=1 and receive interrupt bit RI=0
8/21
8-bit Shift register (mode 0)
• Possible application is to expand the output capability of the 8051
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/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/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/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/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/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/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/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/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
18/21
19/21
20/21
21/21