1.简介

AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节。AT24C02有一个8字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。

2.分析

参考博客:https://blog.csdn.net/qq_38693598/article/details/86521264

2.1AT24C02引脚

AT24C02的话,就是存储单元有2K位,即0.25K字节=256字节,寻址范围为0~255,寻址地址位数就有8位。

AT24C04的话,就是存储单元有4K位,即0.5K字节=512字节,寻址范围为0~511,寻址地址位数就有9位

AT24C08的话,就是存储单元有8K位,即1K字节=1024字节,寻址范围为0~1023,寻址地址位数就有10位。

以此类推。。。

2.2寻址方式

操作时有两种寻址方式:片寻址和存储单元寻址。
(1)片寻址:AT24C02的芯片地址为1010,其地址控制字格式为1010A2A1A0R/W。其中A2,A1,A0可编程地址选择位。A2,A1,A0引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。R/W为芯片读写控制位,该位为0,表示芯片进行写操作;该位为1,表示芯片进行读操作。
(2)存储单元寻址:芯片寻址可对内部存储单元256B中的任一个进行读/写操作,其寻址范围为00~FF,共256个寻址单位。

2.3代码解析

IIC只能一次传送8位但是AT24C04/08等芯片的存储单位地址不止8位。所以需要存储单元多出的几位地址要占用片寻址的A0~A2。

比如:由上面可知,AT24C08有10位地址,所以要占用片寻址的2位。

当ReadAddr超过256字节时,ReadAddr/256就会得到a9a8值。写成10位地址就是0000 0000 a9a8,左移一位就是0000 000a9 a80,刚好对应片地址1010 A2a9a8R/W。

所以IIC_Send_Byte(0XA0+((ReadAddr/256)<<1))  //发送器件地址0XA0+存储单元高位地址

IIC_Send_Byte(ReadAddr%256);   //发送存储单元低位地址

2.4时序

AT24C02的使用相关推荐

  1. I2C总线及AT24C02读写实验报告

    /************************************************** 实验名称:I2C总线实验一 实验目的:利用定时器产生0~99秒表在数码管前两位显示 每过一秒写入 ...

  2. at24c16如何划分出多个读写区_读写AT24C02,并用1602显示

    #include #include /*********************************LCD定义部分********************************/ //输入方式设 ...

  3. 【51单片机快速入门指南】4.1: I2C 与 AT24C02 (EEPROM) 的跨页连续读写

    目录 硬知识 AT24Cxx 介绍 引脚排列 引脚说明 存储结构 器件寻址 器件操作 待机模式 存储复位 写操作 字节写 页写 应答查询 读操作 当前地址读 随机读 顺序读 示例程序 24C02.c ...

  4. STM32CubeMx HAL库使用硬件IIC读写AT24C02

    介绍使用硬件IIC接口读写AT24C02,STM32自带硬件IIC,比较好用,没必要千篇一律的使用模拟IIC.作为一个IIC的使用例子,可以适当修改用于其他IIC接口设备通信控制. 一.测试环境 ST ...

  5. 【蓝桥杯单片机】IIC通讯协议与EEPROM(AT24C02)(官方驱动源码改写)

    实验开发板为CT107D蓝桥官方板,编译环境为MDK5 由蓝桥官方驱动改写 AT24C02: AT24C02为地址可编程器件(CT107D可编程位均为0),因此可于总线上挂载多个相同的器件. 最后一位 ...

  6. Linux驱动开发-编写(EEPROM)AT24C02驱动

    1. 前言 AT24C02是IIC接口的EEPROM存储芯片,这颗芯片非常经典,百度搜索可以找到非常多的资料,大多都是51.STM32单片机的示例代码,大多采用模拟时序.裸机系统运行.当前文章介绍在L ...

  7. STM32基于HAL工程硬件I2C读写AT24C02/04/08数据

    STM32基于HAL工程硬件I2C读取AT24C02数据 ✨申明:本文章仅发表在CSDN网站,任何其他网站,未注明来源,见此内容均为盗链和爬取,请多多尊重和支持原创!

  8. firefly-rk3288开发板Linux驱动——AT24C02 E2PROM驱动

    一.Linux I2C设备体系 Linux源码中I2C驱动目录介绍: 目录/文件 介绍 i2c-core.c I2C核心功能以及proc/bus/i2c*接口 i2c-dev.c I2C适配器的设备文 ...

  9. AT24C02数据存储

    介绍:AT24C02/04/08/16/32/64内含带电可擦除,断电不丢失的存储器E2PROM. 通讯接口:I2C总线 一.字节写:将数据写入E2PROM中的字地址中.(连续写的周期为5ms) 数据 ...

  10. (十一)51单片机——用AT24C02实现存储秒表数据(附成果展示)

    目录 存储器 RAM ROM 存储器简化模型 AT24C02介绍 引脚及应用电路 内部结构框图 I2C总线 I2C总线介绍 I2C电路规范 I2C时序结构 起始条件 终止条件 发送一个字节 接受一个字 ...

最新文章

  1. numpy使用diagonal函数和sum函数计算矩阵的迹(trace)、使用T函数对矩阵进行转置(transpose matrix)
  2. Python 技术篇-20行代码实现微信机器人斗图功能实例演示!斗图啦官网API调用方法
  3. 2018年区块链技术发展总结与展望(附报告全文) | 起风研究院
  4. JS快速获取图片宽高的方法
  5. mysql压力写入测试_mysql压力测试工具
  6. python快速接手别人的代码_十步教你如何接手别人的代码!
  7. Oracle 的 Sql*Plus 常用命令介绍
  8. Item 22. 模板方法与曲线救国(Template Method)
  9. jfinal使用配置文件注意事情
  10. wps专业增强版_Win干货 | WPS专业版永久破戒使用
  11. SpringBoot Mongo 动态分表 动态修改表名
  12. Java开发面试简历这么写,命中率达70%
  13. 标注线段长度批量lisp_晓东CAD家园-论坛-每日插件-求批量多线段长度标注-求批量多线段长度标注插件!万分感谢!!! - Powered by Discuz!...
  14. 实例检索︱图像的实例搜索(文献、方法描述、商业案例)
  15. Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception process Vob7...
  16. 【无标题】汇编实现从键盘输入并输出
  17. 机考怎么作弊_电脑上考试如何作弊 电脑上考试不能复制粘贴怎么办
  18. Python模拟超级大乐透随机选号
  19. 基于SSM的农产品交易平台设计
  20. [Hive基础]-- Hive table 的压缩方式和存储格式

热门文章

  1. 刘芳计算机学院,刘芳,女,1983年生,天津工业大学计算机与软件学院讲师.PDF
  2. 什么是PHP无限级分类
  3. 洛谷P1726 上白泽慧音
  4. 交往实践视域中的2018CPCI检索一般多久与德性
  5. 西藏2021高考成绩排名查询,2021年西藏高考成绩排名表,西藏高考成绩排名顺序查询...
  6. stm32f103系列SysTick定时器
  7. Linux 多线程下载工具 axel 下载加速器
  8. 为何游戏公司青睐工作室制度?
  9. 三分钟构建自动化运维平台-nightingale(夜莺)
  10. 戴森球计划 超级计算机,戴森球计划steam版