eeprom数据保护总是不行,软件仿真可以的。不知道为什么【恢复】
马老师好: 掉电保护数据仿真是可以的(下降沿时进入了终端,并写数据到了eeprom),实际上不行。电解电容用的是1500uf/16v的。imp809在电压低于4.65v时也输出低电平的。只保存两个字节的数据。
电路按书上来的。
void save_time_when_power_cut()
{
//DDRA=0;
DDRB=0;
//DDRC=0;
DDRD=0;
//DDRE=0;
//DDRF=0;
//DDRG=0;
get_time();//获得数据
persistParamSYN_TIME_SERVER(time);//数据写入eeprom
}
void init_int0()
{
cli();
cbi(DDRD,0);
sbi(PORTD,0);
EIMSK=0x00;//屏蔽int0
EICRA=0x02;//int0下降沿触发
EIFR |= 0x01;//清零intf0
EIMSK=0x01;//使能int0
sei();
}
SIGNAL(SIG_INTERRUPT0)
{
cli();
save_time_when_power_cut();
sei();
u08 temp=PIND;
temp &= 0x01;
while(temp)
{
_delay_ms(10);
temp=PIND;
temp &= 0x01;
if(temp==0)
break;
}
DDRB=0xff;
DDRD |= 0x20;
recover( );
} 用的是mega128,设了掉电检测的。
页:
[1]