斷電可保存~實(shí)測可用,eeprom定義什么的就不貼了。
void delay(uchar z)//延時(shí)函數(shù) { uchar x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void init() //定時(shí)器初始化 { TMOD=0X01; TH0=(65536-100)/256; TL0=(65536-100)%256; EA=1; ET0=1; TR0=1; } void time0() interrupt 1 //控制燈的狀態(tài) { TH0=(65536-100)/256; TL0=(65536-100)%256; ++i; if(i==10) {i=0;} if(i<=zkb) {led=1;} else led=0; } void keyscan() //按鍵掃描 { P3=0XFF; if(key1==0) { delay(10); if(key1==0) { while(!key1); if(zkb<9) zkb++; SectorErase(0x2000); byte_write(0x2000,zkb); } } if(key2==0) { delay(10); if(key2==0) { while(!key2); if(zkb>0) zkb--; SectorErase(0x2000); byte_write(0x2000,zkb); } } } void main() {//zkb=2; zkb=byte_read(0x2000); init(); while(1) { keyscan(); } }