zhange 发表于 2024-5-21 13:50:48

stc32链接AT24C02存储芯片记录

本帖最后由 zhange 于 2024-5-22 06:45 编辑

1楼留着:有时间了录视频





成功 代码在18楼

zhange 发表于 2024-5-21 13:54:59

本帖最后由 zhange 于 2024-5-21 13:56 编辑

先看说明书


1.每个eeprom都有7位地址




注意前四位是固定的,a2 a1 a0 根据连接的io脚电平决定 最后一位是读写位。24c02有7位的地址。



说明书:

zhange 发表于 2024-5-21 13:58:35

本帖最后由 zhange 于 2024-5-21 15:57 编辑

2.实验箱上的24c02连接图 可以看出这个器件的地址为1010000   发送命令的时候最后一位地址用来表示R/W,1表示R,0表示W。

看图地址脚全部接的地




zhange 发表于 2024-5-21 16:17:15

本帖最后由 zhange 于 2024-5-21 16:34 编辑

3.24C02器件按8字节/页执行页写一次只能写8个字节超过的循环覆盖都是在当前页



接收到每个数据后,字地址的低3位(24C02)或4位(24C04/08/16)或5位(24C32/64)内部自动加1,高位地址位不变,维持在当前页内。当内部产生的字地址达到该页边界地址时,随后的数据将写入该页的页首。如果超过8个(24C02)或16个(24C04/08/16)或32个(24C32/64)数据传送给了EEPROM,字地址将回转到该页的首字节,先前的字节将会被覆盖。


zhange 发表于 2024-5-21 16:49:58

本帖最后由 zhange 于 2024-5-21 18:39 编辑

3.总容量为2k 单位为位1k为1024位   




还不会换算、。。。。。。。。。。
在计算机术语中,1千字节(Kilobyte, KB)通常是指2的10次方,即1024字节(Byte)。所以1KB = 1024 bytes。同样,1兆字节(Megabyte, MB)= 1024 KB,1吉字节(Gigabyte, GB)= 1024 MB,以此类推。请注意,有时候,特别是在硬盘容量的标注中,可能会采用另一个定义,即1KB = 1000 bytes(这就是常说的"千"进制的KB,但这是非标准的)。但在计算机科学的标准定义中,1K始终等于1024 bytes。


zhange 发表于 2024-5-21 17:01:54

4.用电的东西为啥都叫电气特性???





soma 发表于 2024-5-21 17:12:01

24c02为2048bit为256byte

zhange 发表于 2024-5-21 18:39:32

soma 发表于 2024-5-21 17:12
24c02为2048bit为256byte

谢了刚看到   

zhange 发表于 2024-5-21 19:34:33

本帖最后由 zhange 于 2024-5-21 20:05 编辑

5.起始信号

数据和时钟线都为高则称总线处在空闲状态。当SCL为高电平时SDA的下降沿(高到低叫做起始条件(START,简写为S),SDA的上升沿(低到高)则叫做停止条件(STOP,简写为P)。




函数书写 注意这样写不行看下边

void iicStart(void)      //开始
{
      SCL = 1;
      SDA      = 1;
      Delay2us();
      SDA      = 0;
      Delay2us();
}


void iicStop(void)                //结束
{
      SCL = 1;
      SDA      = 0;
      Delay2us();
      SDA      = 1;
      Delay2us();
}


按照手册写的启动停止竟然不行,得按照stc32单片机iic协议写


void iicStart(void)      //开始
{
      SCL = 1;
      SDA      = 1;
      Delay2us();
      SDA      = 0;
      Delay2us();
      SCL = 0;
      Delay2us();
}


void iicStop(void)                //结束
{
      SCL = 0;
      SDA      = 0;
      Delay2us();
      SCL = 1;
      Delay2us();
      SDA      = 1;
      Delay2us();
}




zhange 发表于 2024-5-21 19:36:11

soma 发表于 2024-5-21 17:12
24c02为2048bit为256byte

老哥问下6楼的那个图写周期啥意思???看不懂了
页: [1] 2
查看完整版本: stc32链接AT24C02存储芯片记录