AT24C02的使用
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的使用相关推荐
- I2C总线及AT24C02读写实验报告
/************************************************** 实验名称:I2C总线实验一 实验目的:利用定时器产生0~99秒表在数码管前两位显示 每过一秒写入 ...
- at24c16如何划分出多个读写区_读写AT24C02,并用1602显示
#include #include /*********************************LCD定义部分********************************/ //输入方式设 ...
- 【51单片机快速入门指南】4.1: I2C 与 AT24C02 (EEPROM) 的跨页连续读写
目录 硬知识 AT24Cxx 介绍 引脚排列 引脚说明 存储结构 器件寻址 器件操作 待机模式 存储复位 写操作 字节写 页写 应答查询 读操作 当前地址读 随机读 顺序读 示例程序 24C02.c ...
- STM32CubeMx HAL库使用硬件IIC读写AT24C02
介绍使用硬件IIC接口读写AT24C02,STM32自带硬件IIC,比较好用,没必要千篇一律的使用模拟IIC.作为一个IIC的使用例子,可以适当修改用于其他IIC接口设备通信控制. 一.测试环境 ST ...
- 【蓝桥杯单片机】IIC通讯协议与EEPROM(AT24C02)(官方驱动源码改写)
实验开发板为CT107D蓝桥官方板,编译环境为MDK5 由蓝桥官方驱动改写 AT24C02: AT24C02为地址可编程器件(CT107D可编程位均为0),因此可于总线上挂载多个相同的器件. 最后一位 ...
- Linux驱动开发-编写(EEPROM)AT24C02驱动
1. 前言 AT24C02是IIC接口的EEPROM存储芯片,这颗芯片非常经典,百度搜索可以找到非常多的资料,大多都是51.STM32单片机的示例代码,大多采用模拟时序.裸机系统运行.当前文章介绍在L ...
- STM32基于HAL工程硬件I2C读写AT24C02/04/08数据
STM32基于HAL工程硬件I2C读取AT24C02数据 ✨申明:本文章仅发表在CSDN网站,任何其他网站,未注明来源,见此内容均为盗链和爬取,请多多尊重和支持原创!
- firefly-rk3288开发板Linux驱动——AT24C02 E2PROM驱动
一.Linux I2C设备体系 Linux源码中I2C驱动目录介绍: 目录/文件 介绍 i2c-core.c I2C核心功能以及proc/bus/i2c*接口 i2c-dev.c I2C适配器的设备文 ...
- AT24C02数据存储
介绍:AT24C02/04/08/16/32/64内含带电可擦除,断电不丢失的存储器E2PROM. 通讯接口:I2C总线 一.字节写:将数据写入E2PROM中的字地址中.(连续写的周期为5ms) 数据 ...
- (十一)51单片机——用AT24C02实现存储秒表数据(附成果展示)
目录 存储器 RAM ROM 存储器简化模型 AT24C02介绍 引脚及应用电路 内部结构框图 I2C总线 I2C总线介绍 I2C电路规范 I2C时序结构 起始条件 终止条件 发送一个字节 接受一个字 ...
最新文章
- numpy使用diagonal函数和sum函数计算矩阵的迹(trace)、使用T函数对矩阵进行转置(transpose matrix)
- Python 技术篇-20行代码实现微信机器人斗图功能实例演示!斗图啦官网API调用方法
- 2018年区块链技术发展总结与展望(附报告全文) | 起风研究院
- JS快速获取图片宽高的方法
- mysql压力写入测试_mysql压力测试工具
- python快速接手别人的代码_十步教你如何接手别人的代码!
- Oracle 的 Sql*Plus 常用命令介绍
- Item 22. 模板方法与曲线救国(Template Method)
- jfinal使用配置文件注意事情
- wps专业增强版_Win干货 | WPS专业版永久破戒使用
- SpringBoot Mongo 动态分表 动态修改表名
- Java开发面试简历这么写,命中率达70%
- 标注线段长度批量lisp_晓东CAD家园-论坛-每日插件-求批量多线段长度标注-求批量多线段长度标注插件!万分感谢!!! - Powered by Discuz!...
- 实例检索︱图像的实例搜索(文献、方法描述、商业案例)
- Atitit.js javascript异常处理机制与java异常的转换 多重catc hDWR 环境 .js exception process Vob7...
- 【无标题】汇编实现从键盘输入并输出
- 机考怎么作弊_电脑上考试如何作弊 电脑上考试不能复制粘贴怎么办
- Python模拟超级大乐透随机选号
- 基于SSM的农产品交易平台设计
- [Hive基础]-- Hive table 的压缩方式和存储格式
热门文章
- 刘芳计算机学院,刘芳,女,1983年生,天津工业大学计算机与软件学院讲师.PDF
- 什么是PHP无限级分类
- 洛谷P1726 上白泽慧音
- 交往实践视域中的2018CPCI检索一般多久与德性
- 西藏2021高考成绩排名查询,2021年西藏高考成绩排名表,西藏高考成绩排名顺序查询...
- stm32f103系列SysTick定时器
- Linux 多线程下载工具 axel 下载加速器
- 为何游戏公司青睐工作室制度?
- 三分钟构建自动化运维平台-nightingale(夜莺)
- 戴森球计划 超级计算机,戴森球计划steam版