EEPROM'da yerleşik olan bir mikrodenetleyici kullanabilirsiniz. 8-bit PIC16F84A 64 bayt EEPROM'a sahiptir, bu da tipik olarak 10.000.000 için iyidir ve her bayta en az 1.000.000 yazma (bayt dayanıklılığı olarak bilinir). Başka bir cevapta seçilen PIC, PIC12F635'in 128 bayt EEPROM'u ve 100.000 yazlık bayt dayanıklılığı vardır. 16 bitlik bir işlemci olan PIC24F16KA102 , 512 bayt EEPROM ve 100.000 yazma bayt dayanıklılığına sahiptir.
OP, LED'in ne sıklıkta yanıp söneceğini göstermez. Bu tartışmanın amaçları için, bunun dakikada dört kez olduğunu varsayalım.
Bir yıl içinde yanıp sönecek
4∗60∗24∗365=2,102,400 times.
EEPROM'un hem açık hem de kapalı olayları yakalaması gerektiğinden, bu sayının iki katına veya yaklaşık 4.2 milyon kez yazılacaktır . Beş yıl içinde bu 21 milyon kez.
Açıkçası, bu, şimdi bir mikro denetleyiciye yerleştirdiğim herhangi bir EEPROM'un özelliklerini aşacaktır.
Ancak bunun için basit bir çözüm var. Açık veya kapalı durumunu takip etmek için aynı baytı tekrar tekrar kullanmak yerine, tüm çipi dolduran bir bayt dizisi kullanılabilir.
Dizideki her öğe için iki bayt gerekir. Böylece 64 baytlık bir EEPROM, PIC16F84A'daki gibi 32 element taşıyabilir. EEPROM'a her yazışınızda, durum baytına 0 (bu öğenin veri içerdiği anlamına gelir) ve veri baytına 0 (LED son yanmış) veya 0xFF (LED son yanmış) yazarsınız. EEPROM'a bir sonraki erişiminizde, 0xFF durum baytına sahip olanı bulana kadar öğeler arasında dizin oluşturur ve bu öğeyi kullanırsınız. Hiçbiri kalmadıysa, EEPROM'u yeniden başlatın ve baştan başlayın (düşük uçlu PIC'ler için, durum baytlarının her birine 0xFF yazma anlamına gelir; PIC24 için, tüm EEPROM'u silme komutu vardır). LED'in son durumunu bilmeniz gerekiyorsa, diziyi daha önce olduğu gibi dizine eklersiniz, ancak şimdi bir öğeye geri dönün ve veri baytını okuyun.
Bu, esas olarak, tek bir bayta erişim sayısını PIC16F84A için 16 faktörüne böler (durum baytlarının her biri iki kez yazıldığı için 32 değil, 16 değil). Böylece, yaklaşık dört yıllık veri için yeterli olan toplam 16 milyon yazıyı işleyebilecektir. Ve daha büyük EEPROM ama 100K daha küçük bayt dayanıklılığı ile PIC12F635, toplamda dokuz ay boyunca yeterli olan 3.2 milyon yazıyı işleyebilecektir.
512 bayt EEPROM ve toplu silme özelliği ile PIC24F16KA102, beş yıldan uzun bir süre yetecek kadar 25,6 milyon yazıyı işleyebilecektir.
Yanıp sönme oranı dakikada dört kez yerine saatte yalnızca dört kez olsaydı, bu yılda toplam 70.080 yazma anlamına gelir. Bayt başına 100.000 yazma dayanıklılığı ile PIC12F635 bile 45 yıl sürecekti!