关于断电延时和EEPROM数据保存(申酷
) EEPROM, 申酷, 数据, 延时, 断电 原来想用AD检测断电的,做出来测试几遍不行,听了各位的意见
就花了一个下午完成用一个 I/O断电检测电路
把法拉电容改小了,节约开支,一个 2200uf的普通电容就足够了
经测试能正常保存数据到 EEPROM
电路见下面的图片链接
该解决方案的程序: #include #include //汇编头文件 #define uchar unsigned char #define uint unsigned int sbit p12 = P1^2; uchar i; void delay(uint z) //延时ms { uint x,y; for(x=112;x>0;x--) for(y=z;y>0;y--); } void init_232(void) //串口初始化 { SCON = 0x50; TMOD |= 0x20; TH1 = 0xfa; //波特率 9600 TL1 = 0xfa; PCON |= 0x80; EA = 1; ES = 1; TR1 = 1; } void send_char(uchar w) //串口发送一个字符 { SBUF = w; while(TI == 0); TI = 0; } void send_string(uchar *s,uint string_length) //串口发送一个字符串 { uint i = 0; do { send_char(*(s + i)); i++; } while(i < string_length); } /*EEPROM字符读取*/ uchar eeprom_read(uchar x,y) { ISP_ADDRH = x; ISP_ADDRL = y; ISP_CONTR = 0x9b; ISP_CMD