当前位置: 首页 > news >正文

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”。

总结

蒜鸟,蒜鸟,你学不赢它滴

相关文章:

  • 在PBiCGStab(Preconditioned Bi-Conjugate Gradient Stabilized)算法中处理多个右端项的block版本
  • Github Action部署node项目
  • 论文阅读笔记——ROBOGROUND: Robotic Manipulation with Grounded Vision-Language Priors
  • 一个基于Asp.Net Core + Angular + Bootstrap开源CMS系统
  • 【离线安装python包的方法】
  • Nginx 安全防护与 HTTPS 部署
  • 【基础】Python包管理工具uv使用教程
  • Linux远程管理
  • HHsuite3 的 HHblits 和 HHsearch比较
  • 【上位机——MFC】单文档和多文档视图架构
  • TestStand API 简介
  • 猿人学web端爬虫攻防大赛赛题第7题——动态字体,随风漂移
  • 本地文件批量切片处理与大模型精准交互系统开发指南
  • C# 使用SunnyUI控件 (VS 2019)
  • UE5 渲染思路笔记(角色)
  • Java学习手册:分库分表策略
  • UE5 诺伊腾动捕使用笔记
  • 欧拉系统(openEuler)上部署OpenStack的完整指南 ——基于Yoga版本的全流程实践
  • 【LDM】视觉自回归建模:通过Next-Scale预测生成可扩展图像(NeurIPS2024最佳论文阅读笔记与吃瓜)
  • 打造智慧养老实训室,构建科技赋能养老新生态
  • 哥伦比亚总统称将在访华期间签署“一带一路”倡议意向书,外交部回应
  • 外交部发言人就当前印巴局势答记者问
  • 马克思主义理论研究教学名师系列访谈|鲍金:给予学生一碗水、自己就要有一桶水
  • 呼和浩特65户业主被一房两卖,十年诉讼却难胜
  • 同为“东部重要中心城市”后交出首份季报:宁杭苏表现如何?
  • 外交部:中方和欧洲议会决定同步全面取消对相互交往的限制