PIC16F84
PIC16F84 Mikrodenetleyicisi, mikrodenetleyici kullanmaya yeni başlayanlar için ideal bir seçimdir.
PIC16F84 Mikrodenetleyicisinin program belleği flash teknolojisi ile üretilmiştir. Bu teknoloji ile üretilen PIC lere defalarca program yüklenebilir, silinebilir. Flash belleğe sahip PIC lerde (F) harfi; Flash belleği ifade eder.
PIC16F84 ün Pinleri ve Özellikleri
PIC16F84, 8 bitlik bir Mikrodenetleyicidir, çeşitli işlevleri yerine getirmek amacıyla toplam18 pini vardır.
1,2,3,17,18 numaralı pinler A portu,
6,7,8,9,10,11,12,13 numaralı pinler B portu,
14 numaralı pin pozitif besleme (VDD),
5 numaralı pin şase (VSS),
15,16 numaralı pinler osilatör bağlantıları,
4 numaralı pin ise reset bağlantısı için kullanılmaktadır.
PIC16F84 ün A portu5 bit, B portu8 bittir.
PIC 16F84 ün Besleme Bağlantıları:
PIC16F84 e +5 Voltluk pozitif besleme gerilimi 14 numaralı (VDD) pininden uygulanır,
şase bağlantısı (-) ise 5 numaralı (VSS) pinine bağlanır.
PIC e ilk enerji verildiği anda meydana gelebilecek gerilim dalgalanmaları nedeniyle istenmeyen arızaları önlemek amacıyla VDD ile VSS arasına 100 nF lık bir dekuplaj kondansatörü bağlamak gerekir.
PIC16F84 ün Giriş/Çıkış Portları:
Giriş/Çıkış Portları; PIC16F84 e buton sensör gibi giriş birimlerinin ve Led, motor, gibi çıkış birimlerinin bağlandığı, PIC16F84 ün çevre birimleri ile iletişimini sağlayan portlardır.
PIC16F84 te 5 adet A Portu, 8 adet B Portu olmak üzere toplam 13 adet Giriş/Çıkış Portubulunur.
PORTA yı TRISA, PORTB yi TRISB registeri kontrol eder. TRISA ve TRISB registerları portların giriş veya çıkış olarak seçiminde kullanılırlar.
Bu registerların içeriği 1 yapılırsa giriş;
0 yapılırsa çıkış olarak işlev görürler.
Reset bağlantısı:
PIC16F84 e yüklenmiş herhangi bir programın işlenmesi sırasında sistemi resetlemek için ise 4 numaralı pin kullanılır.
4 numaralı (MCLR) pinine uygulanan gerilim 0V olunca programın çalışması başlangıç adresine döner.
Programın ilk adresten itibaren tekrar çalışabilmesi için reset ucuna uygulanan gerilimin +5 V olması gerekir.
PIC16F84 ün Osilatör Bağlantıları:
PIC16F84 ün herhangi bir programı çalıştırabilmesi için osilatör frekansına ihtiyacı vardır.
Osilatör bağlantısı için 15 ve 16 numaralı pinler kullanılır.
PIC16F84 te kullanılan osilatör tipleri devrenin çalışma frekansına göre dört çeşittir.
RC osilatör:
Direnç ve kondansatörden oluşan osilatördür. Çalışma frekansının hassas olmadığı uygulamalarda kullanılır.
Mikrodenetleyici devrelerde genellikle kristal (XT) veya RC osilatörler kullanılır.
XT osilatör:
Kristal osilatör veya resonatör kullanılır. Zamanlamanın hassas olduğu uygulamalarda kullanılır.
Kristal iki bacaklı bir elemandır. Kristalin bir bacağı PIC16F84 ün 15 numaralı pinine,
diğer bacağı ise 16 numaralı pine bağlanır. Ayrıca bu pinlerle şase arasına birer mercimek kondansatör bağlanmalıdır.
Seramik resonatörler içerisinde kristal ve iki adet mercimek kondansatörü hazır olarak bulunduran devre elemanlarıdır.
Resonatör kullanıldığında; mercimek kondansatör kullanmaya gerek kalmaz.
Resonatörlerin üç bacağı bulunur. Ortadaki bacak şaseye bağlanır. Diğer iki bacak ise; yönlerine bakılmaksızın 15 ve 16. Pinlere bağlanır.
LP osilatör: Düşük frekanslı osilatörlerdir.
HS osilatör: yüksek hızlı kristal veya resonatör osilatörlerdir.
PIC16F84 ün asgari donanım yapısı:
Mikrodenetleyiciye hangi program yüklenirse yüklensin, PIC16F84 ün asgari donanım yapısı sabittir.
PIC16F84 ün asgari donanım yapısı aşağıdaki bağlantılarla sağlanır.
- Besleme bağlantısı (14. pin VDD ve 5.pin VSS)
- Osilatör bağlantısı (15. ve 16. pinler)
- Reset bağlantısı (4. pin)
PIC 16F84 ÜN BELLEĞİ
PIC16F84 ün belleği, program belleği ve RAM belleği olmak üzere iki ayrı bellekten oluşur.
Program Belleği:
PIC16F84 ün 1 KByte lık program belleği vardır.
Herbir bellek hücresi içerisine 14 bit uzunluğundaki komutlar depolanır.
Program Belleği Haritası
PIC16F84 ün program belleği içinde sadece assembly komutları saklanır.
NOT: Şekilde bellek adresleri hexadesimal sayılarla gösterilmiştir. 0x ifadesi yanına yazılan sayının hexadesimal olduğunu belirtir.
PIC16F84 ün program belleğine 14 bit uzunluğunda toplam 1024 tane komut yazılabilir.
RAM Bellek:
PIC16F84 ün RAM belleği içerisinde bulunan file registerlar PIC in çalışmasını kontrol ederler.
File registerların bellek uzunluğu 8 bittir.
File registerların dışında kalan diğer bellek alanları programlardaki değişkenler için kullanılır.
RAM Bellek Haritası
PIC16F84 ün RAM belleği 2 bölümden oluşur. Bu bölümlere bank adı verilir.
Bank0 daki registerların adresleri 0x00 ile 0x4F arasında,
Bank1 deki registerların adresleri de 0x80 ile 0xCF arasındadır.
PIC16F84 te toplam 80 tane file register vardır.
Bir Banktaki registerı kullanabilmek için, o banka geçmek gerekir.
Bazı özel registerlar her iki bankta da bulunur. Bunun nedeni; bank değiştirme işlemine gerek duyulmaksızın kullanılabilmeleri içindir.
W Registerı:
PIC16F84 ün RAM Belleğinde görünmeyen birde W Registerı vardır. W registerı bir geçici depolama alanıdır.
Bir PIC te gerçekleşen tüm aritmetik işlemler ve atama işlemleri için W Registerı kullanma zorunluluğu vardır.
Örneğin: İki register içindeki veriler toplanmak istendiğinde; ilk olarak registerlardan birinin içeriği W registerına yüklenir.
Sonra diğer registerın içindeki veri, W Registerının içindeki veriyle toplanır.