Sunday, 5 July 2020

How to Interface I2C-IOExpander with 8051 Microcontroller

How to Interface I2C-IOExpander with 8051 Microcontroller

The term I2C or IIC abbreviation is an inter integrated circuit and it is called as I squared C. I2C is a serial computer bus, which is invented by NXP semiconductors previously it is named as Philips semiconductors. The I2C bus is used to attach low speed peripheral integrated circuits to microcontrollers and processors. In the year 2006, to implement the I2C protocol no licensing fee is necessary. But fee is necessary to get I2C slave address assigned by NXP semiconductors.

Interface I2C Bus-IOExpander with 8051 Microcontroller

What is I2C Bus

I2c bus uses two bidirectional open-drain lines such as SDA (serial data line) and SCl (serial clock line) and these are pulled up with resistors. I2C bus permits a master device to start communication with a slave device. Data is interchanged between these two devices. Typical voltages used are +3.3V or +5V although systems with extra voltages are allowed.

I2C Interface
I2C Interface

IOExpander
General-purpose input/output (GPIO) expanders are a simple, cost-effective way to monitor and control several peripheral signals. They make it easy for designers to add extra I/O to their design and thereby free up the microprocessor’s GPIO for other, more important functions.

I2C - Bus GPIO Expander Application Example

The I2C-bus allows easy two-line communication between two devices using a serial data line (SDA) and a serial clock line (SCL) and, as a result, is a popular choice for computing, consumer electronics, communication, and industrial systems.

I2C communication Protocol and Timing Diagram


Interface I2C Bus-IOExpander with 8051 Microcontroller

If you want to read & Write IOExpander by using I2C bus in 8051 striker board. Interfacing of I2 Bus-IOExpander with 8051 microcontroller is very simple. The operation of this interfacing is to send a signal like WRITE, followed by data and address bus. In this operation, the IOExpander is used to store the data. In 8051 kit, two numbers of IOExpander lines are regulated by I2C supported drivers. The SCL and SDA are connected to the I2C based serial IOExpander IC.

By using SDA and SCL I2C lines, the read and write operations of IOExpander are done in 8051 Slicker Kit

The interfacing of I2C is so simple and in every single data Read/Write in IOExpander. The delay depends on compiler how it enhances the loops as soon as you make changes in the choices the delay varies.


No comments:

Post a Comment

Application of volatile in C A variable should be declared volatile when its value could be changed unexpectedly. In practice, you must decl...