beautypg.com

given address, broadcast address, Preliminary – Rainbow Electronics T89C51CC02 User Manual

Page 47: Given address, Broadcast address

background image

Rev.A - May 17, 2001

47

Preliminary

T89C51CC02

11.3. Given Address

Each device has an individual address that is specified in the 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

Here 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

The SADEN byte is selected so that each slave may be addressed separately.
For slave A, bit 0 (the LSB) is a don’t-care bit; for slaves B and C, bit 0 is a 1. To communicate with slave A
only, the master must send an address where bit 0 is clear (e.g.

1111

0000b

).

For slave A, bit 1 is a 0; for slaves B and C, bit 1 is a don’t care bit. To communicate with slaves A and B, but
not slave C, the master must send an address with bits 0 and 1 both set (e.g.

1111

0011b

).

To communicate with slaves A, B and C, the master must send an address with bit 0 set, bit 1 clear, and bit 2
clear (e.g.

1111

0001b

).

11.4. Broadcast Address

A broadcast address is formed from the logical OR of the SADDR and SADEN registers with zeros defined as
don’t-care bits, e.g.:

SADDR

0101 0110b

SADEN

1111 1100b

SADDR OR SADEN

1111 111Xb

The use of don’t-care bits provides flexibility in defining the broadcast address, however in most applications, a
broadcast address is FFh. The following is an example of using broadcast addresses:

Slave A:

SADDR

1111 0001b

SADEN

1111 1010b

Given

1111 1X11b,

Slave B:

SADDR

1111 0011b

SADEN

1111 1001b

Given

1111 1X11B,

Slave C:

SADDR=

1111 0010b

SADEN

1111 1101b

Given

1111 1111b

For slaves A and B, bit 2 is a don’t care bit; for slave C, bit 2 is set. To communicate with all of the slaves, the
master must send an address FFh. To communicate with slaves A and B, but not slave C, the master can send
and address FBh.