1.支持多设备连接,多主机,多从机
2.SDA:数据线,发送收发数据
SCL:时钟线,实现数据同步
3.每一个连接在总线的设备都有一个地址,通过地址来访问设备
4.总线有上拉电阻,当设备空闲时,默认为高阻态
5.多个主设备同时使用时,通过总裁方式决定那个主设备占用总线
6.传输模式,有100KB/S, 400KB/S, 3.4MB/S(暂不支持)
7.连接在总线上的设备数,受总线电容400PF限制
主机:启动和发送数据传输
SCL为高电平时,要求SDA稳定。SCL为低电平时,SDA允许数据变化
以字节为单位发送
SCL为高电平,SDA下降时,为起始信号。SDA上升时,为终止信号。起始信号,终止信号是主机控制,在起始终止信号中间,就是总线被占用状态。
发送起始信号后,主机发送数据给从机,,,非应答时,数据发送接收,应答时,数据继续发送
ps:从机发送给主机信号和上述过程一致,方向相反
R/W非 :是方向位
R/W=0时,W非是向从机写数据(主机向从机写数据)
R/W=1时,R是从主机读取数据(从机向主机读数据)
主机选择从机时,通过从机地址选择从机,通过R/W非 选择方向(是主机->从机 or 从机->主机)
从机地址由固定地址+可编程程序组成,可编程部分限制主机能控制多少个从机。如,4+3,则可编程部分为3,即2的3次方,共能控制8个从机
注:A是应答信号,如果有应答信号,A,就继续发送。(如果是非应答,A非,就停止发送)
灰色框框是主机产生的信号,灰色框框是从机产生的信号
实现数据传输时,推荐使用IO模拟数据通信。因为所有单片机IO口都是通用的,方便代码程序的通用
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为时钟
左图为PZ2-4(管脚固定) 右图为PZ5-7
注:单片机默认有上拉电阻,所以,PZ2-4的上拉电阻省略
即,系统运行,数码管显示右三位的000,然后按K3,变为001....按K1,则将此时数码管的值录用到EEPROM中,录入之后,即使断电,也会保存, 此时按下K2,则会读取EEPROM中的值, 按下K4,则数据清零,最大能写入数据是255(u8类型)
推荐创建多文件。优点:主函数代码不会过长,某一部分代码需要修改,修改简单。每一部分代码均可再次使用。(App Obj Public User)
注:由于代码过长,只展现图片,实际编写代码时注意添加项目和生成对应的.hex文件
如有不会的,欢迎私信