Öncelikle eepromda kolaylık olması için 2 baytlık alan ayrılmalı, 20(zaman sayacı) ve 3(deneme sayacı) değerleri ile programlanmalı.
10sn/500ms = 20 kayıt
O yüzden zaman sayacı 20.. Daha sık veya daha uzun/kısa elektrik kesintisi durumuna göre değiştirilebilir. Ayrıca elektrik kesintisinde zaman kalmadığından bu 2 baytlık ramde yapılan değişiklikler anında eeproma aktarılmalı.. Ya da direk eeprom üzerinde işlem yapılmalı.
Elektrik geldiğinde deneme sayacı bir eksiltilecek.. Eğer 0 ise eepromdaki zaman ve deneme sayaçlarına en baştaki 20 ve 3 değerleri yüklenecek ve bu kaydın olduğu program bloğuna da 10sn içinde 3 defa elektrik kesildiğinde yapılacak olan işlemler koyulmalı.. Eğer deneme sayacı 0 değilse eksiltilmiş hali kaydedilecek.. Özetle 3 değeri yazılan alan 0 olduğunda 10sn içinde 3 kere elektrik kesilmiş demektir.
Ardından her 500ms de bir zaman sayacı bir azaltılacak ve eeproma kaydedilecek. Eğer 0 olursa 10sn içinde 3 defa elektrik kesilmemiş demektir. Bu değer 0 olduğunda zaman ve deneme sayaçları alanına 20 ve 3 değerlerinin tekrar kaydedilmesi gerekir.
En kötü ihtimalle 10sn lik süre 11,5 sn olur, 1,5 sn sapar.. Umarım doğru düşünmüşümdür sistemi.. Kolay gelsin..