PIC16F84’ün BELLEKLERİ
Program Belleği
· EEPROM (Flash Bellek) yapısındadır.
· Program çalışırken sadece okunabilir. Belleğe yeni bir program kodu yazdırılması ancak PIC durdurulduktan sonra mümkündür.
· 1024 adet bellek hücresi vardır. Toplam 1 KB boyutundadır.
· Hücrelerin başlangıç adresi: 0x000 bitiş adresi: 0x3FF ‘dir. (Not: 0x 16 lık sayı demektir)
· Her bir hücre 14 bit uzunluğunda program komutlarını saklar. Bu komutlar assembly komutlarının 16 lık (Hex) sayılara dönüştürülmesiyle oluşan makine kodlarıdır.
RAM Bellek
· İçerisinde 80 adet bellek hücresi vardır. Bu hücrelere File Register (kaydedici) denir.
· Bu File Register’lardan biri hariç tamamı 8 Bit’lik veri saklar. PCLATH ise 5 Bit uzunluğundadır.
· Bazı File Register’lar program yazımı sırasında ne amaçla kullanılacakları üretici tarafından belirlenmiş özel bellek hücreleridir. (Örneğin STATUS, PORTA, PORTB, vs.)
· Belirlenmiş bu özel File Register’ların dışında kalan hücreler, programın çalışması esnasında her türlü veriyi saklamak için kullanılan sıradan RAM Bellek hücreleridir. Örneğin program yazımında tanımlanmak istenen bir değişken bu hücrelerin adresi verilerek tanımlanır.
· PIC16F84’te RAM, iki sayfadan (banktan) oluşur. Bu banklar Bank0 ve Bank1’dir.
· Bir banktaki File Register’ı kullanmak için o banka geçmek gerekir. Bu işleme “Bank Değiştirme İşlemi” denir. Bu işlem STATUS Register’ı vasıtasıyla yapılır.
· Özel belirlenmiş File Register’ların bazıları her iki bankta da vardır. Bazıları ise sadece tek bir bankta bulunur.
· Eğer bir File Register her iki bankta da varsa o register’ı kullanmak için bank değiştirmeye gerek yoktur.
· Belirlenmiş özel File Register’ların dışında kalan sıradan RAM Bellek hücrelerindeki veriler otomatik olarak her iki banka da yazılır.
W Register’ı (Akümülatör)
· W Register’ı, PIC16F84’ün Akümülatörüdür. W Register’ı Program Belleğinde ya da RAM’de görünmeyen bağımsız bir kaydedicidir.
· Tüm akümülatörler gibi W Register’ı işlemcinin aritmetik ve mantık işlemleri sırasında depo görevi gören kaydedicidir. İşlemlerde sonuç değerlerin tutulmasında kullanılır. RAM’e yazılacak herhangi bir sabit sayının atanmasında ya da Portlar’dan gelecek herhangi bir verinin belleğe alınmasında kullanılır. Portlar vasıtasıyla dış ortama gönderilecek veriler de w Register’ı aracılığı ile gönderilmek zorundadır.
· Bir File Register’dan diğer bir File Register’a (RAM Hücreleri arasında) değer atanmasında da mutlaka W Register’ı kullanılır.
· RAM’deki bir File Register’a W Register’ı olmadan veri yazmak mümkün değildir.
· W register’ı tüm aritmetik (toplama, çıkarma vs.), mantık (ve, veya, kaydırma, vs.) ve atama işlemlerinde kullanılmak zorundadır.
İlk yorum yapan siz olun