#C51 IIC通讯(底层配置时序)
2022-09-15 来源:csdn
前言
IIC通讯:二线制SDA/SCL
提示:以下是本篇文章正文内容,下面案例可供参考
一、场景
51单片机模拟I/O配置SDA/SCL(主器件)
根据AT24C02芯片手册,配置IIC通讯底层时序,操作命令
二、IIC核心知识点
图1 总线时序:
1.起始信号
结合时序图1:SCL高电平期间,SDA由高到低跳变

//起始信号
void IIC_Start()
{
SDA = 1;
// Delay2us(); //电路特性要求上升沿小于300ns,最好做延时保证必然高电平
SCL = 1; //拉高总线,空闲状态
Delay5us(); //1.起始信号建立时间tSU:STA至少4.7us
SDA = 0; //2.起始信号产生
Delay5us(); //3.起始信号维持时间tHD:STA至少4us
SCL = 0; //4.时钟拉低,钳住总线,准备后续数据发送
}
2.数据有效性
SCL低电平时SDA数据允许高低变化
SCL高电平时SDA保持稳定


3.写数据(1Byte)
MSB在前,LSB在后
SDA数据位传输后,将SCL高电平期间,从器件开始读取传输的数据
SCL、SDA高电平代表总线空闲,准备主/从器件下一次动作
//写一个字节数据
void IIC_WriteByte(unsigned char vdata)
{
//第一次紧跟着起始信号,SCL已经拉低,无需再操作
unsigned char vtemp;
for(vtemp = 0x80; vtemp != 0; vtemp >= 1)
{
if(vtemp & vdata)
{
SDA = 1;//发送数据
}
else
{
SDA = 0;
}
Delay5us(); //时钟信号低电平宽度tLOW至少4.7us
SCL = 1; //SCL拉高 从器件读数据位
Delay5us(); //时钟信号高电平宽度tHIGH至少4us
SCL = 0; //拉低总线,下一个数据传输
}
}
4.应答信号
8bit数据传输后第9位代表应答信号,0已接收 1未收到

//应答信号
bit IIC_RecvACK()
{
bit ack;
UC vErrTimeCnt = 0;
SDA = 1; //拉高总线空闲,为应答作准备
Delay5us(); //维持SCL低电平
SCL = 1; //SCL高电平期间,从器件应答,拉高或拉低SDA:0接收1无
Delay5us();
if((1 == SDA) && (vErrTimeCnt < 255)) //延时保护,防止未收到应答,程序一直停留
{
vErrTimeCnt++;
ack = 0;
}
else
{
ack = 1;
}
return ack;
}
5.停止信号
结合时序图1:SCL高电平期间,SDA由低拉高

//停止信号
void IIC_Stop()
{
SCL = 0; //拉低时钟线,防止SDA由高到低产生起始信号
// Delay2us(); //电路特性要求下降沿小于1us
SDA = 0;
// Delay2us();
SCL = 1;
Delay5us(); //停止信号建立时间最少4.7us
SDA = 1; //拉高SDA,停止信号
Delay5us(); //最少4.7us,释放总线,准备下一次转换
}
6.从机地址

@1. bit7~bit3是IIC器件自身地址,由制造商给定,如At24c02地址为1010。
@2. bit2~bit0对应A2 ~A0由硬件连接决定。(一个系统中最多8个器件)
@3. 通讯时第一个字节需要传输地址字节,以确定接收的从器件。如硬件接线A2~A0为低电平,向该写数据。则器件地址为:1010 000 = 0xA0
总结
1.片外IIC器件大体都是这种配置,根据芯片手册会些许微调。实际开发中大多数IC自带EEPROM,后面举例展开
2.基于底层配置后继续实现一个字节的写、读。至于多字节的“按字节”写,“按页写”,“连续读”等等,后续几篇陆续进行。
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析








