Bu yazımızda uygulamalarımızda kullanacağımız PIC16F877A mikrodenetleyicisi hakkında bahsedeceğiz.
PIC16F877A mikrodenetleyicisi PIC ailesinin güçlü ürünlerinden bir tanesidir. Çeşitli kılıflarda üretilen bu denetleyicilerden biz PDIP (Plasctic Dual In-line Package) kılıfa sahip olanını kullanacağız.
PIC16F877A mikrodenetleyicisi PIC ailesinin güçlü ürünlerinden bir tanesidir. Çeşitli kılıflarda üretilen bu denetleyicilerden biz PDIP (Plasctic Dual In-line Package) kılıfa sahip olanını kullanacağız.
Bu kullanacağımız, PIC16F877A, mikrodenetleyicinin genel özelliklerine bakacak olursak çoğu uygulamalar için yeterli bir donanıma sahip olduğunu görebiliriz.
16F877A’nın Genel Özellikleri
16F877A 8 bitlik bir mikrodenetleyicidir. 40 pininden 33 tanesi I/O ( input/output – giriş/çıkış ) pinleridir. 6 bitlik A portu, her biri 8 bitlik B,C ve D portları ve 3 bitlik E portu olmak üzere 5 porta sahiptir.
- İşlem hızı max. 20 MHz dir. (bir komut 200 ns hızında çalışmaktadır.)
- 8 Kword Flash ROM programlama belleği (EEPROM özellikli program belleği), 368 Byte kullanıcı RAM belleği ve 256 Byte EEPROM belleği olmak üzere üç adet bellek bloğu vardır.
- 8 Kword ‘lük Flash ROM programlama belleği 1000000 kez programlanabilir.
- 8 bitlik veri yolu (databus) vardır.
- 14 kaynaktan kesme yapabilir.
- 3 adet zamanlayıcı-sayıcı(TIMER) vardır.
- TMR0 8 bit bir zamanlayıcı-sayıcıdır.Okunabilir ve yazılabilir.dahili ve harici clock seçimi yapılabilir. FFh’ten 00h’a dönünce kesme üretir.Harici saat sinyali için kenar seçimi yapılabilir.
- TMR1 16 bit bir zamanlaycı-sayıcıdır. Okunabilir ve yazılabilir. Dahili ve harici clock seçimi yapılabilir. FFFFh’tan 0000h’a taşma durumunda kesme üretir. CCP modülünden resetleme.
- TMR2 8 bit zamanlayıcı(TMR2 kaydedici). 8 bit peryod kaydedici(PR2). Okunabilir ve yazılabilir. Yazılımla programlanabilir prescaler. TMR2,PR2 eşleşmesinde kesme üretir. PWM sinyali üretebilir.
- İki Capture / Compare / PWM modülü
- Senkron seri port (SSP), SPI (Master mod) ve I2C (Master Slave) ile birlikte
- Paralel Slave Port, 8 bit genişlikte ve dış RD, WR, CS kontrolleri
- USART/SCI, 9 bit adres yakalamalı
- BOR Reset (Brown Out Reset) özelliği
- İki Capture / Compare / PWM modülü
- 10 bit çok kanallı A/D çevirici
Bu kullanacağımız, PIC16F877A, mikrodenetleyicinin blok diyagramı incelendiğinde denetleyicinin donanım mimarisini anlayabilmek daha kolay olacaktır.
16F877 ve 16F877A Arasındaki Farklar
PIC16F877 ve PIC16F877A mikrodenetleyicileri arasında kullanım ve programlama açısından pratik bir fark yok. Aralarındaki bazı farklar PIC16F877A’nın daha gelişmiş olması ve Analog karıştırıcılarının bulunmasıdır. 16F877A’da kullanılan EEPROM’un erişim hızı ve ömrü daha yüksektir. 16F877’de EEPROM’a yazılırken tek word uzunluğunda, 16F877A’da ise 4-word uzunlukta bloklar halinde yazılır.
Bir sonraki yazımda bellek organizasyonu, besleme uçları ile bağlantıları ve osilatör bağlantısından bahsedeceğiz.