PIC16F84A-04/P DIP18 8-Bit 20MHz Mikrodenetleyici
PIC16F84A, Microchip firmasının ürettiği 8-bit RISC mimarili, Flash tabanlı bir mikrodenetleyicidir. 1K x 14 bit program belleği, 68 bayt veri RAM'i ve 64 bayt dahili EEPROM'u tek bir 18 pinlik DIP gövdede bir araya getirir. 13 adet genel amaçlı giriş/çıkış hattı, dahili 8-bit zamanlayıcı (TMR0), donanımsal watchdog timer ve düşük güçlü SLEEP modu sayesinde hem basit dijital anahtarlama hem de zamanlamaya dayalı kontrol devrelerinde kullanılabilir. Devre üzerindeyken yeniden programlanabildiği (ICSP) için prototip aşamasında kod defalarca değiştirilip aynı çipe yazılabilir; bu özellik onu eğitim kurumlarında ve hobi projelerinde uzun yıllardır tercih edilen bir klasik haline getirmiştir.
Teknik Özellikler
| Üretici / Seri | Microchip Technology, PIC16F84A |
| Çekirdek Mimarisi | 8-bit RISC, 35 adet tek kelimelik komut seti |
| Program Belleği (Flash) | 1K x 14 bit (1024 kelime), yeniden yazılabilir |
| Veri Belleği (RAM) | 68 bayt |
| Veri EEPROM | 64 bayt (kalıcı, güç kesilse de veri korunur) |
| Kılıf Tipi | 18 pin DIP (PDIP18) |
| Maksimum Osilatör Frekansı | 20 MHz (ürün adında belirtilen değer) |
| Çalışma Gerilimi | 4,0V - 5,5V DC (HS osilatör modunda 4,5V - 5,5V). 2,0V'a kadar inen düşük gerilim sürümü PIC16LF84A'dır. |
| G/Ç (I/O) Pin Sayısı | 13 hat (PORTA: 5 hat, PORTB: 8 hat) |
| Zamanlayıcı | 1 adet 8-bit TMR0, 8-bit ön bölen (prescaler) ile |
| Kesme Kaynağı Sayısı | 4 (harici INT, TMR0 taşması, PORTB<7:4> (RB4-RB7) değişim kesmesi, EEPROM yazma tamamlanması) |
| Donanımsal Stack Derinliği | 8 seviye |
| Watchdog Timer (WDT) | Var, ayrı dahili RC osilatörlü |
| Osilatör Seçenekleri | 4 mod: LP, XT, HS, RC |
| Programlama Arayüzü | ICSP (Devre Üzeri Seri Programlama), 2 pin (PGC/PGD) |
| Kod Koruması | Programlanabilir kod koruma özelliği mevcut |
| Çalışma Sıcaklığı | 0°C ile +70°C arası (ticari sınıf) |
| Güç Tasarrufu | SLEEP modu ile düşük akım tüketimi |
| Komut Çevrimi | Her komut 4 osilatör saat darbesinde yürütülür (Tcy = 4/Fosc) |
| Program Sayacı Genişliği | 13-bit |
| Flash / EEPROM Dayanıklılığı | Yaklaşık 10.000 Flash program yazma/silme, 10.000.000 EEPROM yazma/silme döngüsü (tipik); EEPROM veri saklama süresi >40 yıl |
Öne Çıkan Özellikler
- 1K x 14 bit Flash program belleği sayesinde çip UV pencereli EPROM'lardan farklı olarak devre üzerinde defalarca silinip yeniden programlanabilir.
- 64 bayt dahili EEPROM, besleme kesilse bile kalibrasyon değeri, sayaç bilgisi veya kullanıcı ayarı gibi verilerin kalıcı olarak saklanmasına imkan tanır.
- 13 adet çift yönlü G/Ç hattından oluşan PORTA ve PORTB, yazılımla giriş veya çıkış olarak ayrı ayrı yapılandırılabilir.
- 8 seviyeli donanımsal stack, alt programların (subroutine) iç içe çağrılmasını donanım seviyesinde destekler.
- Dahili watchdog timer, yazılımın kilitlenmesi durumunda sistemi kendiliğinden sıfırlayarak kararlılığı artırır.
- Dört farklı osilatör modu (LP, XT, HS, RC) ve SLEEP modu ile devrenin hızı ve güç tüketimi uygulamaya göre ayarlanabilir.
- 18 pinlik DIP kılıf, breadboard, delikli (perfboard) ve soketli devrelerde ek adaptör gerekmeden doğrudan kullanılabilir.
Kullanım Alanları
- Buton veya anahtar girişine göre LED, röle ya da motor sürücüsü çıkışını kontrol eden basit otomasyon devreleri kurmak.
- TMR0 zamanlayıcısı ile saniye/dakika bazlı sayım yapan dijital zaman rölesi veya geri sayım devresi tasarlamak.
- PORTB<7:4> (RB4-RB7) hatlarından birine bağlanan kapı veya pencere sensöründen gelen değişim kesmesini algılayıp basit bir alarm devresi tetiklemek (harici kesme gerekiyorsa RB0/INT hattı da kullanılabilir).
- EEPROM'a kullanıcı ayarını veya son durumu yazıp güç kesildikten sonra kaldığı yerden devam eden küçük ölçekli cihazlar geliştirmek.
- Üniversite ve meslek lisesi mikrodenetleyici derslerinde assembly ya da C ile programlama öğretimi için giriş seviyesi deney kartı hazırlamak.
- 7 segment gösterge veya birkaç LED'den oluşan basit gösterge panelini yazılımla tarayarak sürmek.
- Eski nesil, PIC16F84A tabanlı devre kartlarının bakım ve onarımında orijinal çipin yerine takmak.
Bağlantı ve Kullanım
18 pinlik DIP gövdede 14 numaralı pin besleme (VDD, +5V), 5 numaralı pin toprak (VSS) hattıdır; 15 ve 16 numaralı pinlere (OSC2/OSC1) devrenin çalışma frekansına uygun kristal veya RC osilatör devresi bağlanır. 17, 18, 1, 2 ve 3 numaralı pinler PORTA'yı (RA0-RA4), 6 ile 13 arasındaki pinler ise PORTB'yi (RB0-RB7) oluşturur ve her biri yazılımla giriş veya çıkış yönünde ayarlanabilir. 4 numaralı MCLR pini normal çalışmada dirençle +5V'a çekilir; devre üzerinde programlama yapılacaksa ICSP konektörü MCLR, VDD, VSS ile RB6/PGC ve RB7/PGD hatlarına bağlanarak çip yuvasından çıkarılmadan programlanabilir. RB0/INT hattı harici kesme girişi, RA4/T0CKI hattı ise TMR0 için harici darbe sayacı girişi olarak da kullanılabilir. Kararlı çalışma için VDD-VSS arasına devre kartı üzerinde, mümkünse çipe yakın konumda 100 nF değerinde bir seramik baypas kondansatörü eklenmesi önerilir; bu, besleme hattındaki ani gürültülerin çipi etkilemesini azaltır. Seri haberleşme donanımı bulunmadığından, bir bilgisayarla veri alışverişi gerekiyorsa RB0-RB7 hatlarından yazılımsal (bit-banging) bir UART ya da harici bir MAX232/USB-seri dönüştürücü devresi kurulmalıdır.
Paket İçeriği
- 1 adet PIC16F84A-04/P mikrodenetleyici (18 pin DIP kılıf)
- Statik elektriğe karşı koruyucu iletken ambalaj
Dikkat Edilmesi Gerekenler
- Bu entegreyi programlamak için PIC16F84A'yı destekleyen ayrı bir donanımsal programlayıcı (örneğin PICkit veya JDM tipi bir programlayıcı) gerekir; paket içeriğinde programlayıcı bulunmaz.
- MCLR pini boşta bırakılmamalı, dirençle +5V hattına çekilmelidir; aksi halde çip beklenmedik şekilde sürekli reset döngüsüne girebilir.
- CMOS teknolojili bir entegre olduğundan statik elektriğe (ESD) duyarlıdır; elle taşırken antistatik önlem alınmalı, pin uçlarına doğrudan temas edilmemelidir.
- Besleme gerilimi 4,0V - 5,5V aralığının dışına çıkarılmamalı, VDD/VSS pinleri ters bağlanmamalıdır; aksi halde çip kalıcı hasar görebilir.
- OSC1/OSC2 hatlarına bağlanan kristal veya rezonatörün değerine uygun yük kondansatörleri kullanılmazsa osilatör kararsız çalışabilir veya hiç başlamayabilir.
- Devre üzerinde (ICSP) programlama yapılacaksa PGC/PGD olarak kullanılan RB6/RB7 hatlarının devredeki diğer bileşenlerle (özellikle programlama sırasında aktif olan başka bir çıkış) çakışmamasına dikkat edilmelidir.
- PIC16F84A, Microchip'in eski nesil bir ailesidir; sadece 13 G/Ç hattı ve 68 bayt RAM sunar, bu yüzden daha fazla bellek, ADC veya iletişim çevre birimi gereken projelerde PIC16F887 veya PIC16F628A gibi daha yeni modeller değerlendirilmelidir.
- Program yazılırken hedef çipin gerçekten PIC16F84A olduğu (PIC16F84 veya PIC16CR84 gibi benzer isimli eski modellerle karıştırılmadan) derleyici/programlayıcı ayarlarından doğrulanmalıdır; aksi halde bellek haritası uyuşmazlığından programlama başarısız olabilir.