SM2: Enable the automatic address recognition feature in mode 2 and 3. If SM2=1, RI will not be set unless
the received 9th data bits is 1, indicating an address, and the received bytes is a Given or Broadcast
address. In mode1, if SM2=1 then RI will not be set unless a valid stop Bits was received, and the
received bytes is a Given or Broadcast address.
REN: Enable the serial port reception. 1 := enable
0 := disable
TB8: The 9th data bits, which will be transmitted in Mode 2 and Mode 3.
RB8: In mode 2 and 3, the received 9th data bits will go into this bits.
TI: Transmit interrupt flag. After a transmit has been finished, the hardware will set this bits.
RI: Receive interrupt flag. After reception has been finished, the hardware will set this bits.
SFR: SBUF (Serial port Buffer register):
Bits-7
Bits-6
Bits-5
Bits-4
Bits-3
Bits-2
Bits-1
Bits-0
(data to be transmitted or received data)
Automatic Address Recognition
There is an extra feature makes the device convenient to act as a master, which communicates
to multiple slaves simultaneously. It is really Automatic Address Recognition.
There are two SFR SADDR and SADEN implemented in the device. The user can read or write
both of them. Finally, the hardware will make use of these two SFR to “generate” a “compared
bytes”. The formula specifies as following.
Bit[ i ] of Compared Byte = (SADEN[ i ] == 1 )? SADDR[ i ]
:
x
For example:
Set SADDR = 11000000b
Set SADEN = 11111101b
Ö
The achieved “Compared Bytes” will be “110000x0”
(x means don’t care)
For another example:
Set SADDR = 11100000b
Set SADEN = 11111010b
The achieved “Compared Bytes” will be “11100x0x”
Ö
After the generic “Compared Bytes” has been worked out, the MPC89x51A will make use of this
bytes to determine how to set the bits RI in SFR SCON.
Normally, an UART will set bits RI whenever it has done a bytes reception; but for the UART in
the MPC89x51A, if the bits SM2 is set, it will set RI according to the following formula.
RI
=
(SM2 == 1) && (SBUF == Compared Byte) && (RB8 == 1)
MEGAWIN
MPC89x51A Data Sheet
25