📄 w78e58isp.c
字号:
//w78e58b
sfr CHPCON = 0XBF;
sfr CHPENR = 0XF6;
sfr SFRAL = 0XC4;
sfr SFRAH = 0XC5;
sfr SFRFD = 0XC6;
sfr SFRCN = 0XC7;
byte ReadAPROM(word addr16)
{
byte tmp;
byte val;
addr16 = addr16;
CHPENR = 0x87;
CHPENR = 0x59;
CHPCON = 0x03;
SFRCN = 0x00;
CHPENR = 0;
TR2 = 0;
TH2 = (byte)(__1_5us/256);
TL2 = (byte)(__1_5us%256);
tmp = IE;
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
SFRAH = (byte)(addr16/256);
SFRAL = (byte)(addr16%256);
SFRCN = 0x00;
TR2 = 0;
TH2 = (byte)(__50us/256);
TL2 = (byte)(__50us%256);
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
val = SFRFD;
IE = tmp;
return val;
}
//
void WriteAPROM(word addr16,byte data8)
{
byte tmp;
addr16 = addr16+0x8000;
CHPENR = 0x87;
CHPENR = 0x59;
CHPCON = 0x03;
SFRCN = 0x00;
CHPENR = 0;
TR2 = 0;
TH2 = (byte)(__1_5us/256);
TL2 = (byte)(__1_5us%256);
tmp = IE;
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
SFRAH = (byte)(addr16/256);
SFRAL = (byte)(addr16%256);
SFRFD = data8;
SFRCN = 0x21;
TR2 = 0;
TH2 = (byte)(__50us/256);
TL2 = (byte)(__50us%256);
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
IE = tmp;
}
//
void EraseAPROM()
{
byte tmp;
CHPENR = 0x87;
CHPENR = 0x59;
CHPCON = 0x03;
SFRCN = 0x22;
CHPENR = 0;
TR2 = 0;
TH2 = (byte)(__1_5us/256);
TL2 = (byte)(__1_5us%256);
tmp = IE;
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
SFRCN = 0x22;
TR2 = 0;
TH2 = (byte)(__15ms/256);
TL2 = (byte)(__15ms%256);
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
IE = tmp;
}
//
byte ReadLDROM(word addr16)
{
byte tmp;
byte val;
addr16 = addr16+0x8000;
CHPENR = 0x87;
CHPENR = 0x59;
CHPCON = 0x1;
SFRCN = 0x40;
CHPENR = 0;
TR2 = 0;
TH2 = (byte)(__1_5us/256);
TL2 = (byte)(__1_5us%256);
tmp = IE;
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
SFRAH = (byte)(addr16/256);
SFRAL = (byte)(addr16%256);
SFRCN = 0x40;
TR2 = 0;
TH2 = (byte)(__50us/256);
TL2 = (byte)(__50us%256);
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
val = SFRFD;
IE = tmp;
return val;
}
//
void WriteLDROM(word addr16,byte data8)
{
byte tmp;
addr16 = addr16+0x8000;
CHPENR = 0x87;
CHPENR = 0x59;
CHPCON = 0x1;
SFRCN = 0x40;
CHPENR = 0;
TR2 = 0;
TH2 = (byte)(__1_5us/256);
TL2 = (byte)(__1_5us%256);
tmp = IE;
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
SFRAH = (byte)(addr16/256);
SFRAL = (byte)(addr16%256);
SFRFD = data8;
SFRCN = 0x61;
TR2 = 0;
TH2 = (byte)(__50us/256);
TL2 = (byte)(__50us%256);
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
IE = tmp;
}
//
void EraseLDROM()
{
byte tmp;
CHPENR = 0x87;
CHPENR = 0x59;
CHPCON = 0x1;
SFRCN = 0x62;
CHPENR = 0;
TR2 = 0;
TH2 = (byte)(__1_5us/256);
TL2 = (byte)(__1_5us%256);
tmp = IE;
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
SFRCN = 0x62;
TR2 = 0;
TH2 = (byte)(__15ms/256);
TL2 = (byte)(__15ms%256);
IE = 0x00;
ET2 = EA =1;
TR2 = 1;
PCON = 0x1;
IE = tmp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -