前面的文章中已经介绍了单片机的并口通信和UART串口通信,在实际开发过程中我们还可能用到很多其他通信协议,IIC协议就是其中常见的一种,它的用途很广,很多资料都讲得比较专业化,这篇文章我们一起通过简单的文字来熟悉它,以后应用时再讲专业点。
IIC总线全称是Inter Integrated Circuit总线,也写做I^2C总线,它是由飞利浦公司推出的一种同步通信协议,这种协议只用两根通信引脚,一根信号线SDA,另一根时钟线SCL,即它使用两根信号线就可实现全双工的同步数据传输。总之,它具有接口线少、占用资源小、控制简单、通信速率较高等优点。至于为什么,现在我们先不用管,等后面介绍完其他通信协议后再做对比了解。
所有与IIC兼容的器件都具有标准的接口,可以把多个IIC总线器件同时接到IIC总线上。 当然,因为IIC协议比较简单,所以我们使用时通常也会直接通过软件模拟协议来实现,特别是对于没有IIC接口的单片机,比如普通51,52单片机。 在总线上通过地址来识别通信对象,使它们可以之间可以通过IIC总线直接通信,总线上的各设备具有唯一的识别地址,正是因为具备通信识别功能,并且简单容易实现,使得它在电子领域有非常广的应用,比如各种低速存储IC,各类传感器等等。

通信线路
因为所有IIC通信引脚内部电路使用的是开漏结构,所以在实际应用中需要对其引脚添加上拉电阻,以保证正常通信

内部电路结构
IIC总线协议上的设备分主设备和从设备,犹如常说的主机和从机,顾名思义,主设备是发送命令或数据的器件,从设备为接收命令或向主设备传送数据的器件。并且主设备控制时钟信号,从设备根据主设备的时钟信号和地址信息进行响应。
主从设备之间还需要遵循一定的规则:

协议总览
发送命令:
- 发送起始(START)信号;
- 发送设备地址;
- 等待从设备响应(ACK);
- 发送数据,一般情况每发送一个字节数据后会等待接收来自从设备的响应(ACK)信号;
- 数据发送完毕,发送停止(STOP)信号,终止传输。
读取命令:
- 发送起始(START)信号;
- 发送设备地址;
- 等待从设备响应(ACK);
- 接收来自从设备的数据,一般情况下每接收一个字节数据后会向从设备发送一个响应(ACK)信号;
- 接收到最后一个数据,发送一个无效响应(NACK),然后发送停止(STOP)信号,终止传输。
void init()
{
SCL= 1;
delay ();
SDA= 1;
delay ();
}
void start()
{
SDA= 1;
delay ();
SCL= 1;
delay ();
SDA= 0;
delay ();
}
void respons()
{
uchar i= 0;
SCL= 1;
delay();
while ((SDA== 1)&&(i< 255))
{
i++ ;
}
SCL= 0;
delay();
}
void stop()
{
SDA= 0;
delay();
SCL= 1;
delay();
SDA= 1;
delay();
}
void writebyte(uchar date)
{
uchar i,temp;
temp= date;
for(i= 0;i< 8;i++ )
{
temp= temp<< 1;
SCL= 0;
delay();
SDA= CY;
delay();
SCL= 1;
delay();
}
SCL= 0;
delay();
SDA= 1;
delay();
}
void readbyte()
{
uchar i,k;
SCL= 0;
delay();
SDA= 1;
for(i= 0;i< 8;i++ )
{
SCL= 1;
delay();
k= (k<< 1)|SDA;
SCL= 0;
delay();
}
delay();
return k;
}
三相电机接线信息图
时间:2026-07-23
准 Z 源逆变器的设计
时间:2026-07-23
关于阻容吸收器的简单介绍
时间:2026-07-23
S7-1200和CP343-1的Profinet通信方法
时间:2026-07-23
PDP(等离子显示),PDP是什么意思
时间:2026-07-23
光纤收发器的连接方式和作用
时间:2026-07-22
什么是电磁波?电磁波常见问题
时间:2026-07-22
如何区分有源晶振和无源晶振
时间:2026-07-22
什么是“涡流”以及为什么它们对电机很重要...
时间:2026-07-22
802.11g和802.11n的选择分析
时间:2026-07-21
电阻的单位
时间:2026-03-05
NVIDIA CPU+GPU超级芯片大升级!
时间:2026-03-09
贴片电阻怎么看阻值
时间:2026-03-05
电阻的原理和作用 电阻色环识别图 电路中电...
时间:2026-03-09
什么是硅片或者晶圆?一文了解半导体硅晶圆
时间:2026-03-09
HTCC:半导体封装的理想方式
时间:2026-03-06
什么是室温超导?半导体时代将走向结束?芯...
时间:2026-03-09
半导体光刻工艺 光刻—半导体电路的绘制
时间:2026-03-09
石英灯电子变压器电路原理
时间:2026-03-06
一文详解MOS管驱动电路拓扑的设计
时间:2026-03-09