Tengo este problema en un proyecto actual.
La forma en que lo estoy tratando es mantener el valor en vivo del contador en la RAM. Agregué un poco de hardware para que el microcontrolador pueda detectar que el voltaje de alimentación de entrada sin procesar es bajo. Si es así, detiene lo que está haciendo, guarda el valor del contador en vivo en EEPROM, luego espera a ver el voltaje de alimentación sin procesar. Si vuelve a subir, con algo de histéresis, entonces el micro se reinicia esencialmente. De lo contrario, si la energía continúa bajando, el micro eventualmente se detendrá. En el siguiente reinicio, el valor del contador se carga desde EEPROM, luego se utiliza en vivo en la RAM nuevamente hasta el próximo apagado.
No lleva mucho tiempo escribir un valor pequeño en EEPROM. Lo más probable es que su sistema de suministro de energía existente tenga suficiente almacenamiento de energía para que pueda detectar que el voltaje se está agotando, y aún así tiene suficiente tiempo de ejecución garantizado antes de que la alimentación del micro caiga por debajo del umbral de escritura operativo o EEPROM.
En mi caso, el único hardware adicional era un diodo Schottky para evitar que la fuente de alimentación de CC absorbiera la carga del depósito local en el camino, y dos resistencias como divisor de voltaje para que el micro pueda leer el voltaje de entrada sin procesar. El resto es firmware.
Es importante tener en cuenta que debe vigilar el voltaje en la entrada a cualquier fuente de alimentación final que alimente el micro, no el voltaje de alimentación del micro directamente. Para el momento en que este último baja, puede ser demasiado tarde. Con suerte, hay un rango de voltaje que está por debajo del peor de los casos cuando todo funciona correctamente y por encima de lo que la fuente de alimentación del micro necesita para garantizar un voltaje regulado al micro. En mi caso, el suministro del micro era un regulador reductor alimentado desde 48 V, por lo que hay un amplio rango que está por debajo de lo normal pero donde el micro aún puede funcionar de manera confiable.