|
請(qǐng)教,關(guān)于STC89C52的EEPROM扇區(qū)問(wèn)題,根據(jù)數(shù)據(jù)手冊(cè),該型有10個(gè) 扇區(qū),每扇區(qū)512字節(jié),第一扇區(qū)起始地址0X2000,結(jié)束地址0X21FF。程序
將1扇區(qū)的512個(gè)字節(jié)分別寫入0~511,然后驗(yàn)證其中一個(gè)字節(jié),或前幾個(gè)字節(jié)都正確,驗(yàn)證0X20FF處為255正確,問(wèn)題是驗(yàn)證0X2100處不是256,驗(yàn)證該扇區(qū)最后一個(gè)字節(jié)0X21FF處也不是511。請(qǐng)問(wèn)為何?
下面是部分內(nèi)容
void main()//
{
WORD i;//
P1=0xfe;//
Delay(10);
IapEraseSector(0x2000);//清除扇區(qū)
for(i=0;i<512;i++)
{
if(IapReadByte(0x2000+i)==0xff//清除完畢后,每個(gè)字節(jié)都應(yīng)是0XFF
P1=0xfc;
}
Delay(10);
for(i=0;i<512;i++)
{
IapProgramByte((0x2000+i),i);//該扇區(qū)512字節(jié)地址,分別寫入0~511
}
for(i=0;i<512;i++)
{
if(IapReadByte(0x21ff)==511)//第0x21ff處應(yīng)為511,為真則P1前三個(gè)燈亮
P1=0xf8;//
}
while(1)
;
}
|
|