STC单片机21——EEPROM测试

STC单片机21——EEPROM测试

STC89C51RC系列单片机内部EEPROM详细地址表:
第一扇区 第二扇区 第三扇区 第四扇区
起始地址 结束地址 起始地址 结束地址 起始地址 结束地址 起始地址 结束地址
2000h 21FFh 2200h 23FFh 2400h 25FFh 2600h 27FFH
第五扇区 第六扇区 第七扇区 第八扇区
起始地址 结束地址 起始地址 结束地址 起始地址 结束地址 起始地址 结束地址
2800h 29FFh 2A00h 2BFFh 2C00h 2DFFh 2E00h 2FFFh

include

sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit K1 = P1^2; //按钮1
sbit K2 = P1^3; //按钮2

void cc(uint addr);
void xcx(uint addr,uchar dat);
uchar dcx(uint addr);
void Q0();

/┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:主程序
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
/
void main(void)
{
uchar a;

a = dcx(0x2002); // 开机读取EEPROM区2002h数据,
if(a == 2) {LED1=0;LED2=1;}
else if(a == 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=1 ;LED2=0;
cc(0x2000); // 擦除第1个扇区(2000h~21FFh)
xcx(0x2002,6); // 对EEPROM区2002h写入6
}
}
}

/┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:擦除某一扇区(每个扇区512字节)
入口:addr = 某一扇区首地址
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
/
void cc(uint addr)
{
// 0x83(晶振

Q0(); // 关闭ISP/IAP
}
/┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:写一字节
入口:addr = 扇区单元地址 , dat = 待写入数据
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
/
void xcx(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();
Q0(); // 关闭ISP/IAP
}
/┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:读一字节
入口:addr = 扇区单元地址
出口:dat = 读出的数据
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
/
uchar dcx(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; // 取出数据
Q0(); // 关闭ISP/IAP
return dat;
}
/┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数:关闭ISP/IAP操作
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
/
void Q0()
{
ISP_CONTR = 0; // 关闭IAP功能
ISP_CMD = 0; // 待机模式,无ISP操作
ISP_TRIG = 0; // 关闭IAP功能, 清与ISP有关的特殊功能寄存器
}

Original: https://blog.csdn.net/fengyuzhe13/article/details/127817105
Author: fengyuzhe13
Title: STC单片机21——EEPROM测试

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/654893/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球