資源簡介
本程序是開發(fā)使用AT89C52自帶的EEPROM
代碼片段和文件信息
#include
#include
#define?uchar?unsigned?char
#define?uint?unsigned?int
#define?rdcommand?0x01
#define?prgcommand?0x02
#define?erasecommand?0x03
#define?error?1
#define?ok?0
#define?waittime?0x01
sfr?ISP_DATA=0xe2;
sfr?ISP_ADDRH=0xe3;
sfr?ISP_ADDRL=0xe4;
sfr?ISP_CMD=0xe5;
sfr?ISP_TRIG=0xe6;
sfr?ISP_CONTR=0xe7;
sbit?dula=P2^6;
sbit?wela=P2^7;
uchar?code?table[]={0x3f0x060x5b0x4f
0x660x6d0x7d0x07
0x7f0x6f0x770x7c
0x390x5e0x790x71};
uchar?num;?//?中斷函數(shù)的變量為什么在這定義,換個地方行嗎??
void?delay1(uchar?z)
????{???uchar?xy;
????for(x=z;x>0;x--)
???for(y=110;y>0;y--);
}
?void?display(uchar?shiuchar?ge)
????{??dula=1;
???P0=table[shi];
???dula=0;
???????P0=0xff;
???wela=1;
???P0=0xfe;
???wela=0;
???delay1(5);
???dula=1;
???P0=table[ge];
???dula=0;
???????P0=0xff;
???wela=1;
???P0=0xfd;
???wela=0;
???delay1(5); ??? ?????
}
void?display1(uchar?shiuchar?ge)
????{??dula=1;
???P0=table[shi];
???dula=0;
???????P0=0xff;
???wela=1;
???P0=0xfb;
???wela=0;
???delay1(5);
???dula=1;
???P0=table[ge];
???dula=0;
???????P0=0xff;
???wela=1;
???P0=0xf7;
???wela=0;
???delay1(5); ??? ?????
}
/*----打開?ISPIAP-----*/
void?ISP_IAP_enable(void)
??{EA=0;
???ISP_CONTR=ISP_CONTR&0x18;
????ISP_CONTR=ISP_CONTR&waittime;
?????ISP_CONTR=ISP_CONTR|0x80;
??}?
/*----關(guān)閉?ISPIAP-----*/
void?ISP_IAP_disable(void)
??{ISP_CONTR=ISP_CONTR&0x70;
???ISP_TRIG=0x00;
???EA=1;
??}
/*----公用的觸發(fā)代碼-----*/
void?ISPgoon(void)
??{ISP_IAP_enable();
???ISP_TRIG=0x46;
???ISP_TRIG=0xb9;
???_nop_();
??}
/*----字節(jié)讀-----*/
uchar?byte_read(uint?byte_addr)
?{
評論
共有 條評論