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

存储器的介绍 

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.rhkb.cn/news/321796.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ITK配准】第七期 尺度(Metric)- 均方Metric

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK中的均方Metric,即itk::MeanSquaresImageToImageMetricv4,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力…

54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试

工程代码https://download.csdn.net/download/txwtech/89258409?spm1001.2014.3001.5501 54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试 import socket from ohos.net.socket; import process from ohos.process; import wifiManager from ohos.wifiMana…

网络基础(1)详解

目录 1.计算机网络背景 2.网络协议 3.网络中的地址管理 1.计算机网络背景 1.1 网络发展 (1)计算机从独立模式到网络互联(多态计算机连接共享数据)再到局域网LAN(通过交换机和路由器连接)接着是广域网WAN 1.2 协议 协议就是双方的一种约定. 为什么要有协议? 因为在数据长距…

Python专题:一、安装步骤

1、下载地址:Welcome to Python.org 勾选这个add 其他的全部下一步即可。 运行出现这个即代表安装成功。 Python自带编辑器。 2、推荐使用的sublime 编辑器下载 全部下一步安装。

苹果可能将OpenAI技术集成至iOS/iPadOS 18

🦉 AI新闻 🚀 苹果可能将OpenAI技术集成至iOS/iPadOS 18 摘要:苹果正在与OpenAI就将GPT技术部署在iOS/iPadOS 18中进行谈判。这项技术被视为可能增强的Siri功能,即“AI聊天机器人”。除Siri外,新技术还可能改善Spotl…

直播产品实习生实习体验报告,笔灵AI生成模版分享

实习体验报告:直播产品实习生 如果有不同的岗位需要写的话可以去笔灵生成一下 网址:https://ibiling.cn/scene/inex?fromcsdnsx 一、实习背景我是XXX,作为一名直播产品实习生,我在XX公司进行了为期X个月的实习。在这段时间里&…

unreal engine5.3.2 Quixel bridge无法登陆

UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题定位二、解决方法 前言 这几天unreal engine5.3.2 Quixel bridge无法登陆,输入epic 账号和密码,然后在输入epic发送的验证码,总是提示登录失败。就算是使用科学上网依然无法登录。而且…

高企文档电子章怎么盖

为高企(高新技术企业)文档加盖电子章,需要遵循一套专业的流程,确保电子章的合法性和安全性。以下是详细的步骤: 准备电子章实体印章的数字化: 将企业的实体印章通过扫描或高清拍照的方式转换为电子格式&…

当前主机使用的磁盘以及带宽情况

今日看到有用户在论坛留言反馈他买了Hostease Linux虚拟主机,想要查看当前主机使用的磁盘以及带宽情况,但是不知道如何查看。因为这边也是对于Hostease的虚拟主机产品是有所了解的,知道他们都是默认带管理面板的操做起来很方便的,…

The provided password or token is incorrect or your account

IDEA使用git技巧 【/n】 01 问题出现场景 我的gitlab上个月生成的token到期了,于是今天推上去的时候报了这个错误 The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead of a password. See ht…

前端传递list(数组)类型参数,后端接收失败

一顿报错,我之前遇到的list都是Long类型 貌似用GET也是可以的,但是很奇怪一直报错 就是不可以 后来去百度 查询到可以用两种方法解决这个问题 1、拆开 传 以GET方式,后端GetMappingRequestParam接收。 2、以Post方式传,后端创建dto PostMappingReques…

【JavaWeb】网上蛋糕项目商城-我的订单,退出功能

概念 上一文中,我们实现了注册,登录,提交订单以及修改个人信息等功能。本文在登录的状态下,实现订单列表以及退出登录功能等。 我的订单 在head.jsp头部页面中,当用户处于登录状态,则会显示“我的订单”…

算法-并查集

目录 什么是并查集 并查集基础 (1)原理 (2)初始化 (3)查询 (4)合并 (5)判断是否同一集合 并查集优化 路径压缩 启发式合并 并查集模板 模板 例题…

WPF之多种视图切换

1&#xff0c;View切换&#xff0c;效果呈现 视图1 视图2 视图3 2&#xff0c;在Xaml中添加Listview控件&#xff0c;Combobox控件。 <Grid ><Grid.RowDefinitions><RowDefinition Height"143*"/><RowDefinition Height"30"/>&l…

绘画作品3d数字云展厅提升大众的艺术鉴赏和欣赏能力

3D虚拟展厅作为未来艺术的展示途径&#xff0c;正逐渐成为文化创意产业蓬勃发展的重要引擎。这一创新形式不仅打破了传统艺术展览的局限性&#xff0c;更以其独特的魅力吸引着全球观众的目光。 3D虚拟艺术品展厅以其独特的魅力&#xff0c;助力提升大众的艺术鉴赏和欣赏能力。观…

【GROW教练模型】项目管理必会的思维分析工具12(附送模板,即拿即用)

分析解决问题的好工具——GROW模型 GROW对话模型是约翰惠特默建立的一个教练模型&#xff0c;简单说就是&#xff1a;通过一系列的提问&#xff0c;让你发现自己的目标是什么&#xff0c;现实状况是怎样&#xff0c;怎么样才能从现实抵达目标的彼岸。GROW 模型是教练技术中最常…

大字体学生出勤记录系统网页源码

大字体显示学生姓名和照片&#xff0c;让坐在最后排学生也能看清楚&#xff0c;显示姓名同时会语音播报姓名&#xff0c; 操作很简单&#xff0c;先导入学生姓名和照片&#xff0c;点击到课或未到课就能自动下一位&#xff0c; 并且记录出勤情况&#xff0c;点击导出记录就能…

JavaEE概述 + Maven

文章目录 一、JavaEE 概述二、工具 --- Maven2.1 Maven功能 仓库 坐标2.2 Maven之项目构建2.3 Maven之依赖管理 三、插件 --- Maven Helper 一、JavaEE 概述 Java SE、JavaEE&#xff1a; Java SE&#xff1a;指Java标准版&#xff0c;适用于各行各业&#xff0c;主要是Java…

批量将GOID转成GO term名并添加BP,MF,CC分类信息

基因本体论&#xff08;Gene Ontology&#xff0c;GO&#xff0c;https://www.geneontology.org&#xff09;是一个广泛应用于生物信息学领域的知识库&#xff0c;它提供了一套标准化的词汇和分类体系&#xff0c;用于描述基因功能、细胞组分和生物过程。GO旨在统一科研人员对基…

【牛客】排列计算

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 如果直接涂色来计算单点权重&#xff0c;2e5*2e5必然超时。 所以用差分进行优化。 3. 代码实现 #include<bits/stdc.h> using name…