『51单片机』AT24C02[IIC总线]

news2024/11/26 2:29:45

存储器的介绍 

ROM的功能⇢ROM的数据在程序运行的时候是不容改变的,除非你再次烧写程序,他就会改变,就像我们的书本,印上去就改不了了,除非再次印刷,这个就是ROM的原理。

注→在后面发展的ROM是可以可写可读并且是可以达到掉电不丢失的(但是它名字还是ROM)

🍎存放单片机工作时的程序,单片机在上电工作的时候,程序指令制导单片机完成设定的功能。没有ROM存储器,单片机是不能够进行工作的。
RAM的功能⇢RAM就是在程序运行中,数据会随时改变的,就像我们的黑板,写上了可以擦,擦完再写上去,相当于程序运行的时候,调用ROM里面的数据进行各种运算。

🍏数据存储器(RAM)存储单片机运行期间所需要的数据和临时生成的数据是需要能够快速读出和写入数据的。此类存储器在掉电之后,存储的数据会丢失,并不能永久保存。

PROM:只能写入一次,第一次写好以后就一直是这个数据了不能被修改(一次性)

EPROM:PROM的升级版本。

E2PROM:AT24C02也是E2PROM。

RAM的优势⇢存储速度特别快。缺点⇢掉电丢失。

ROM的优势⇢掉电不丢失。缺点⇢存储比较慢速度更不上。

🍎综上所示⇢所以我们是需要这两者相互结合。

我们需要高速存储的使用就放进到RAM程序运行的时候都是存储在RAM里面,然后我们需要永久保存的时候就使用ROM存储。我们就很好的利用这两个存储器的长处。

存储单元

🍊说明⇢任何计算系统都需要两种类型的存储器→程序存储器和数据存储器。程序存储器,顾名思义,包含程序,即要由CPU执行的指令。另一方面,数据存储器需要在执行指令时存储临时数据。通常,程序存储器是只读存储器或ROM数据存储器是随机存储器或RAM。数据存储器有时也称为读写存储器(R/WM)

存储器的简化模型

注→上述右图的二极管[单向导电性]是防止对其它行产生干扰作用抑制干扰方式。

注→PROM之所以称之为:一次性编程是因为蓝色的二极管很容易被击穿,击穿之后就相当于短路了。而没有击穿就相当于是断开。

存储器在电路内部实际上都是一个网状结构。其中横向的线我们可以称之为是地址总线就是用来选择哪一位线就是哪一位地址,而下面这个线(纵向)就是我们的数据总线。

假设⇢我们选择了第一行给了一个高电平("1")剩下的我们暂时不接。然后我们把这些网格交错的地方第一个第二个第三个节点给连接上,剩下的都不进行连接。那么我们在读取下面的这个⑧位的数据总线上就是:第一个、第二个、第三个节点连接上了就从纵向下来就是("1")后面的线没有进行连接那么它就是一个悬空的状态可以暂时把它当作是("0")

那么这里存储的数据就是:1 1 1 0 0 0 0 0 注意这是第一行存储的数据。那么第二行实际上也是一样的。

如上↑便是存储器存储的最基本的原理。

重点⇢存储器是一种网格形式、左边给个地址下面就可以输出数据。

重点说明⇢这个地址一次只能选中一行(全体目光向我看齐😛)所以一般在地址总线之前我们都会加一个译码器(138译码器)

AT24C02

AT24C02是一种可以实现掉电不丢失的存储器。

可用于保存单片机运行时想要永久保存的数据信息。

例:就像我们单片机在运行时候的参数吖~像温度传感器高于某一个设定的阈值会报警,然后这个阈值还是可以调节的,然后把它调节好的时候就可以存进AT24C02。当下次断电再重启的时候你就是可以读取之前的数据了用作于这个。  

存储介质→E2PROM。

通讯接口→I2C总线。

容量→256字节。

引脚以及应用电路⒎脚WP(高电平有效)

在计算机运行中,有些信息只允许使用而不允许修改,就要对存储这些信息的区域采取保护措施,这种保护措施称为写保护。即对该存储区的信息只允许读出以被使用,但不允许写入以防止破坏。在上述的应用电路当中我们是给它接地的。

★注→I2C硬件接口是开漏模式,这个接口只能输出低电平,要实现高电平就要靠上拉电阻去拉高。 

内部结构框图

I2C(IIC)总线介绍

  • I2C总线(Inter IC BUS)是由Philips公司开发的一种通用数据总线。
  • 两根通信线⇢SCL(Serial Clock) & SDA(Serial Data)
  • 拓展⇢SCL控制线[时钟线](同步)通信双方靠一根时钟线来约定通信速率SDA(数据线)
  • 同步、半双工,带数据应答。
  • 通用的I2C总线,可以使各种设备的通信标准统一,对于厂家来说,使用成熟的方案可以缩短芯片设计周期、提高稳定性,对于应用者来说,使用通用的通信协议可以避免学习各种各样的自定义协议,降低了学习和应用的难度。但是学习I2C还是有一定的学习难度的,但是当你学会了I2C对于要用到它的通信协议来说你又会觉得不那么的难了。 

  1. 显示屏幕(像素点好)
  2. DS3231(精度高)
  3. 陀螺仪自带传感器。

I2C电路规范

  • 所有I2C设备的SCL连在一起以及SDA连在一起。
  • 设备的SCLSDA均要配置成开漏输出模式
  • SCLSDA各添加一个上拉电阻,阻值一般为4.7KΩ左右。
  • 开漏输出和上拉电阻的共同作用实现了“线与”的功能,此设计主要是为了解决多机通信互相干扰的问题。

I2C时序结构

起始条件→[SCL]高电平期间SDA从高电平切换到低电平。

终止条件→[SCL]高电平期间SDA从低电平切换到高电平。

🍎注→在起始条件的时候我们最后还是把SCL给拉低的主要目的是为了能够与最后的终止条件进行一个衔接的状态。保证起始条件的时候SCL最后为低电平。

重点⇢最后的数据帧都是以S为起始P为终止的。

发送一个字节

SCL低电平期间,主机(单片机)将数据位依次放到SDA线上(高位在前)

然后拉高SCL从机(AT24C02)将在SCL高电平期间读取数据位,所以SCL高电平期间SDA不允许有数据变化,依次循环上述过程8(依次从最高位再到最低位),即可发送一个字节。在下述图中那个x代表数据变化的。

🍏注→主机相当于是单片机而AT24C02相当于是从机,在所有的线都是由主机进行控制的。

接收一个字节

SCL低电平期间,从机(AT24C02)将数据位依次放到SDA线上(高位在前)

然后拉高SCL主机(单片机)将在SCL高电平期间读取SDA数据位,同时在SCL高电平期间SDA不允许有数据变化,依次循环上述过程8次,即可接收一个字节。

注⇢主机在接收之前,需要释放SDA。我们把SDA置1就相当于释放,我们从机(AT24C02)是完全不会干预我们的这个通信线的。换言之我们的主机(单片机)释放掉SDA数据线把这个线的控制权交给从机(AT24C02),此时就是从机(AT24C02)拿到了控制权 

发送/接收(应答)

📑IIC它是带有数据应答的,所以当我们在发送一个字节之后需要接收应答。然后接收应答之后就需要发送应

SA发送应答→在接收完一个字节之后,主机在下一个时钟发送一位数据数据0表示应答数据1表示非应答

RA接收应答→在发送完一个字节之后,主机在下一个时钟接收一位数据,判断从机是否应答,数据0表示应答数据1表示非应答(主机在接收之前需要释放SDA=1)

I2C数据帧

向谁→从机AT24C02地址规定的。

发→字节上最后一位的地址来进行决定的。

什么→S:BYTE x 规定的。

🤙发送一帧数据在协议上规定如下所示🤙

开始(起始条件)
发送从机(AT24C02)地址加写
接收应答
发送第一个字节数据
接收应答
发送第二个字节数据
接收应答
.....(直到第N个BYTE,然后接收应答)
结束(终止条件)

🍎注⇢整体和上述的发送一帧数据差不多知识改变了格式。

变成了

发送 变成了 接收

下面是复合格式数据帧。

🍎注→实际上就是发送一帧数据把(Stop)去掉再和接收一帧数据给进行的结合。 

在上述就是AT20C02的读写功能。

字节写:在“字地址”处写入“数据”。

随机读:读出在“字地址”处的“数据”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1652328.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【系统架构师】-UML-用例图(Use Case)

1、概述 用于表示系统功能需求,以及应用程序与用户或者与其他应用程序之间的交互关系。 2、组成 参与者(Actors):与系统交互的用户或其他系统。用一个人形图标表示。用例(Use Cases):系统需要…

scitb5函数2.1版本(交互效应函数P for interaction)发布----用于一键生成交互效应表、森林图

写在前面的话,此函数不适用于NHANES数据,也不能用于COX回归,请注意甄别。 在SCI文章中,交互效应表格(通常是表五)几乎是高分SCI必有。因为增加了亚组人群分析,增加了文章的可信度,能为文章锦上添…

21 使用Hadoop Java API读取序列化文件

在上一个实验中我们筛选了竞赛网站日志数据中2021/1和2021/2的数据以序列化的形式写到了hdfs上。 接下来我们使用Java API 读取序列化的数据保存到磁盘中。 其他命令操作请参考:16 Java API操作HDFS-CSDN博客 1.我直接在上一个项目中test/java目录下创建com.maidu.s…

国内验签的SSL证书!重要数据绝不出境

SSL证书作为保障网络数据传输安全的重要工具,其作用日益凸显。特别是在国内,随着网络安全法的实施与个人信息保护的加强,国内验证签发的SSL证书更是成为企业与个人在线业务不可或缺的一部分。本文将深入探讨国内验签SSL证书的技术原理、验证流…

将 Vue、React、Angular、HTML 等一键打包成 macOS 和 Windows 平台客户端应用

应用简介 PPX 基于 pywebview 和 PyInstaller 框架,构建 macOS 和 Windows 平台的客户端。本应用的视图层支持 Vue、React、Angular、HTML 中的任意一种,业务层支持 Python 脚本。考虑到某些生物计算场景数据量大,数据私密,因此将…

【Mybatis操作数据库】入门(一)

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MyBatis框架】 本专栏旨在分享MyBatis框架的学习笔记,如有错误定当洗耳恭听,欢迎大家在评论区交流讨论&#x1f…

某云eHR PtFjk.mob 任意文件上传漏洞复现

0x01 产品简介 某云eHR是大中型企业广泛采用人力资源管理系统。红海云是国内顶尖的HR软件供应商,是新一代eHR系统的领导者。 0x02 漏洞概述 某云EHR系统PtFjk.mob接口处存在未授权文件上传漏洞,攻击者可上传webshell来命令执行,获取服务器权限。 0x03 复现环境 FOFA:b…

男士内裤什么材质的好?五款材质舒适的男士内裤品牌

男士内裤目前已经有非常多的选择,三角/平角、传统面料/功能面料、设计版型等等都五花八门,所以不少男性朋友在挑选内裤时都觉得选择过多,另人难以选择,同时还担心选到一些质量不好的内裤,舒适性不仅差而且对健康有影响…

已解决-你需要trustedinstaller权限才能执行此操作

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.解决方法 一.前言 我想删除C:\Windows\System32\drivers文件夹下面的内容,可是报错: 怎么办呢? 二.解决方法 右键要删除的文件

【自动驾驶|毫米波雷达】逻辑化讲解测角全流程

第一次更新:2024/5/7 目录 一. 引入 基础概念 二. 测角原理 1. 接收天线不同位置 2. 角度几何关系 3. 角度正负规定 4. 角度测量 5. 最大不模糊角 三. 角度分辨率 1. 相位变化量 2. 角度表示 3. 角度变化量 三. 测角算法 1. 三维快速傅里叶变换 (3D-FFT&…

视频号创作者分成4.0,软件无脑原创,轻松过分成计划,日入600+

详情介绍 今天给大家带来的项目是《视频号创作者分成4.0,软件无脑原创,轻松过分成计划,日入600》

在Mars3d实现cesium的ImageryLayer自定义瓦片的层级与原点

需要自定义瓦片层级和原点,所以需要自己写第三方图层,但是之前写的很多方法,图层控制和显隐以及透明度,需要跟之前的交互一直,改动量太大的话不划算,所以直接看Mars3d的layer基类,把重写的image…

定时任务还可以这么玩--基于SpringBoot中的ThreadPoolTaskScheduler实现动态定时任务

Hi,大家好,我是抢老婆酸奶的小肥仔。 最近做了一个需求:将定时任务保存到数据库中,并在页面上实现定时任务的开关,以及更新定时任务时间后重新创建定时任务。 于是想到了SpringBoot中自带的ThreadPoolTaskScheduler。 在Spring…

华为OD机试 - 找磨损度最高和最低的硬盘 - 优先队列(Java 2024 C卷 100分)

华为OD机试 2024C卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷C卷)》。 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试…

Linux中的软连接和硬链接

一、软和硬链接连接 在Linux系统中,软连接(符号链接)和硬链接是文件系统中两种不同类型的链接,它们用于创建对文件的引用。下面详细解释这两种链接的特点和区别:、 软连接(符号链接) 定义&…

The 2021 Sichuan Provincial Collegiate Programming Contest

The 2021 Sichuan Provincial Collegiate Programming Contest The 2021 Sichuan Provincial Collegiate Programming Contest A. Chuanpai 题意:给出总值k,将k分成xyk,x和y均小于7,最多分成多少组。 思路:暴力跑一…

MATLAB画图,重磅教程MATLAB的美图及强大的绘图功能|

目录 1.plot() 函数: 2.scatter() 函数: 3.histogram() 函数: 4.bar() 函数: 5.plot3() 函数: 6.imshow() 函数: 7.surf() 函数: 福利:免费送资料 MATLAB(Matrix…

Tcl学习笔记(四)——流程控制、过程、命名空间、访问文件

1. 流程控制 if命令 if命令后跟两个参数:表达式、待执行的Tcl脚本。if命令中的每一个左大括号都必须与它前一个字符同行。 有elseif和else可选子句,使用时与if中第二个参数的右大括号放在同一行。 switch命令 switch命令利用一个给定值与多个模式进行匹…

crossover不能生成容器 无法创建容器怎么办

CrossOver不能生成容器,我们应该先了解什么是容器,容器是盛放类虚拟机——CrossOver在macOS系统和Linux系统下载的win版软件的器皿。无法创建容器怎么办?无法创建多数情况是macOS系统与CrossOver不兼容所造成的。 首先,我们将介绍…

护眼台灯什么牌子好一点?五款专业护眼灯品牌排行分享

台灯作为家庭中不可或缺的桌面照明设备,在儿童和青少年的学习生活中扮演着至关重要的角色。对于这个年龄段的孩子来说,台灯的选择尤为关键,因为不恰当的照明可能对他们娇嫩的视力造成损害。护眼台灯什么牌子好一点?家长们在挑选台…