请教,关于STC89C52的EEPROM扇区问题,根据数据手册,该型有10个 扇区,每扇区512字节,第一扇区起始地址0X2000,结束地址0X21FF。程序
将1扇区的512个字节分别写入0~511,然后验证其中一个字节,或前几个字节都正确,验证0X20FF处为255正确,问题是验证0X2100处不是256,验证该扇区最后一个字节0X21FF处也不是511。请问为何?
下面是部分内容
void main()//
{
WORD i;//
P1=0xfe;//
Delay(10);
IapEraseSector(0x2000);//清除扇区
for(i=0;i<512;i++)
{
if(IapReadByte(0x2000+i)==0xff//清除完毕后,每个字节都应是0XFF
P1=0xfc;
}
Delay(10);
for(i=0;i<512;i++)
{
IapProgramByte((0x2000+i),i);//该扇区512字节地址,分别写入0~511
}
for(i=0;i<512;i++)
{
if(IapReadByte(0x21ff)==511)//第0x21ff处应为511,为真则P1前三个灯亮
P1=0xf8;//
}
while(1)
;
}