10-1
CHAPTER 10
SERIAL I/O PORT
The serial input/output port supports communication with modems and other external peripheral
devices. This chapter provides instructions for programming the serial port and generating the se-
rial I/O baud rates with timer 1 and timer 2.
10.1 OVERVIEW
The serial I/O port provides both synchronous and asynchronous communication modes. It oper-
ates as a universal asynchronous receiver and transmitter (UART) in three full-duplex modes
(modes 1, 2, and 3). Asynchronous transmission and reception can occur simultaneously and at
different baud rates. The UART supports framing-bit error detection, multiprocessor communi-
cation, and automatic address recognition. The serial port also operates in a single synchronous
mode (mode 0).
The synchronous mode (mode 0) operates at a single baud rate. Mode 2 operates at two baud
rates. Modes 1 and 3 operate over a wide range of baud rates, which are generated by timer 1 and
timer 2. Baud rates are detailed in section 10.6, “Baud Rates.”
The serial port signals are defined in Table 10-1, and the serial port special function registers are
described in Table 10-2. Figure 10-1 is a block diagram of the serial port.
For the three asynchronous modes, the UART transmits on the TXD pin and receives on the RXD
pin. For the synchronous mode (mode 0), the UART outputs a clock signal on the TXD pin and
sends and receives messages on the RXD pin (Figure 10-1). The SBUF register, which holds re-
ceived bytes and bytes to be transmitted, actually consists of two physically different registers.
To send, software writes a byte to SBUF; to receive, software reads SBUF. The receive shift reg-
ister allows reception of a second byte before the first byte has been read from SBUF. However,
if software has not read the first byte by the time the second byte is received, the second byte will
overwrite the first. The UART sets interrupt bits TI and RI on transmission and reception, respec-
tively. These two bits share a single interrupt request and interrupt vector.
Table 10-1. Serial Port Signals
Function
Name
Type Description
Multiplexed
With
TXD O Transmit Data. In mode 0, TXD transmits the clock signal. In
modes 1, 2, and 3, TXD transmits serial data.
P3.1
RXD I/O Receive Data. In mode 0, RXD transmits and receives serial
data. In modes 1, 2, and 3, RXD receives serial data.
P3.0