automatic address recognition, given address, Figure 15.) – Rainbow Electronics T89C51RD2 User Manual
Page 33
33
Rev. F - 15 February, 2001
T89C51RD2
Figure 15. UART Timings in Modes 2 and 3
6.6.2. Automatic Address Recognition
The automatic address recognition feature is enabled when the multiprocessor communication feature is enabled
(SM2 bit in SCON register is set).
Implemented in hardware, automatic address recognition enhances the multiprocessor communication feature by
allowing the serial port to examine the address of each incoming command frame. Only when the serial port
recognizes its own address, the receiver sets RI bit in SCON register to generate an interrupt. This ensures that
the CPU is not interrupted by command frames addressed to other devices.
If desired, you may enable the automatic address recognition feature in mode 1. In this configuration, the stop bit
takes the place of the ninth data bit. Bit RI is set only when the received command frame address matches the
device’s address and is terminated by a valid stop bit.
To support automatic address recognition, a device is identified by a given address and a broadcast address.
NOTE: The multiprocessor communication and automatic address recognition features cannot be enabled in mode 0 (i.e. setting SM2 bit in SCON
register in mode 0 has no effect).
6.6.3. Given Address
Each device has an individual address that is specified in SADDR register; the SADEN register is a mask byte
that contains don’t-care bits (defined by zeros) to form the device’s given address. The don’t-care bits provide the
flexibility to address one or more slaves at a time. The following example illustrates how a given address is formed.
To address a device by its individual address, the SADEN mask byte must be
1111
1111b
.
For example:
SADDR
0101 0110b
SADEN
1111 1100b
Given
0101 01XXb
The following is an example of how to use given addresses to address different slaves:
Slave A:
SADDR
1111 0001b
SADEN
1111 1010b
Given
1111 0X0Xb
Slave B:
SADDR
1111 0011b
SADEN
1111 1001b
Given
1111 0XX1b
Slave C:
SADDR
1111 0010b
SADEN
1111 1101b
Given
1111 00X1b
RI
SMOD0=0
Data byte
Ninth
bit
Stop
bit
Start
bit
RXD
D8
D7
D6
D5
D4
D3
D2
D1
D0
RI
SMOD0=1
FE
SMOD0=1