
Rev. 1.00
181 of ���
�an�a�� 1�� �01�
Standard 8051 8-Bit Flash MCU
HT85F2260/HT85F2270/HT85F2280
I2C Serial Interface
I2C Serial Interface
I
2
C Bus Communication
Communication on the I
2
C bus requires four separate steps, a START signal, a slave device address
transmission, a data transmission and finally a STOP signal. When a START signal is placed on
the I
2
C bus, all devices on the bus will receive this signal and be notified of the imminent arrival of
data on the bus. The first seven bits of the data will be the slave address with the first bit being the
MSB. If the address of the slave device matches that of the transmitted address, which means one
of the I
2
C states is matched, the SI bit in the I2CCON register will be set and an I
2
C interrupt will
be generated. After entering the interrupt service routine, the devices must first check the status
of the I2CSTA register to determine the interrupt source originating condition. The SI bit is set by
hardware when one of 25 out of 26 possible I
2
C states is entered. The only state that does not set
the SI bit is the state F8H, which indicates that no relevant state information is available The SI bit
must be cleared by the application program.
During a data transfer, note that after the 7-bit slave address has been transmitted, the following bit,
which is the 8th bit, is the read/write bit. This bit will be checked by the slave device to determine
whether to go into transmit or receive mode. Before any transfer of data to or from the I
2
C bus, the
microcontroller must initialise the bus. The following are the steps to achieve this:
■
Step 1
Set the ENS1 bit in the I2CCON register high to enable the I
2
C bus.
■
Step 2
Write the slave address of the device to the I
2
C bus address register I2CADR.
■
Step 3
Set the EI2C interrupt enable bit of the interrupt control register to enable the I
2
C interrupt.
I
2
C Bus Initialisation Flow Chart