當前位置:首頁 » 存儲配置 » 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。

熱點內容
linux文件夾監聽 發布:2025-07-08 22:06:45 瀏覽:759
手玩解壓器 發布:2025-07-08 22:01:21 瀏覽:824
蘋果和安卓哪個手機耗電快 發布:2025-07-08 21:48:20 瀏覽:674
共享內存通信linux 發布:2025-07-08 21:47:37 瀏覽:666
linux把文件夾打包 發布:2025-07-08 21:33:28 瀏覽:506
一台伺服器需要幾個ip地址 發布:2025-07-08 21:18:27 瀏覽:420
windows7密碼怎麼破解 發布:2025-07-08 21:17:36 瀏覽:217
我的世界混亂伺服器玩家 發布:2025-07-08 21:11:01 瀏覽:906
qq密碼改了為什麼還是錯的 發布:2025-07-08 21:09:34 瀏覽:931
卡盟正規源碼 發布:2025-07-08 21:09:27 瀏覽:89