Online Pic Compiler
  • ÜCRETSİZ - ONLINE PIC ASSEMBLY COMPILER
  • KULLANIMI KOLAY ARAÇLAR
  • ÖĞRETİCİ YARDIM DOSYALARI
  • HATA AYIKLAYICI VE SİMÜLATÖR ÖZELLİĞİ

BELLEK ALANI (REGISTER)

Bellek alanı (register), RAM içerisindeki hafıza ünitelerine verilen isimdir. 8-bitlik mikrodenetleyiciler için (16F84A gibi), her bir bellek alanı 8-bit'ten veya 1 byte'tan oluşur. RAM içerisinde bellek alanları iki gruba arılabilir: Özel İşlevli Bellek Alanları (Special Function Register) ve Genel Amaçlı Bellek Alanları (General Purpose Register).



Özel İşlevli Bellek Alanları, mikrodenetleyicilerin donanım ünitelerini ve fonksiyonlarını yapılandırmak için kullanılır. Bu alanlardan her birinin RAM içerisinde belirli ve değişmez adresleri bulunmaktadır. Örneğin, 16F84A için, PORTB her zaman 0X06 adresindedir, yazılım ile bunu değiştiremeyiz. Portları giriş veya çıkış yapmak, karşılaştırıcı ünitelerini çalıştırmak, iç osilatörü çalıştırmak gibi fonksiyonlar Özel işlevli Bellek Alanlarının bazı bitlerini 1 veya 0 yapmakla gerçekleştirilir. Mikrodenetleyicilerin tüm ayarları ve yapılandırması bu bellek alanları ile yapılır.

 

16F84A içerisindeki Özel İşlevli Bellek Alanları: TMR0, PCL, STATUS, FSR, PORTA, PORTB, EEDATA, EEADR, PCLATH, INTCON, OPTION_REG, TRISA, TRISB, EECON1 ve EECON2'dir.

 

Özel İşlevli Bellek Alanlarının aksine, Genel Amaçlı Bellek Alanları program içerisinde serbest kullanım için tasarlanmıştır. Örneğin, yazdığımız program içerisinde bir sayaç tutmak istiyorsak, öncelikle RAM içerisinde Genel Amaçlı Bellek Alanları için ayrılmış bölgeden bir adres seçmemiz gerekir. Seçtiğimiz bu adrese isim ataması yapabilir, programın istediğimiz yerinde veri kaydedebilir, kaydettiğimiz veriyi değiştirebilir ve üzerine yazabiliriz. 16F84A için 0X0C ile 0X4F adresleri arasındaki bellek adresleri Genel Amaçlı Bellek Alanları için ayrılmıştır. Bu aralık dışında atadığınız hiç bir adres Genel Amaçlı Bellek Alanı olarak kullanılamaz.