The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

21
The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION

Transcript of The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

Page 1: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

The 8051 Microcontroller

Chapter 5

SERIAL PORT OPERATION

Page 2: 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

Page 3: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

3/21

Page 4: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

4/21

Page 5: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

5/21

• Mode of operation of serial port is set by writing to the SCON at address 99H

Page 6: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

6/21

8-bit Shift Register (Mode 0)

• The RXD line for input and output data• The TXD line serves as the clock

Page 7: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

7/21

• Reception: reception enable bit REN=1 and receive interrupt bit RI=0

Page 8: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

8/21

8-bit Shift register (mode 0)

• Possible application is to expand the output capability of the 8051

Page 9: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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

Page 10: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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

Page 11: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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”

Page 12: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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)

Page 13: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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)

Page 14: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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

Page 15: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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

Page 16: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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

Page 17: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

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

Page 18: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

18/21

Page 19: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

19/21

Page 20: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

20/21

Page 21: The 8051 Microcontroller Chapter 5 SERIAL PORT OPERATION.

21/21