51单片机入门教程——AT24C02(I2C 总线)
前言
本教程基于B站江协科技课程进行个人学习整理,专为拥有C语言基础的零基础入门51单片机新手设计。既帮助解决因时间差导致的设备迭代调试难题,也助力新手快速掌握51单片机核心知识,实现从C语言理论到单片机实践应用的高效过渡 。
目录
前言
知识储备
1.储存器介绍
1.RAM
1.SRAM
2.DRAM
2.ROM
1.Mask ROM
2.PROM
3.EPROM
4.E2PROM
5.Flash
6.硬盘、软盘、光盘等
编辑2.存储器简化模型
1.简介
地址总线
数据总线
例:
存储器存储的基本原理
2.Mask ROM
3.PROM
4.“烧录”的由来
5.熔丝
6.EPROM
7.E2PROM
3.AT24C02介绍
4.引脚及应用电路
5.内部结构图
1
2
3
4
5
6.I2C总线介绍
7.I2C电路规范
当CPU想发送数据“1”给从设备时
当CPU想发送数据“0”给从设备时
总结
知识储备
1.储存器介绍
RAM
全称“Random Access Memory”,直译“随机存取存储器”
优点:存储速度快
缺点:掉电丢失数据
ROM
全称“Read-Only Memory”,直译“只读存储器”
优点:掉电不丢失数据
缺点:存储速度慢
1.RAM
1.SRAM
1.采用电路结构来存储数据
2.所有存储器中,存储速度最快
3.一般用在电脑CPU的高速缓存中
4..缺点:容量小,成本高
2.DRAM
1.通过电容的充放电来存储数据。
2.由于要实现高集成度,单个电容的容值被设计得很小,而电容本身具有漏电的物理特性,在这种 情况下,容值小使得电容存储的电量有限,一旦存储数据后,电容的电量会因漏电较快流失,进 而导致数据丢失。
为解决这一问题,DRAM需要配备扫描电路。该电路会每隔一段时间读取DRAM中的数据,并对 电容进行补电操作,通过这种周期性刷新的方式,及时补充因漏电而损耗的电能,以确保数据的 完整性。
正因这种需要不断动态刷新数据的特性,此类存储器被称为DRAM
3.相比SRAM,DRAM的成本更低,容量更大
4.电脑中的内存条就是DRAM,手机中的运行内存也是DRAM
2.ROM
1.Mask ROM
1.是最早出现的ROM类型
2.采用电路结构来存储数据
3.Mask ROM在芯片制造过程中,通过掩模工艺将数据以特定的电路连接方式固化其中。一旦芯片 制造完成,其内部电路结构便固定下来,存储的数据也随之确定,无法再进行修改。
这种特性使得它具有非易失性,即使断电,第二天数据依然能完整保存。
同时,由于其电路结构不可更改,Mask ROM仅支持数据读取操作,无法进行写入,因此被称为 只读存储器 。
2.PROM
1.Mask ROM的儿子
2.采用电路结构来存储数据
3.PROM相较于Mask ROM,在数据写入方面实现了突破,具备了可写入性。
PROM在出厂时内部存储单元处于初始状态(通常为全“0”或全“1”),用户可根据实际需求,使 用特定的编程设备向其写入数据。
不过,PROM的数据写入具有一次性的特点,一旦完成首次写入操作,内部存储单元的状态就会 被永久性固定,后续无法再进行修改,写入的数据将始终保持不变,只能被读取。
3.EPROM
1.PROM的升级版
2.采用电路结构来存储数据
3.EPROM在生产完成后,用户可使用特定设备对其进行编程写入数据。
与PROM不同,EPROM具备数据清除功能,能将存储内容恢复至编程前的初始状态。这就好比 用铅笔在白纸上书写,字迹可通过橡皮擦除,EPROM的数据也能被擦除后重新写入 。
不过,EPROM的擦除过程较为特殊,需借助紫外线照射。
其芯片中间设有一个透明石英窗口,出厂时通常会覆盖一层黑色贴纸保护。
当需要擦除数据时,揭开贴纸使窗口暴露,用紫外线灯管近距离照射芯片30分钟左右,芯片内 浮 栅晶体管中存储的电荷会因紫外线光子能量而释放,从而完成数据擦除,以便进行新一轮编 程操作。
这种独特的擦除方式和芯片外观特征,也成为了EPROM区别于其他存储器的重要标志。
4.早期的单片机有采用EPROM,但远远没有我们现在使用的单片机方便
4.E2PROM
1.EPROM的儿子
2.采用电路结构来存储数据
3.E2PROM在数据擦除方面展现出显著优势。
与EPROM需要借助紫外线照射长达30分钟才能完成擦除不同,E2PROM仅需在5V低电压环境 下,通过程序控制,几毫秒内即可实现数据擦除,极大地提升了使用便捷性,因此在开发板中得 到广泛应用。
然而,尽管操作简便,E2PROM的应用范围在其他领域却相对有限。
这主要归因于其自身存在的局限性:
一方面,E2PROM的存储容量通常较小,难以满足一些对大容量存储有需求的场景;
另一方面,随着技术发展,Flash存储器凭借更高的存储密度、更快的读写速度以及更低的成本 等优势,逐渐成为市场主流,相比之下,E2PROM在性能和成本上的竞争力明显不足,限制了 其更广泛的应用。
4.本文的AT24C02就是一种E2PROM
5.Flash
1.现代应用非常广泛的一种存储介质
2.采用电路结构来存储数据
3.单片机程序的存储器、U盘、电脑的固态硬盘、手机的存储通常都使用Flash
6.硬盘、软盘、光盘等
1.传统的电脑机械硬盘靠磁介质来存储数据
2.软盘通过磁介质存储数据,曾作为早期电脑的A盘、B盘使用。但因其容量小、读写慢、易损坏 等缺陷,已被淘汰。
3.光盘利用光信号存储数据,应用于数据存储备份、音乐与视频播放、软件安装以及教育资源存储 等领域。
2.存储器简化模型
内部为网状结构(网格交错的节点不是连接的)
1.简介
地址总线
8根
通过电平信号选中其中一根地址线
特性:每次只能选中一行
在地址总线之前会加一个译码器,可以把多位数据,变成只有一位被选中的输出数据,再被地址总线接收并执行
在译码器之前的多位数据,就是实际的地址
数据总线
8根
下端输出数据
例:
首先将第一行第一个节点、第二个节点、第三个节点连上
地址总线执行译码器发送的数据“1000 0000”,选中第一行
那么输出总线输出数据“1110 0000”
存储器存储的基本原理
可以通过这种简化模型来理解。
在这个模型中,横竖交错的节点是关键。
通过控制这些节点的连接(短路)和断开(断路)状态来存储数据。
当节点处于断开状态时,意味着对应位置存储的数据为“0” ,此时数据总线输出的就是“0” 。
而若要实现节点短路来存储“1” ,不能简单地直接将交错节点相连。
因为直接连接会导致行与行之间相互干扰。例如,当选中第二行时,若第一行的节点已连接,可能会通过这些连接节点影响其他位的数据。
为避免这种干扰,可在节点处接入二极管。
接入二极管后,当高电平从正确方向输入时能够顺利通过,实现短路效果以存储“1” 。
同时,由于二极管具有反向截止特性,能阻止其他地方的高电平串入,从而有效防止其他行对当前行的干扰,保障数据存储与读取的准确性。
2.Mask ROM
Mask ROM在生产时,需由用户向厂家提供数据表,明确存储需求。
例如,若数据表指定“第一行前三个节点连接”,厂家便会在制造过程中,在第一行前三个横竖交错节点处添加二极管,构建导通电路;而该行其余节点则保持断开状态,不做额外处理。
整个制造完成后,芯片内部的电路结构和存储内容便被固定下来,无法进行更改。
3.PROM
PROM采用独特的结构实现数据可编程。
在PROM中,每个横竖交错节点都由两个二极管以头对头的方式相连。这种连接使得电流无论从哪个方向都无法通过,在初始状态下,相当于所有节点均处于断路状态。
其中,蓝色二极管具有特殊的电学特性。正常情况下,二极管遵循反向截止的规律,但当施加的反向电压超过其耐压阈值时,二极管会被击穿。一旦击穿,原本截止的二极管就会转变为短路状态,从而实现从断路到短路的转变,这正是PROM实现编程的核心机制。
在PROM编程时,通过在存储单元左侧施加高电压(例如24V),并将对应的数据总线接地,使得蓝色二极管两端产生高达24V的反向电压。此时,二极管会被击穿,节点转变为短路状态,类似于Mask ROM中节点连接的效果;而未被施加高电压的二极管则保持断路状态。通过逐行选中并施加高电压,即可将数据按照需求编程到PROM中。
由于蓝色二极管被击穿后无法恢复至初始状态,因此PROM仅支持一次编程操作,这也是其名称“可编程只读存储器”中“一次可编程”特性的由来。
4.“烧录”的由来
在早期的可编程存储器(如PROM)中,数据写入依赖二极管的特殊物理特性。
由于二极管被反向高电压击穿后,其内部结构遭到不可逆破坏,这种击穿现象本质上与“烧毁”类似 。当通过高电压将存储器内特定二极管击穿,从而改变存储单元的电路连接状态以写入数据时,这一过程就形象地被称为“烧录”。
久而久之,“烧录程序”这一术语也被广泛用于指代将程序下载到各类存储器件的操作。
单片机编程时,也有类似的机制。其特定引脚在编程阶段需要接入高电压作为编程电压,该电压的作用就是通过击毁内部对应二极管,实现数据的写入与存储单元状态的改变,从而完成程序的固化。
5.熔丝
熔丝(保险丝)与二极管在电路控制中展现出相似的特性。
正常工作时,二极管处于截止状态,相当于断路;当反向电压超过其耐压值被击穿后,便转变为短路状态。
熔丝同样如此,在正常电流范围内,它保持导通,相当于短路;一旦通过的电流过大,熔丝便会因过热熔断,形成断路。
正是基于二者这种由电流或电压触发、能实现断路与短路状态转换的特性,它们均可应用于编程控制。
在早期的PROM编程领域,衍生出了两种典型的编程方式:
一是利用二极管击穿实现编程的二极管击穿型;
二是借助熔丝熔断来完成编程的熔丝型。
这两种编程类型,通过对器件物理状态的改变,实现数据的存储与写入。
6.EPROM
作为后来发展而出的可擦除可编程只读存储器(EPROM),其原理与材料科学紧密相关。
在EPROM中,二极管的特性有了新的变化。
如同传统情况,二极管被击穿时会改变状态用于存储数据。
但EPROM的特别之处在于,当二极管被击穿后,借助一种特殊材料,能让二极管“恢复如初”。
具体操作是,在二极管击穿完成数据存储后,若要擦除数据,只需用紫外线照射约30分钟,二极管就能恢复到未击穿状态,这个过程就实现了数据擦除功能,这便是EPROM的工作原理。
7.E2PROM
E2PROM在EPROM的基础上进一步革新,将数据擦除与写入的媒介从紫外线替换为电信号。
不同于EPROM需借助紫外线长时间照射来恢复二极管的初始状态,E2PROM通过施加特定的电脉冲,就能直接对存储单元进行擦除和重写操作。
这种基于电信号控制的可逆机制,使得E²PROM在编程后能快速实现数据复原,极大提升了数据修改的便利性与效率,成为兼具灵活性和稳定性的存储解决方案 。
3.AT24C02介绍
1.AT24C02是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据 信息
2.存储介质:E2PROM
3.通讯接口:I2C总线
4.容量:256字节
4.引脚及应用电路
VDD、VSS:电源(1.8V~5.5V)
WP:写保护(低电平有效)
SCL、SDA:I2C接口
A0、A1、A2:I2C地址
5.内部结构图
红框内与I2C接口有关,暂且不看,先看圈外
1
EEPROM的内部电路结构可看成如下图所示
2
蓝色框内的作用:擦除数据
3
蓝色框内
8位实际地址通过X译码器变成只有1位被选中的输出数据,再被存储器的地址总线接收并执行
4
蓝色框内
数据字地址寄存器(Data Word Address Register)
核心作用是管理存储地址。
其内部配置了专门用于存储地址信息的寄存器单元,该单元能够精确记录数据在存储器中的具体位置。
在执行数据写入或读取操作时,寄存器具备自动递增功能,每完成一次读写操作,它便会自动将存储的地址值加1,以此实现对存储器中相邻数据字的顺序访问。
当进行读取操作且未指定具体地址时,数据字地址寄存器将默认输出右侧寄存器所存储地址对应的数据,从而确保数据访问流程的高效与连贯。
5
串行数据选择端
原本是并行的8位数据,通过Y译码器,将它一位一位的通过LOGIC输出
6.I2C总线介绍
1.I2C总线(Inter ICBUS)是由Philips公司开发的一种通用数据总线
2.两根通信线:SCL(Serial Clock)、SDA(Serial Data)
3.同步、半双工,带数据应答
4.通用的I2C总线,可以使各种设备的通信标准统一
对于厂家来说,使用成熟的方案可以缩短芯片设计周期、提高稳定性
对于应用着来说,使用通用的通信协议可以避免学习各种各样的自定义协议,降低了学习和应用 的难度
7.I2C电路规范
1.所有I2C设备的SCL连在一起,SDA连在一起
2.设备的SCL和SDA均要配置成开漏输出模式
3.SCL和SDA各添加一个上拉电阻,阻值一般为4.7千欧左右
4.开漏输出和上拉电阻的共同作用实现了“线与”的功能,此设计主要是为了解决多机通信互相干扰 的问题
左图为I2C电路连接,右图为从设备的内部结构
结合在一起就是开漏输出模式,如下图所示
单独看右边SDA开漏输出模式(蓝框内)
绿框中的装置是一个电子开关,当它左边的DATAN1 OUT给低电平“0”时,电路导通;给高电平“1”时,电路断开。左边的SCL开漏输出模式原理也一样
绿框下面的三角状装置是输入缓存,类似于一个电压表,能够检测交错节点处的电压,然后进行相关操作,它的输出抗阻很大,所以它所在的这条节点右边的线路相当于断路。当节点左边的线路也是断路时,整个设备就不能干扰外界
所以就能做到主设备对从设备一对一的控制
当CPU想发送数据“1”给从设备时
由于SDA配置了上拉电阻,上拉电阻会将SDA线的电平拉高到高电平状态。此时CPU将其对应的引脚设置为高电平输出模式,那么SDA线上就会保持高电平,设备便能接收到高电平“1”信号。
当CPU想发送数据“0”给从设备时
它会将相应的引脚电平设置为低电平。由于SDA线配置了上拉电阻,在没有数据发送或处于空闲状态时,SDA线会被上拉电阻拉高到高电平。当CPU输出低电平时,会拉低SDA线的电平此时设备就能检测到SDA线上的低电平信号,从而接收到数据“0”。
总结
蒜鸟,蒜鸟,你学不赢它滴