unsigned char byteRead(unsigned int addr)
{
unsigned char readData;
readData=XBYTE[addr];
return(readData);
}
void byteProgram(unsigned int addr,unsigned char dat)
{
XBYTE[0x5555]=0xAA;
XBYTE[0X2AAA]=0X55;
XBYTE[0x5555]=0xA0;
XBYTE[addr] =dat;
}
void sectorErase(unsigned int sector)
{
sector=sector < <12;
XBYTE[0x5555]=0xAA;
XBYTE[0x2AAA]=0x55;
XBYTE[0x5555]=0x80;
XBYTE[0x5555]=0xAA;
XBYTE[0x2AAA]=0x55;
XBYTE[sector]=0x30;
}
void chipErase(void)
{
XBYTE[0x5555]=0xAA;
XBYTE[0x2AAA]=0x55;
XBYTE[0x5555]=0x80;
XBYTE[0x5555]=0xAA;
XBYTE[0x2AAA]=0x55;
XBYTE[0x5555]=0x10;
}
void bank(unsigned char bank)
{
switch(bank)
{
case 0: A16=0; A17=0; A18=0; break;
case 1: A16=1; A17=0; A18=0; break;
case 2: A16=0; A17=1; A18=0; break;
case 3: A16=1; A17=1; A18=0; break;
case 4: A16=0; A17=0; A18=1; break;
case 5: A16=1; A17=0; A18=1; break;
case 6: A16=0; A17=1; A18=1; break;
case 7: A16=1; A17=1; A18=1; break;
}
}
void main(void)
{
AUXR=0X02;
rd=1;
wr=0;
sectorErase(0);
byteProgram(0x0300,0x20);
wr=1;
rd=0;
byteRead(0X0300);
.............................
.....................