
Handshake Solutions
HT80C51 User Manual
Peripheral Modules – I2C Interface (SIO1)
Page 60 of 132
© Philips Electronics N.V. 2005
Slave Transmitter mode
In the Slave Transmitter mode, a number of data bytes are transmitted to a master receiver (see
[Figure 24]). Data transfer is initialized as in the Slave Receiver mode. When S1ADR and S1CON have
been initialized, SIO1 waits until it is addressed by its own slave address followed by the data direction
bit which must be “1” (R) for SIO1 to operate in the Slave Transmitter mode. After its own slave ad-
dress and the R bit have been received, the serial interrupt flag (SI) is set and a valid status code can
be read from S1STA. This status code is used to vector to an interrupt service routine, and the appro-
priate action to be taken for each of these status codes is detailed in [Table 12]. The Slave Transmitter
mode may also be entered if arbitration is lost while SIO1 is in the Master mode (see state B0H).
If the AA bit is reset during a transfer, SIO1 will transmit the last byte of the transfer and enter state
C0H or C8H. SIO1 is switched to the “not addressed” Slave mode and will ignore the master receiver if
it continues the transfer. Thus the master receiver receives all 1s as serial data. While AA is reset,
SIO1 does not respond to its own slave address or a general call address. However, the I2C bus is
still monitored, and address recognition may be resumed at any time by setting AA. This means that
the AA bit may be used to temporarily isolate SIO1 from the I2C bus.