单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)

发布时间:2024-10-19 15:01

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第1张图片\"

 \"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第2张图片\"

1.支持多设备连接,多主机,多从机

2.SDA:数据线,发送收发数据

SCL:时钟线,实现数据同步

3.每一个连接在总线的设备都有一个地址,通过地址来访问设备

4.总线有上拉电阻,当设备空闲时,默认为高阻态

5.多个主设备同时使用时,通过总裁方式决定那个主设备占用总线

6.传输模式,有100KB/S, 400KB/S, 3.4MB/S(暂不支持)

7.连接在总线上的设备数,受总线电容400PF限制

主机:启动和发送数据传输

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第3张图片\" 

SCL为高电平时,要求SDA稳定。SCL为低电平时,SDA允许数据变化

以字节为单位发送

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第4张图片\" 

SCL为高电平,SDA下降时,为起始信号。SDA上升时,为终止信号。起始信号,终止信号是主机控制,在起始终止信号中间,就是总线被占用状态。

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第5张图片\" 

发送起始信号后,主机发送数据给从机,,,非应答时,数据发送接收,应答时,数据继续发送

ps:从机发送给主机信号和上述过程一致,方向相反

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第6张图片\" 

R/W非 :是方向位

R/W=0时,W非是向从机写数据(主机向从机写数据)

R/W=1时,R是从主机读取数据(从机向主机读数据)

主机选择从机时,通过从机地址选择从机,通过R/W非 选择方向(是主机->从机 or 从机->主机)

从机地址由固定地址+可编程程序组成,可编程部分限制主机能控制多少个从机。如,4+3,则可编程部分为3,即2的3次方,共能控制8个从机

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第7张图片\" 

注:A是应答信号,如果有应答信号,A,就继续发送。(如果是非应答,A非,就停止发送)

灰色框框是主机产生的信号,灰色框框是从机产生的信号

实现数据传输时,推荐使用IO模拟数据通信。因为所有单片机IO口都是通用的,方便代码程序的通用

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第8张图片\" 

AT24C型芯片,掉电不丢失。

01是1K bit, 02是2K bit,04是4K bit....

左上角为管脚图

SCL,SDA为总线传输数据接口,数据掉电不丢失。通常接上拉电阻,一般为10k,保证总线在空闲

4个可固定,3个可编程,3个可编程管脚为A0,A1,A2,默认接地,即默认为0 0 0,4个高位固定为1010,

管脚固定为1 0 1 0 0 0 0+R/W非----->0XA0(主机向从机写数据,,,主机--->从机) 0XA1(主机向从机读数据,,从机--->主机)

VSS是GND

VCC是电源

WP是写保功能,当接入VCC时(1),就是只能写不能读。当接入GND时(0),可以写可以读

WP为时钟

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第9张图片\" 

左图为PZ2-4(管脚固定) 右图为PZ5-7

注:单片机默认有上拉电阻,所以,PZ2-4的上拉电阻省略

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第10张图片\" 

即,系统运行,数码管显示右三位的000,然后按K3,变为001....按K1,则将此时数码管的值录用到EEPROM中,录入之后,即使断电,也会保存, 此时按下K2,则会读取EEPROM中的值, 按下K4,则数据清零,最大能写入数据是255(u8类型)

推荐创建多文件。优点:主函数代码不会过长,某一部分代码需要修改,修改简单。每一部分代码均可再次使用。(App Obj Public User)

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第11张图片\" 

 \"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第12张图片\"

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第13张图片\" 

 \"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第14张图片\"

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第15张图片\" \"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第16张图片\"

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第17张图片\" 

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第18张图片\" 

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第19张图片\" 

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第20张图片\" 

\"单片机:I2C--EEPROM(I2C介绍+AT2402+硬件设计+软件编程<重点是软件编程部分>)_第21张图片\" 

注:由于代码过长,只展现图片,实际编写代码时注意添加项目和生成对应的.hex文件

      如有不会的,欢迎私信 

 

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号