PIC Mikrodenetleyicileri Bellek Yapısı
Güncelleme 16/08/2024
PIC mikrodenetleyicilerinde genellikle üç hafıza bulunmaktadır. Bunlar program belleği, veri belleği ve EEPROM belleğidir.
Program Belleği
Mikrodenetleyicilerde adreslere erişim program counter (PC) tarafından yapılmaktadır. PIC16F877A denetleyicisinde 13bitlik PC mevcutken PIC18F4550 denetleyicisinde 21bitlik bulunmaktadır. Denetleyicilerde adreslemeyi PC yapmaktadır. PIC16F877A denetleyicisinde 2^13= 8192 adresleme yapılır. PIC18F4550 denetleyicisinde ise 2^21=2.097.152 yapar bu da 2MB gibi bir hafızanın adreslenmesi demektir. Ancak PIC18F4550 denetleyicisinin 32KB hafızası mevcuttur. Kalan kısımda okuma yapılmamaktadır. Yine yandaki PIC18F4550 denetleyicisinin memory mapine baktığımızda 200000h-8000h adresleri arasında okuma yapılamamaktadır. Dolayısıyla denetleyicinin On-Chip Program Memory’si 0000h-7FFFh arasında (32kB) olmaktadır.
Veri Belleği
Veri belleği (Data Memory) denetleyicide bulunan genel ve özel amaçlı kaydedicilerin bulundu hafızadır. RAM bellek yapısındadır. Dolayısıyla elektrik kesildiği zaman veri belleğinde tutulan verilen kaybolmaktadır. Veri belleklerinin genel amaçlı kaydedicilerinde program içinde kullanılan değişkenlerin değerleri tutulur. Örneğin int a=1 gibi . Özel amaçlı kaydedicilerin de ise bir portun durumu giriş mi çıkış mı olacağı gibi bilgiler saklanır.
Yanda PIC16F877 denetleyicisinin data memory map’i verilmiştir. Burada herbirinde 128 adet kaydedici olan 4 adet sayfa görülmektedir. Toplamda bulunan 512 adet kaydedicinin 368 tanesi genel amaç için tahsis edilmiştir, diğerleri ise özel amaçlar için kullanılmaktadır.
EEPROM Belleği
PIC mikrodenetleyicilerinin çoğunda bulunan EEPROM bellek ihtiyaç durumlarında bilgilerin yazılıp okunduğı hafıza türüdür. Elektrik beslemesi kesildiğinde içerisinde saklanan veriler silinmez. Bir nevi bigisayarlarınızda kullanığınız hard disk gibi düşünebilirsiniz. EEPROM, elektrikle silinebilen programlanabilir romlardır. Denetleyici içerisinde dahili bulunan EEPROM olduğu gibi gerekli olursa harici olarak da dışardan EEPROM bağlanabilmektedir. PIC16F877 denetleyicisinde 8 bit formatında 128byte, PIC18F4550 denetleyicisinde de 8bit formatında 256byte EEPROM bellek mevcuttur.Örneğin aşağıdaki resimde görüldüğü gibi denetleyicinin internal EEPROM’u yeterli gelmemiş ve dışardan 2 adet external EEPROM sisteme dahil edilmiştir.