EEPROM写入库说明
eeprom 手册
eeprom 手册
(实用版)
目录
1.EEPROM 简介
2.EEPROM 的结构和工作原理
3.EEPROM 的种类和特点
4.EEPROM 的应用领域
5.EEPROM 的发展趋势
正文
1.EEPROM 简介
EEPROM(电可擦除可编程只读存储器)是一种半导体存储器,具有可编程和可擦除的特点。
它可以存储数据,并在需要时对数据进行修改。
EEPROM 在手机、电脑、家电等领域有着广泛的应用。
2.EEPROM 的结构和工作原理
EEPROM 主要由存储单元、选址电路和擦除电路组成。
其工作原理是:通过选址电路选择需要读取或写入的数据存储单元,然后通过擦除电路对数据进行擦除或写入。
EEPROM 的数据擦除和写入是通过改变存储单元中的电荷状态来实现的。
3.EEPROM 的种类和特点
根据不同的结构和工作原理,EEPROM 可以分为多种类型,如浮栅型、隧道型、磁阻型等。
不同类型的 EEPROM 具有不同的特点,如存储密度、读写速度、擦除次数等。
4.EEPROM 的应用领域
EEPROM 广泛应用于各种电子设备中,如手机、电脑、家电、工业控
制等。
它可以用于存储设备的配置信息、用户数据、程序代码等。
随着EEPROM 技术的不断发展,其在物联网、大数据等领域的应用前景也十分广阔。
5.EEPROM 的发展趋势
随着科技的不断进步,EEPROM 在存储容量、读写速度、擦除次数等方面将得到进一步提升。
同时,新型 EEPROM 材料和技术的不断涌现,也将为 EEPROM 的发展带来新的机遇和挑战。
EEPROM简介演示
EEPROM在智能家居中心设备中用于存储场景设置、设备联动规则、语音助手配置等。 这些设置可以实现智能家居设备的智能化、自动化和互联互通。
医疗器械
医疗设备配置
EEPROM在医疗设备中用于存储设备配置参数,如输液泵流速设置、呼吸机潮气量设定、心电监护仪导联配置等。这 些配置参数对于设备的正常运行和治疗效果至关重要。
并行EEPROM使用并行接口 进行数据传输,它提供了更
高的读取和写入速度。
SPI(Serial Peripheral Interface)EEPROM是一种 使用SPI接口进行通信的串行 EEPROM,它具有高速和简
单的特点。
I2C(Inter-Integrated Circuit)EEPROM是一种使 用I2C接口进行通信的串行 EEPROM,它适用于多设备
EEPROM市场发展趋势
技术创新
随着技术的不断发展,EEPROM 在存储容量、读写速度、耐久性 等方面将持续提升,满足更多应
用场景的需求。
环保趋势
环保成为全球电子产业的重要议 题,EEPROM厂商将更加注重产 品的环保性能,推广无铅、低功
耗等环保型EEPROM产品。
市场拓展
随着物联网、智能家居、汽车电 子等新兴市场的崛起,EEPROM 将在更多领域得到应用,市场空
通信和长距离传输。
02
EEPROM的特点和优势
可重复编程
灵活性高
EEPROM(Electrically Erasable Programmable Read-Only Memory)可被多次编程和擦除, 使得其在存储器应用中具有很高的灵 活性。
无需外部编程器
与一次性可编程(OTP)存储器相比 ,EEPROM无需外部编程器进行编程 操作,进一步降低了开发和生产成本 。
eeprom的读写原理
eeprom的读写原理
EEPROM是可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory)的缩写。
它是一种非易失性存储器,可以在不需要电源的情况下保持存储的数据。
EEPROM的读写原理涉及到内部的电子结构和操作方式。
首先,让我们从写入数据开始。
EEPROM的写入原理是通过在内部的存储单元中存储电荷来表示数据。
当需要写入数据时,首先要将写入地址和数据发送到EEPROM芯片。
然后,根据写入数据的逻辑状态(0或1),相应的存储单元内的电荷状态会被改变。
这是通过在存储单元中施加特定的电压来实现的,这会改变存储单元内部的绝缘体的电荷状态,从而表示特定的数据。
接下来是读取数据的原理。
当需要读取数据时,读取地址会被发送到EEPROM芯片,芯片会根据地址找到相应的存储单元,并读取存储单元内的电荷状态。
这些电荷状态会被转换成数字信号,然后输出给外部系统。
通过这种方式,存储在EEPROM中的数据可以被读取出来并用于系统操作。
总的来说,EEPROM的读写原理涉及到内部存储单元的电荷状态
表示数据,并通过外部电压和信号的控制来实现数据的写入和读取操作。
这种原理使得EEPROM成为一种非常有用的存储器,适用于许多需要长期存储数据并且需要在断电后保持数据的应用场景。
eeprom的写入时序
eeprom的写入时序EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,它可以被多次擦除和写入。
EEPROM的写入时序是指在进行数据写入时所需的操作步骤和时间顺序。
下面是关于EEPROM写入时序的文章:EEPROM的写入时序是指在对EEPROM进行数据写入时所需的操作步骤和时间顺序。
EEPROM是一种非易失性存储器,它可以被多次擦除和写入,因此在实际应用中,对EEPROM进行数据写入是非常常见的操作。
在进行EEPROM写入时,首先需要确定要写入的数据,然后将数据发送给EEPROM,接着进行写入操作。
在进行写入操作时,需要遵循一定的时序要求,以确保数据能够正确地被写入并保持稳定。
通常,EEPROM的写入时序包括以下几个步骤:1. 发送写入命令,首先需要向EEPROM发送写入命令,以告知EEPROM即将进行数据写入操作。
2. 发送地址,接着需要发送要写入数据的地址,以指定数据写入的位置。
3. 发送数据,一旦地址确定,就可以发送要写入的数据。
4. 写入确认,在数据发送完成后,需要发送写入确认命令,以告知EEPROM可以开始写入数据。
5. 写入时间,EEPROM需要一定的时间来完成数据写入操作,这个时间通常是毫秒级别的。
6. 写入完成确认,最后,需要发送写入完成确认命令,以告知系统数据写入已经完成。
在进行EEPROM写入时,以上步骤需要严格遵循,以确保数据能够正确地被写入并保持稳定。
同时,EEPROM的写入时序也受到EEPROM型号和制造商的影响,因此在实际应用中,需要根据具体的EEPROM型号和规格来确定相应的写入时序。
总之,EEPROM的写入时序是进行数据写入时所需的操作步骤和时间顺序,严格遵循写入时序是确保数据写入正确和稳定的关键。
对于工程师和开发人员来说,了解并掌握EEPROM的写入时序是非常重要的,可以帮助他们更好地进行EEPROM的数据写入操作。
mixly eeprom用法
概述1. 介绍Mixly软件及EEPROM的基本概念1.1 Mixly软件1.2 EEPROM的概念2. 描述Mixly软件中EEPROM的使用方法3. 举例说明Mixly软件中EEPROM的实际应用4. 总结在现代社会,计算机科学和技术正在快速发展,人们不断在各个领域发现新的应用。
在这样的背景下,人们对于计算机编程技能的需求也日益增加。
Mixly软件作为一款流行的图形化编程软件,极大地方便了人们对于编程的学习与应用。
而在Mixly软件中,EEPROM (Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)的使用方法备受关注,本文将对Mixly软件中EEPROM的用法进行详细介绍。
1. 介绍Mixly软件及EEPROM的基本概念1.1 Mixly软件Mixly是一款基于Blockly的图形化编程软件,它可以帮助用户更直观的学习和应用Arduino等开发板的编程。
Mixly软件支持多种硬件评台,并内置了众多常用的库函数,使得编程变得十分简单和高效。
1.2 EEPROM的概念EEPROM是一种可以对其进行编程和擦除的存储器单元,同时也是一种只读存储器,它能够在断电后保持数据不变。
在应用中,我们通常使用EEPROM来存储一些需要长期保留的数据,例如系统设置、传感器数据等。
2. 描述Mixly软件中EEPROM的使用方法在Mixly软件中使用EEPROM十分简单,只需要按照以下步骤操作即可:2.1 打开Mixly软件并选择相应的硬件评台(例如Arduino)2.2 在Mixly软件中选择“库函数”中的EEPROM库函数,将其导入到程序中2.3 在程序中使用EEPROM.write()函数来写入数据到EEPROM中,使用EEPROM.read()函数来读取EEPROM中的数据2.4 编译程序并将其下载到硬件评台中进行运行通过以上简单的步骤,用户即可在Mixly软件中成功使用EEPROM,并实现对其进行读写操作。
STC单片机EEPROM读写程序
STC单片机EEPROM读写程序在单片机中,EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,可以用于存储数据,即使在断电情况下,数据也会被保留。
因此,掌握STC单片机的EEPROM读写程序对于开发嵌入式系统非常重要。
一、EEPROM简介EEPROM是一种可重复擦写的存储器,可用于存储小量数据。
与Flash存储器相比,EEPROM具有更快的写入和擦除速度。
在STC单片机中,EEPROM的存储容量通常较小,一般在几个字节到几千字节之间。
二、EEPROM读操作在STC单片机中,进行EEPROM读操作需要按照以下步骤进行:1. 初始化I2C总线:STC单片机使用I2C总线进行EEPROM读写操作,因此需要先初始化I2C总线。
通过设置相关寄存器,设置I2C 总线的速度和地址。
2. 发送设备地址:确定要读取的EEPROM设备的地址,并发送到I2C总线。
3. 发送寄存器地址:确定要读取的EEPROM寄存器地址,并将其发送到I2C总线。
4. 发送读命令:向EEPROM发送读命令,以启动读操作。
5. 读取数据:从EEPROM中读取数据,并保存到变量中。
6. 结束读操作:完成读操作后,关闭I2C总线。
三、EEPROM写操作类似于读操作,进行EEPROM写操作也需要按照一定的步骤进行:1. 初始化I2C总线:同样地,首先需要初始化I2C总线。
2. 发送设备地址:确定要写入的EEPROM设备的地址,并发送到I2C总线。
3. 发送寄存器地址:确定要写入的EEPROM寄存器地址,并将其发送到I2C总线。
4. 发送写命令:向EEPROM发送写命令,以启动写操作。
5. 写入数据:将要写入EEPROM的数据发送到I2C总线。
6. 结束写操作:完成写操作后,关闭I2C总线。
四、注意事项在进行EEPROM读写操作时,需要注意以下几点:1. 确保正确的设备地址:要与EEPROM的地址匹配,否则无法进行有效的读写操作。
eeprom写入原理
eeprom写入原理
EEPROM,即电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory),是一种非易失性存储器,可以用于存储和读取数据。
EEPROM的写入原理是利用电场来改变存储单元中的电荷量,从而改变存储单元的状态。
具体的写入过程如下:
1. 将EEPROM的写入寄存器清零。
写入寄存器是一个临时存储器,用于保存要写入的数据。
2. 将要写入的数据放入写入寄存器中。
3. 设置EEPROM中要写入的存储单元的地址。
4. 将写使能位设置为1,使得写使能信号传递给EEPROM。
5. EEPROM通过内部电路将写使能信号转化为高电压,在存储单元上建立一个较强的电场。
6. 电场的作用下,原本存在的电荷量被抽走或加入,改变存储单元的状态。
如果要写入的数据为1,则向存储单元注入电荷;如果要写入的数据为0,则从存储单元抽取电荷。
完成写操作后,电场会被屏蔽,防止继续发生电荷改变。
7. 停止写操作,将写使能位设为0。
需要注意的是,EEPROM的写入过程相对于读取操作较为耗时,且有写入次数的限制。
一般情况下,EEPROM可以承受数万到数百万次的写入操作。
因此,
在实际应用中,需要合理考虑EEPROM的使用方式,避免频繁写入操作,以延长其寿命。
EEPROM---AT24Cxx应用介绍
EEPROM---AT24Cxx应⽤介绍结论:1、读写AT24CXX芯⽚,根据容量有多种⽅式:⼀、容量为AT24C01~AT24C16,⾸先发送设备地址(8位地址),再发送数据地址(8位地址),再发送或者接受数据。
⼆、AT24C32/AT24C64~AT24C512,⾸先发送设备地址(8位地址),再发送⾼位数据地址,再发送地位数据地址,再发送或者接受数据。
三、容量AT24C1024的芯⽚,是把容量⼀和容量⼆的⽅法结合,设备地址中要⽤⼀位作为数据地址位,存储地址长度是17位。
2、它的设备地址根据容量不同有区别: 1)、AT24C01~AT24C16:这⼀类⼜分为两类,分别为AT24C01/AT24C02和AT24C04~AT24C16;他们的设备地址为⾼7位,低1位⽤来作为读写标⽰位,1为读,0为写。
*1*、AT24C01/AT24C02。
AT24C01/AT24C02的A0、A1、A2引脚作为7位设备地址的低三位,⾼4为固定为1010B,低三位A0、A1、A2确定了AT24CXX的设备地址,所以⼀根I2C线上最⼤可以接8个AT24CXX,地址为1010000B~1010111B。
*2*、AT24C04~AT24C16的 A0、A1、A2只使⽤⼀部分,不⽤的悬空或者接地(数据⼿册中写的是悬空不接)。
举例:AT24C04只⽤A2、A1引脚作为设备地址,另外⼀位A0不⽤悬空,发送地址中对应的这位(A0)⽤来写⼊页寻址的页⾯号,⼀根I2C线上最⼤可以接4个,地址为101000xB~101011xB 2)、AT24C32/AT24C64:和AT24C01/AT24C02⼀样,区别是,发送数据地址变成16位。
注意事项:对AT24C32来说,WP置⾼,则只有四分之⼀受保护,即0x0C00-0x0FFF。
也就是说保护区为1KBytes。
对于低地址的四分之三,则不保护。
所以,如果数据较多时,可以有选择地存储。
STM32F4利用I2C向EEPROM写入、读取数据步骤
STM32F4利⽤I2C向EEPROM写⼊、读取数据步骤
写⼊⼀个字节:
第⼀步:使⽤库函数I2C_GenerateSTART()产⽣I2C起始信号,调⽤库函数I2C_CheckEvent()检测事件,若检测到下⼀事件,则进⼊通讯下⼀阶段
第⼆步:调⽤库函数I2C_Send7bitAddress()发送EEPROM的设备地址,并把数据传输⽅向设置为I2C_Direction_Transmitter(即发送⽅向),发送地址后以同样的⽅式检测相应的事件。
第三步:调⽤库函数I2C_SendData向EEPROM发送要写⼊的地址,发送完后等待EV8事件的产⽣。
第四步:继续调⽤库函数I2C_SendData向EEPROM发送要写⼊的数据,然后等待EV8事件的产⽣。
第五步:通讯结束,调⽤I2C_GenerateSTOP发送停⽌信号。
读取⼀字节的数据:
第⼀步:通过库函数I2C_GETFlagStatus()查询库函数是否处于忙碌状态,若不忙碌,则进⼊下⼀状态。
第⼆步:使⽤库函数I2C_GenerateSTART()产⽣起始信号,调⽤库函数I2C_CheckEvent()检测Event1,若检测成功则进⼊下⼀阶段。
第三步:发送EEPROM的设备地址,⽅向为I2C_Direction_Transmitter(即写⽅向),检测事件6
第四步:利⽤库函数I2C_Cmd重新使能I2C外设
第五步:利⽤库函数I2C_Senddata()发送要读取的EEPROM的内部地址,检测Event8事件的产⽣
第六步:产⽣第⼆次I2C起始信号,并检测相关事件
第七步:发送I2C设备地址
第⼋步:读取数据。
EEPROM I2C操作说明知识讲解
E E P R O M I2C操作说明I2C协议2条双向串行线,一条数据线SDA,一条时钟线SCL。
SDA传输数据是大端传输,每次传输8bit,即一字节。
支持多主控(multimastering),任何时间点只能有一个主控。
总线上每个设备都有自己的一个addr,共7个bit,广播地址全0.系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datasheet。
1.1 I2C位传输数据传输:SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit;若SDA发生跳变,则用来表示一个会话的开始或结束(后面讲)数据改变:SCL为低电平时,SDA线才能改变传输的bit1.2 I2C开始和结束信号开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
1.3 I2C应答信号Master每发送完8bit数据后等待Slave的ACK。
即在第9个clock,若从IC发ACK,SDA会被拉低。
若没有ACK,SDA会被置高,这会引起Master发生RESTART或STOP流程,如下所示:1.4 I2C写流程写寄存器的标准流程为:1. Master发起START2. Master发送I2C addr(7bit)和w操作0(1bit),等待ACK3. Slave发送ACK4. Master发送reg addr(8bit),等待ACK5. Slave发送ACK6. Master发送data(8bit),即要写入寄存器中的数据,等待ACK7. Slave发送ACK8. 第6步和第7步可以重复多次,即顺序写多个寄存器9. Master发起STOP写一个寄存器写多个寄存器1.5 I2C读流程读寄存器的标准流程为:1. Master发送I2C addr(7bit)和w操作1(1bit),等待ACK2. Slave发送ACK3. Master发送reg addr(8bit),等待ACK4. Slave发送ACK5. Master发起START6. Master发送I2C addr(7bit)和r操作1(1bit),等待ACK7. Slave发送ACK8. Slave发送data(8bit),即寄存器里的值9. Master发送ACK10. 第8步和第9步可以重复多次,即顺序读多个寄存器读一个寄存器读多个寄存器1.前言对于大多数工程师而言,I2C永远是一个头疼的问题。
51单片机读写内部EEPROM详解
此文档共包含三个程序。
第一个程序最简单易懂,看懂了基本就会读写51单片机内部EEPROM了。
第二个程序和第一个读写EEPROM原理差不多,包含有LCD1602操作方法,有写字符串的方法。
第三个程序在原有基础上增加了外部中断功能,细心的人会发现,操作内部EEPROM过程会将总中断关闭,实际上程序要用到中断时只需在原有的EEPROM操作后加上开总中断即可。
验证第二、第三个程序时需按程序内主程序中的操作说明进行烧录单片机,以验证是否成功操作单片机内部EEPROM。
程序1:/***************************************************************作品:EEPROM实验,开机还原关电前LED的亮灭状况单片机:STC89C52RC晶振:12M编译环境:Keil uVision4 V9.00***************************************************************///#include <STC89C52RC.H>#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int/****************特殊功能寄存器声明****************/sfr ISP_DATA = 0xe2;sfr ISP_ADDRH = 0xe3;sfr ISP_ADDRL = 0xe4;sfr ISP_CMD = 0xe5;sfr ISP_TRIG = 0xe6;sfr ISP_CONTR = 0xe7;sbit LED1 = P2^0;sbit LED2 = P2^1;sbit K1 = P3^2;//按钮1sbit K2 = P3^3;//按钮2void cc(uint addr);void xcx(uint addr,uchar dat);uchar dcx(uint addr);void Q0();/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数:主程序┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*//*void main(void){uchar V;V = dcx(0x2002);// 开机读取EEPROM区2002h数据,还原关电前LED的亮灭状况if(V == 2){LED1=0;LED2=1;}else if(V == 6){LED1=0;LED2=0;}while(1){if(!K1){while(!K1);LED1=0;LED2=1;cc(0x2000);// 擦除第1个扇区(2000h~21FFh)xcx(0x2002,2);// 对EEPROM区2002h写入2}if(!K2){while(!K2);LED1=0;LED2=0;cc(0x2000);// 擦除第1个扇区(2000h~21FFh)xcx(0x2002,6);// 对EEPROM区2002h写入6}}}*//*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函数:擦除某一扇区(每个扇区512字节)入口:addr = 某一扇区首地址┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/void cc(uint addr){// 打开IAP 功能(ISP_CONTR.7)=1:允许编程改变Flash, 设置Flash操作等待时间// 0x83(晶振<5M) 0x82(晶振<10M) 0x81(晶振<20M) 0x80(晶振<40M) ISP_CONTR = 0x81;ISP_CMD = 0x03;// 用户可以对"Data Flash/EEPROM区"进行扇区擦除ISP_ADDRL = addr; // ISP/IAP操作时的地址寄存器低八位,ISP_ADDRH = addr>>8; // ISP/IAP操作时的地址寄存器高八位。
汽车仪表EEPROM编程器说明书
汽车仪表E2PROM编程器南京汽车仪表厂一.概述根据以前我厂NNPR仪表、重卡仪表和IVECO单表速比烧录过程中存在的一些如不能满足到汽车装备现场操作、单片机与微机数据烧录转换速率不匹配以及操作工人很容易发生误操作等问题,特开发手提式汽车仪表EEPROM编程器。
它具有以下特点和功能:(1)手体式EEPROM编程器是不需要使用PC机,只需使用单片机控制系统,就可以对汽车仪表上的EEPROM通过I2C总线数据传输方式进行读写,方便快捷,成本低廉。
(2)手提式EEPROM编程器可以满足到汽车装备现场操作的要求。
(3)手提式EEPROM编程器完全可以满足任意改写汽车仪表速比,里程公里数小计和累计的读和清零要求。
(4)手提式EEPROM编程器是一个完整的单片机控制系统,对不同表型EEPROM的操作,只需将拨码开关拨到相应的速比数,接上相应的配套束线即可。
无需在外接其它配套电源和PC机。
(5)本系统具有自保护功能,当选择表型的档位与实际要烧录的仪表型号不同而进行烧录时,系统将报警以提醒操作有误。
有效杜绝了误操作。
二.技术参数1:该编程器的工作电压为:AC220V,保险丝规格为:2A。
2:对外提供5V、12V、28V直流电压。
3:转速表、里程表速比显示4位,读写操作时第2-5位显示;累计公里数显示6或7位(其中单表显示为6位),小计公里数后4位显示,精度为0.1。
4:工作电压可切换,为12V或28V,三.操作说明1.打开电源开关,系统进入初始化,四组数码管显示全零,蜂鸣器、读成功指示灯和写成功指示灯都工作一会,以示正常。
2.如果选择开关选中某一表型,转速表速比、里程表公里脉冲数数码管的后四位分别显示拨码开关上的示数,其他两组数码管则熄灭;如果选择开关没选中任一表型,则四组数码管一直闪动显示全零,以提醒操作者先选好表型。
3.选种表型后,用相应的线束插在仪表电路板的烧录口上,即可对该种表型进行烧录。
4.在拨码开关上调到要写入的速比数。
EEPROM读写程序的设计及说明(v1.1改进版)
EEPROM读写程序的设计及说明一、I2C 总线概述I2C 总线是PHILIPS 公司推出的芯片间串行数据传输总线。
I2C 总线通过两根线(串行数据线SDA 和串行时钟线SCL)使挂接到总线上的器件相互进行信息传递,能够十分方便地地构成多机系统和外围器件扩展系统。
I2C 器件是把I2C 的协议植入器件的I/O 接口,使用时器件直接挂到I2C 总线上即可。
总线使用软件寻址来识别每个器件--微控制器、存储器、LCD、驱动器时钟芯片及其它I2C 总线器件,而无须使用片选信号,是否选中是由主器件发出的I2C 从地址决定的而I2C 器件的从地址是由I2C 总线委员会实行统一发配的。
总线上的每一次数据传送活动都是主控器先发送起始信号,然后主控器发送被控器的地址及读写位1个字节,这之后是主控器等待被控器的应答信号(接着的第九位),再接着就是主控器发送数据给被控器(写被控器)或接收被控器发出来的数据(读被控器),最后由主控器发出停止信号通知被控器结束整个数据传送过程。
I2C 总线的数据传送过程如下图所示。
I2C 总线协议规定传送的数据长度为8位,而每次传送的数据字节数由被控器所限制如24C01(128 字节EEPROM)规定一次最多可以传送8个字节,24C02(256字节EEPROM)规定一次最多可传送16个字节。
按照I2C总线协议,总线上非单片机类型的外围器件地址由器件编号地址(高4位D7~D4由器件类型决定)和器件引脚地址(D3~D1)组成,如24C01/02/03/04的器件编号地址为1010。
器件的引脚地址由A2A1A0三根硬件地址线决定,最后一位为读写控制位,1表示读,0表示写,如下图示。
二、程序框图三、EEPROM应用程序1、整体功能说明本程序利用NEC公司的9177芯片,用软件的模拟方法实现对EEPROM器件(如24C04)的读写操作。
2、变量说明EEDATA 所需读或写的EEPROM参数个数PARAADD EEPROM读写的地址变量EEWRDELAY 写EEPROM的延时时间计时变量3、标志说明_EEPRW 读写标志(0=EEPROM写,1=EEPROM读)_ACKERR EEPROM有无应答标志(1=无应答,0=有应答)_ERRORFG EEPROM出错标志(1=EEPROM出错,0=EEPROM无错)_PARAERR EEPROM参数错误(1=EEPROM参数出错,0=EEPROM参数无错)4、常量说明SLAW EQU 0A0H 表示EEPROM器件地址及EEPROM写SLAR EQU 0A1H 表示EEPROM器件地址及EEPROM读P_EESDA EQU P1.1 连接EEPROM数据线(SDA)的芯片管脚P_EESCL EQU P1.0 连接EEPROM 时钟线(SCL)的芯片管脚5、模块使用说明(1)本EEPROM读写模块可直接调用,在NEC9177调用方法为:CALL !EEPROMRW;(2)调用前需给以下几个参数进行赋值所需读写的EEPROM参数个数:EEDATA 例如:MOV EEDATA,#32所需读写的EEPROM参数初始地址:PARAADD 例如:MOV PARAADD,#0读写EEPROM数据所存放的地址:HL 例如:MOVW HL,#PARABUF程序要求为读或写EEPROM标志:_EEPRW 例如:SET1 _EEPRW6、应用范围此程序段可应用于NEC9177作为主芯片的电控中,其中外围的EEPROM器件应具有I2C总线的特性(如24C04),其他具有I2C特性的器件也可做参考。
EEPROM_STORE库文件使用说明
问题描述:当高性能电容的时间(根据CPU 类型不同而不同)用完,或者电池模块过期(200天),修改过的参数就会丢失。
使用以下程序库所提供的子程序,可以在CPU 中的内部EEPROM 中保存完整的变量区域,在运行期内该区域是不易失的(在系统手册中仅说明了保存单个变量)。
软件要求:此操作程序库使用需要STEP 7 Micro/WIN V4.0 SP7 或者更高的版本。
警告:当CPU 启动时,包含DB (数据块)的存储卡不可以被插入。
如果包含DB 的存储卡被插入,CPU 会读出存储卡的内容而不是去读内部EEPROM,同时存储数据被错误的写回。
合并和使用库:1.将下载的文件“store_to_eeprom.zip”保存在电脑上。
2.在独立的目录下解压文件“store_to_eeprom.zip”。
3.双击开始解压的STEP 7 Micro/WIN 库“store_to_eeprom.mwl”。
4.在STEP 7-Micro/WIN 对话栏中打开确认集成的库。
增加的“EEPROM (v1.0)”文件夹中包含了子程序“EEPROM_Direct"”和“EEPROM_Indirect”。
图:01使用子程序:1.在网络中从文件夹“EEPROM (v1.0)”插入所需要的子程序。
2.根据例程中的参数列表给所选子程序分配输入输出参数。
使用适当的逻辑连接,以确保在执行期间程序执行触发输入位“Start”保持为1 (高)。
更多的信息也可以在子程序的注释中得到。
.注意:不能以很高的频率在EEPROM 上保存数据。
EEPROM 典型的存储次数为100,000次。
如果超过这个值,CPU 将发生故障。
如果按小时在EEPROM 上保存数值,那么EEPROM 的预计使用寿命是11 到12 年。
起始地址为直接寻址“EEPROM_direct"”例程:图: 02表:01起始地址为间接寻址“EEPROM_indirect”例程:图:03表:02程序测试:程序运行后,删除可保持的V 变量并将存储的数据装载回CPU。
i2c读写eeprom手册
i2c读写eeprom手册
I2C读写EEPROM的手册主要包括以下步骤:
1. 确定EEPROM的设备地址:I2C通讯时,地址跟读写方向连在一起构成一个8位数。
当R/W位为0时,表示写方向,加上7位地址,其值为
“0xA0”,常称该值为I2C设备的“写地址”;当R/W位为1时,表示读方向,加上7位地址,其值为“0xA1”,常称该值为“读地址”。
2. 准备读写操作:主机产生并发送起始信号到从机,将控制命令写入从机设备,读写控制位设置为低电平,表示对从机进行数据写操作,控制命令的写入高位在前低位在后。
3. 发送存储地址:从机接收到控制指令后,回传应答信号,主机接收到应答信号后开始存储地址的写入。
4. 进行读写操作:根据一次读操作读取数据量的多少,读操作可分为随机读操作和顺序读操作。
随机读操作可以理解为单字节数据的读取。
5. 结束操作:读写操作完成后,主机发送停止信号结束操作。
请注意,所有I2C设备均支持单字节数据写入操作,但只有部分I2C设备支持页写操作;且支持页写操作的设备,一次页写操作写入的字节数不能超过设备单页包含的存储单元数。
此外,EEPROM芯片中还有一个WP引脚,
具有写保护功能,当该引脚电平为高时,禁止写入数据,当引脚为低电平时,可写入数据。
以上步骤仅供参考,如果使用实验板EEPROM的型号、设备地址或控制引
脚不一样,需根据实际工程修改。
恩智浦半导体 S32K1xx EEPROM 功能说明书
AN11983使用 S32K1xx EEPROM 功能第2 版— 2019年5月应用笔记作者:恩智浦半导体1 简介通常有三种方法实现 EEPROM 功能。
其一是使用真正的 EEPROM,例如具有 256 B EEPROM 的 KEA64。
优点是不占用闪存,但缺点是价格昂贵。
第二种方法是使用软件实现 EEPROM 功能,如 KEA8 和 KEA128。
优点是便宜,但缺点是它占用了闪存,包括用于 EEPROM 实现的额外代码和模拟EEPROM 占用的闪存。
第三种方法是使用固件来实现 EEPROM 功能,例如S32K1xx。
优点在于 EEPROM 功能的实现对客户来说是绝对透明的,并且不需要闪存来存储用于 EEPROM 实现的额外代码。
本应用笔记主要介绍 S32K1xx EEPROM (EEE) 功能特性和用法。
S32K1xx EEPROM (EEE) 允许用户将部分片上闪存配置为增强型 EEPROM、额外闪存或两者的组合。
有关本应用笔记中提及的任何参考的详细信息,请参阅 S32K1xx 参考手册和数据手册。
2 S32K1xx EEPROM (EEE) 功能S32K1xx EEPROM (EEE) 具有许多功能,允许更换外部 EEPROMs 以提高其性能。
S32K1xx EEE 功能包括:•自动化–无需客户软件开发。
—重启:EEE 镜像载入 RAM。
—读:直接从 RAM 读取记录。
无 EEE 操作。
—写:直接向 RAM 写入记录。
镜像与 EEE 闪存自动同步。
•利用最佳实践来优化其可靠性和循环耐久性。
—循环负载均衡。
—扇区失效。
•耐掉电。
目录1 简介 (1)2 S32K1xx EEPROM (EEE) 功能 (1)2.1 S32K1xx EEE 工作 (2)2.2 S32K1xx EEE 如何使用内存. . 23 使用 S32K1xx EEE. (4)3.1 S32K1xx EEE 分区 (5)3.2 S32K1xx FlexRAM 配置 (10)3.3 S32K1xx 命令错误处理 (14)3.4 S32K1xx EEE 错误处理 (14)3.5 S32K1xx EEE 启动 (14)3.6 S32K1xx 读取和写入 EEE (15)4 S32K1xx EEE 性能 (16)5 S32K1xx 掉电检测 (16)6 S32K1xx 新的快速写入模式 (17)7 S32K1xx EEPROM 耐久性 (18)8 软件注意事项 (19)8.1 同步操作 (19)8.2 启用 CSEc 和 EEPROM (19)8.3 上电建议 (19)8.4 数据记录检查 (20)8.5 功耗模式转换 (20)9 附录 A EEPROM 示例 (20)10 修订历史 (23)—新的快速写入模式,优先在断电前写入少量数据。
单片机EEPROM读写数据流程解析
单片机EEPROM读写数据流程解析EEPROM 写数据流程第一步,首先是I2C 的起始信号,接着跟上首字节,也就是我们前边讲的I2C 的器件地址,并且在读写方向上选择“写”操作。
第二步,发送数据的存储地址。
24C02 一共256 个字节的存储空间,地址从0x00~0xFF,我们想把数据存储在哪个位置,此刻写的就是哪个地址。
第三步,发送要存储的数据第一个字节、第二个字节??注意在写数据的过程中,EEPROM 每个字节都会回应一个“应答位0”,来告诉我们写EEPROM 数据成功,如果没有回应答位,说明写入不成功。
在写数据的过程中,每成功写入一个字节,EEPROM 存储空间的地址就会自动加1,当加到0xFF 后,再写一个字节,地址会溢出又变成了0x00。
EEPROM 读数据流程第一步,首先是I2C 的起始信号,接着跟上首字节,也就是我们前边讲的I2C 的器件地址,并且在读写方向上选择“写”操作。
这个地方可能有同学会诧异,我们明明是读数据为何方向也要选“写”呢?刚才说过了,24C02 一共有256 个地址,我们选择写操作,是为了把所要读的数据的存储地址先写进去,告诉EEPROM 我们要读取哪个地址的数据。
这就如同我们打电话,先拨总机号码(EEPROM 器件地址),而后还要继续拨分机号码(数据地址),而拨分机号码这个动作,主机仍然是发送方,方向依然是“写”。
第二步,发送要读取的数据的地址,注意是地址而非存在EEPROM 中的数据,通知EEPROM 我要哪个分机的信息。
第三步,重新发送I2C 起始信号和器件地址,并且在方向位选择“读”操作。
这三步当中,每一个字节实际上都是在“写”,所以每一个字节EEPROM 都会回应一个“应答位0”。
第四步,读取从器件发回的数据,读一个字节,如果还想继续读下一个字节,就发送一个“应答位ACK(0)”,如果不想读了,告诉EEPROM,我不想要数据了,别再发数据了,。
【2017年整理】Proteus仿真EEPROM数据的写入
今天做的是一个往EEPROM写入数据的项目。
项目没有什么实际意义,主要是练习一下学习的关于写EEPROM的知识。
项目的构思如下,向单片机的EEPROM中写入数据,00单元写入数据00,01单元写入数据01,FF单元写入数据FF,即任意一个EEPROM 单元都根据其地址来写入相应的数据。
项目源程序十分简单,但需要注意EEPROM写入数据的操作步骤。
源程序如下:在MPLAB中编辑好源程序以后,编译生成相应的源代码,然后我们在Proteus中绘制本例的电路图。
本例电路图更为简单,因为我们使用的都是单片机内部资源,所以只需将一片PIC16F877放入电路图中就可以了。
电路图如下所示:绘制好电路图以后,我们就可以将前面生成的源代码装入单片机来进行仿真了。
此例其他方面都比较简单,最关键的在于仿真时的操作。
可以看到,当你点击仿真按钮的时候,系统并没有任何反映,我们根本看不到仿真效果。
这时你可以点击主菜单中的Debug菜单下的“PIC CPU EPROM Memory - U1”,如下图:此时系统将弹出相应的“EEPROM”窗口,在这个窗口中,你就可以看到EEPROM中的内容,看看仿真是否成功,其中的数据是否已经按照我们的要求变成了相应的内容。
如下图所示:当然,你也可以在仿真中使用Proteus的单步功能,你一步一步地点击单步按钮,可以看到,EEPROM中的内容一步一步地在变动。
如下图的两个图形所示:而且,从上图你还能看到,每点击一次单步按钮,EEPROM大约写入5个数据。
当然,如果你修改一下相应的时钟频率,每次写入的数据量可能会有改变。
本项目的内容简单,但需要掌握以下几个方面的内容:1.EEPROM数据写入的步骤。
2.Proteus中仿真单片机内部的RAM、EEPROM、FLASH等的操作。
1/万-1/千地质测量质量要求表(吉林参考)11/万1/5千1/2千1/千1/万草测1/2千草测1 2 3 4 5 6 7一地质观测研究程度沉积岩1对地层划分到组或阶,如范围大应进一步二分或三分,确定其时代,测定其厚度及产状2.对标志层、成矿有利的岩层在图上的宽度大于1毫米者应扩大表示,应注明;3.研究鉴别各地层的接触关系,岩层的层理机械沉积与化学沉积分异作用,岩石的物质成分、结构、构造等特点;4.研究喷出岩的特点,层序、层理、及岩相等特征,岩石的组成及其特点,测定其时代、厚度及产状;5.与矿产关系的研究,含矿层或对成矿有利岩层的空间分布及变化规律,层位与岩性特征,测定其厚度与产状1.在1/万分成的基础上,按岩层、岩性特点进一步详细划分岩层,研究岩石的物质成分、结构、构造特征,胶结物性质,结核体的形态、沉积韵律、测定各层厚度、产状与空间分布关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题描述:
当高性能电容的时间(根据 CPU 类型不同而不同)用完,或者电池模块过期(200天),修改过的参数就会丢失。
使用以下程序库所提供的子程序,可以在 CPU 中的内部 EEPROM 中保存完整的变量区域,在运行期内该区域是不易失的(在系统手册中仅说明了保存单个变量)。
软件要求:
此操作程序库使用需要 STEP 7 Micro/WIN V4.0 SP7 或者更高的版本。
警告:
当 CPU 启动时,包含 DB (数据块)的存储卡不可以被插入。
如果包含 DB 的存储卡被插入,CPU 会读出存储卡的内容而不是去读内部 EEPROM,同时存储数据被错误的写回。
合并和使用库:
1.将下载的文件“store_to_eeprom.zip”保存在电脑上。
2.在独立的目录下解压文件“store_to_eeprom.zip”。
3.双击开始解压的 STEP 7 Micro/WIN 库“store_to_eeprom.mwl”。
4.在 STEP 7-Micro/WIN 对话栏中打开确认集成的库。
增加的“EEPROM (v1.0)”文件夹中包含了子程序“EEPROM_Direct"”和“EEPROM_Indirect”。
图:01
使用子程序:
1.在网络中从文件夹“EEPROM (v1.0)”插入所需要的子程序。
2.根据例程中的参数列表给所选子程序分配输入输出参数。
使用适当的逻辑连接,以确保在执行期间程序执行触发输入位“Start”保持为1 (高)。
更多的信息也可以在子程序的注释中得到。
.
注意:
不能以很高的频率在 EEPROM 上保存数据。
EEPROM 典型的存储次数为100,000次。
如果超过这个值,CPU 将发生故障。
如果按小时在 EEPROM 上保存数值,那么 EEPROM 的预计使用寿命是 11 到 12 年。
起始地址为直接寻址“EEPROM_direct"”例程:
图: 02
表: 01
起始地址为间接寻址“EEPROM_indirect”例程:
图: 03
表:02
程序测试:
程序运行后,删除可保持的 V 变量并将存储的数据装载回 CPU。
图:04
选择数据范围,输入起始地址和范围。
点击“Clear”按钮。
例程如下图显示:
图: 05
表: 03
补充说明:
∙关于在STEP 7 Micro/WIN 中插入库的信息见条目号:16689345.
∙STEP 7 Micro/WIN V4.0 的 SP7 免费下载地址的条目号: 33005232 . 下载:
store_to_eeprom.zip ( 4 KB )
关键字:
SMB31, SMW32。