当前位置:首页 » 存储配置 » eeprom存储地址

eeprom存储地址

发布时间: 2025-01-01 12:48:57

⑴ isp设置用户EEPrOm大小

步骤如下:

?1.第一步,首先写IIC的起始信号,紧接着写上首字节,即我们前边讲的IIC的器件地址,并且在读写方向上选择“写”操作。

?2.第二步,发送数据的存储地址。例如24C02芯片一共有256个字节的存储空间,地址从0x00~0xFF,我们想把数据存储在芯片的哪个位置,此刻写入的就是对应的那个地址。

?3.第三步,发送要存储的数据第一个字节、第二个字节??,注意在写数据的过程中,EEPROM每个字节都会回应一个“应答位0”,来告诉我们在EEPROM芯片中写入数据成功,如果没有回应答位,说明写入数据不成功。

⑵ PIC18单片机怎么读写EEPROM,我使用的是18F4520的单片机,求一个读写EEPROM的程序实例

/*
***************************************************************************************************
函数名:EE_readbyte
功 能:片内EEPROM 读1字节
说 明:Read_AddrH:待写入的高地址;Read_Addr:待写入的低地址
函数执行完返回一个存放在该地址处的值
***************************************************************************************************
*/
uchar EE_ReadByte(uchar Read_AddrH,uchar Read_Addr)
{
EEADRH = Read_AddrH; //写入高地址
EEADR = Read_Addr; //写入低地址
EECON1bits.EEPGD = 0; //访问EEPROM存储区
EECON1bits.CFGS = 0; //访问EEPROM或程序区
EECON1bits.RD = 1;
return EEDATA;
}
/*
***************************************************************************************************
函数名:EE_writebyte
功 能:片内EEPROM 写1字节
说 明:Write_AddrH:待写入的高位地址;Write_Addr:待写入的低位地址;Write_Byte:待写入的字节
***************************************************************************************************
*/
void EE_WriteByte(uchar Write_AddrH,uchar Write_Addr,uchar Write_Byte)
{
ClrWdt(); //喂狗
while(EECON1bits.WR);
EEADRH = Write_AddrH; //写入高地址
EEADR = Write_Addr; //写入低地址
EEDATA = Write_Byte; //写入数据
EECON1bits.EEPGD = 0; //访问EEPROM存储区
EECON1bits.CFGS = 0; //访问EEPROM或程序区
EECON1bits.WREN = 1; //充许擦写

INTCONbits.GIE = 0; //禁止所有中断
EECON2 = 0x55; //写入密钥
EECON2 = 0xaa;
EECON1bits.WR = 1; //开始写操作
Nop();
Nop();
INTCONbits.GIE = 1; //开中断
EECON1bits.WREN = 0; //禁止擦写
while(EECON1bits.WR) //等待写完成
{
;
}
}
/*
***************************************************************************************************
函数名:EE_WriteArray
功 能:写入数组数据到EEPROM
说 明:AddrH:EEPROM起始地址高字节,Addr:EEPROM起始地址低字节
WriteByte[]:待存储的数据存放数组
LenArray:待存储的数组长度
举例:存放地址0x0020---0x0029;存放数据array[10]
***************************************************************************************************
*/
void EE_WriteArray(uchar AddrH,uchar Addr,uchar WriteArray[],uchar LenArray)
{
uchar tempH,tempL,tempByte;
uint i=0;
tempH = AddrH;
tempL = Addr;
for(i=0;i<LenArray;i++)
{
tempByte = WriteArray[i];
EE_WriteByte(tempH,tempL,tempByte);
tempL++;
}
}
/*
***************************************************************************************************
函数名:EE_ReadArray
功 能:写入数组数据到EEPROM
说 明:AddrH:EEPROM起始地址高字节,Addr:EEPROM起始地址低字节
ReadByte[]:待存储的数据存放数组
LenArray:待存储的数组长度
举例:存放地址0x0020---0x0029;存放数据array[10]
***************************************************************************************************
*/
void EE_ReadArray(uchar AddrH,uchar Addr,uchar ReadArray[],uchar LenArray)
{
uchar tempH,tempL,tempByte;
uint i;
tempH=AddrH;
tempL=Addr;
for(i=0;i<LenArray;i++)
{
tempByte=EE_ReadByte(tempH,tempL);
ReadArray[i]=tempByte;
tempL++;
}
}

⑶ eeprom发送要写入24C02的内存地址是什么

对EEPROM 24C02 而言, 器件地址就是 1010XXX, 这个XXX是EEPROM的管脚连接状态决定。

内存地址就是 EEPROM内部存储数据的地址。
另外保存数码管的地址例程上面是 2 这个没有上下文,不知道具体情况了。

⑷ at24c02芯片中数据地址可以是哪些


高四位1010是24Cxx系列的固定器件地址,接下来是A2、A1、A0是根据器件连接来决定(AT24c02对应的为E2,E1,E0),我们的原理图都接地所以是000。R/W为是选择读还是写,1的时候是读,0的时候是写。所以写的地址为0xA0。

读出过程:
发送写入的器件地址(0XA0)
发送要读的24C02的内存地址
发送读出的器件地址(0XA1)
读取数据
当读取的时候,地址的最后一位R/W为是选择读,也就是该位为1。所以读取的地址为0xA1。

热点内容
note3桌面文件夹 发布:2025-05-10 16:18:39 浏览:943
漆昼之翁密码是多少 发布:2025-05-10 15:52:55 浏览:846
linux与windows的分区 发布:2025-05-10 15:40:18 浏览:996
搜狐视频破解缓存 发布:2025-05-10 15:39:06 浏览:807
存储器主要用来 发布:2025-05-10 15:17:34 浏览:427
两台服务器怎么部署redis 发布:2025-05-10 15:16:09 浏览:903
cocoa编程 发布:2025-05-10 15:15:18 浏览:181
中控导航什么配置好 发布:2025-05-10 15:15:07 浏览:790
个人网站的数据库 发布:2025-05-10 15:10:17 浏览:119
会编程好处 发布:2025-05-10 14:58:49 浏览:480