
Preliminary W77C32
- 58 -
is one more shift to do, after which the SBUF and RB8 are loaded and RI is set. However certain
conditions must be met before the loading and setting of RI can be done.
1. RI must be 0 and
2. Either SM2 = 0, or the received stop bit = 1.
If these conditions are met, then the stop bit goes to RB8, the 8 data bits go into SBUF and RI is set.
Otherwise the received frame may be lost. After the middle of the stop bit, the receiver goes back to
looking for a 1-to-0 transition on the RxD pin.
SBUF
RB8
Transmit Shift Register
Receive Shift Register
TX
SHIFT
PAROUT
D8
Internal
Data Bus
Internal
Data
Bus
TXD
RXD
Serial Port
Interrupt
SMOD=
(SMOD_1)
SAMPLE
Write to
SBUF
TX
START
TX
CLOCK
SOUT
T
0
1
TI
PARIN
STOP
START
LOAD
CLOCK
Read
SBUF
RI
SERIAL
CONTROLLER
RX CLOCK
LOAD
SBUF
RX START
RX SHIFT
÷
2
÷
16
1-TO-0
DETECTOR
BIT
DETECTOR
÷
16
CLOCK
SIN
D8
TB8
Clock Source
Mode input
div. by 4 osc/2
div. by 64 osc/32
div. by 1024 osc/512
Figure 22. Serial Port Mode 2
Mode 3
This mode is similar to Mode 2 in all respects, except that the baud rate is programmable. The user
must first initialize the Serial related SFR SCON before any communication can take place. This
involves selection of the Mode and baud rate. The Timer 1 should also be initialized if modes 1 and 3
are used. In all four modes, transmission is started by any instruction that uses SBUF as a destination
register. Reception is initiated in Mode 0 by the condition RI = 0 and REN = 1. This will generate a
clock on the TxD pin and shift in 8 bits on the RxD pin. Reception is initiated in the other modes by
the incoming start bit if REN = 1. The external device will start the communication by transmitting the
start bit.