(H_%~HF%98[{QLKKKS38[RX.png (84.86 KB, 下載次數: 30)
下載附件
2021-4-3 17:04 上傳
void EEPROM_delete(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操作時的地址寄存器高八位。
EA =0;
ISP_TRIG = 0x46; // 在ISPEN(ISP_CONTR.7)=1時,對ISP_TRIG先寫入46h,
ISP_TRIG = 0xB9; // 再寫入B9h,ISP/IAP命令才會生效。
_nop_();
EA =1;
ISP_off(); // 關閉ISP/IAP
}
/***************************************************************
函數:寫一字節
入口:addr = 扇區單元地址 , dat = 待寫入數據
***************************************************************/
void EEPROM_write(uint addr,uchar dat)
{
ISP_CONTR = 0x81;
ISP_CMD = 0x02; // 用戶可以對"Data Flash/EEPROM區"進行字節編程
ISP_ADDRL = addr;
ISP_ADDRH = addr>>8;
ISP_DATA = dat; // 數據進ISP_DATA
EA = 0;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
_nop_();
EA =1;
ISP_off(); // 關閉ISP/IAP
}
/***************************************************************
函數:讀一字節
入口:addr = 扇區單元地址
出口:dat = 讀出的數據
***************************************************************/
uchar EEPROM_read(uint addr)
{
uchar dat;
ISP_CONTR = 0x81;
ISP_CMD = 0x01; // 用戶可以對"Data Flash/EEPROM區"進行字節讀
ISP_ADDRL = addr;
ISP_ADDRH = addr>>8;
EA = 0;
ISP_TRIG = 0x46;
ISP_TRIG = 0xB9;
_nop_();
dat = ISP_DATA; // 取出數據
ISP_off(); // 關閉ISP/IAP
EA =1;
return dat;
}
/***************************************************************
函數:關閉ISP/IAP操作
***************************************************************/
void ISP_off()
{
ISP_CONTR = 0; // 關閉IAP功能
ISP_CMD = 0; // 待機模式,無ISP操作
ISP_TRIG = 0; // 關閉IAP功能, 清與ISP有關的特殊功能寄存器
ISP_ADDRH = 0;
ISP_ADDRL = 0;
}
/**********************************************************************************************
STC89C52RC內部EEPROM詳細地址表:
第一扇區 第二扇區 第三扇區 第四扇區
起始地址 結束地址 起始地址 結束地址 起始地址 結束地址 起始地址 結束地址
2000h 21FFh 2200h 23FFh 2400h 25FFh 2600h 27FFH
第五扇區 第六扇區 第七扇區 第八扇區
起始地址 結束地址 起始地址 結束地址 起始地址 結束地址 起始地址 結束地址
2800h 29FFh 2A00h 2BFFh 2C00h 2DFFh 2E00h 2FFFh
**********************************************************************************************/
|