PIC16F877 Portlar
Giriş Çıkış Portları ve Kesmeler
PIC16F877 denetleyicisinde A,B,C,D ve E olmak üzere 5 adet giriş ve çıkış portları bulunmaktadır. Bu portlar programın başında belirtilerek giriş veya çıkış olarak kullanılabilir. Bir port dijital giriş/çıkış olarak kullanılabildiği gibi aynı zamanda analog giriş olarak da kullanılabilir.
Port A
6 bitlik bu port hem hem dijital giriş çıkış hemde analog giriş çıkış görevi yapabilmektedir. A portunda bulunan RA4 pini diğer pinlerden özel bir duruma kollektör özelliğine sahiptir. Bu pin çıkış olarak kullanılacaksa mutlaka bir Pull-up direnci ile beslemeye bağlanması gerekir.
Port B
8 bitlik bir dijital giriş çıkış portudur. Pin girişi Fet kanal ile kaynak arasında gösterdiği yüksek direnç ile beslemeye bağlanmış, dolayısıyla dahili pull up bağlantısı sağlanmıştır.
Port B giriş olarak kullanıldığında girişte sinyal yokken girişi lojik 1 olarak algılar. Ek dirence gerek olmadan buton giriş uygulamalarında kullanılabilir. Pull -up Program ile aktif veya pasif hale getirilebilir.
Port C
Diğer portlara nazaran daha fazla fonksiyon içerisinde barındırır. 8 bit’lik dijital giriş çıkış portudur.
Port D
D portuda C portuna benzer özellikler gösterir. D portu 8 bitlik bir porttur.
Port E
E portu 3 bitlik dijital giriş çıkış portudur.
Kesmeler
Mikrodenetleyicide yüklü olan programın çalışması devam ederken programın akışının kesilip önceliğin başka bir yere verilmesi olayıdır, program işlemekte olduğu komutları yarıda keserek kesme işlemine öncelik verir. Kesme işlemi sonu erdikten sonra program kaldığı yerden çalışmaya devam eder. Kesme işlemi bir porta bağlanıp kontrol ettirmek yerine kesme portlarının olduğu yere bağlanması programın akışını hızlandır.
PIC16F877’de 14 adet kesme vardır:
- RB0 Harici Kesmesi
- RB4-RB7 Değişiklik Kesmesi
- Değişiklik Kesmesi
- Timer0 Birimi Taşma Kesmesi
- Timer1 Birimi Taşma Kesmesi
- Timer2 Birimi Taşma Kesmesi
- A/D Çevrimi Sırasında Meydana gelen Kesme
- CCP1 Modülü Kesmesi
- CCP2 Modülü Kesmesi
- Paralel Port’tan Veri Gelme Kesmesi
- SPI veya IC iletişimi Kesmesi
- EEPROM’A Veri Yazma Sonlandığında
- RS32 Seri İletişiminde
- Bus Collision