PIC16F877A-I/P DIP40 8-Bit 20MHz Mikrodenetleyici
PIC16F877A-I/P, Microchip firmasının ürettiği, 40 pinli DIP (PDIP) kılıflı 8-bit RISC mimarili bir mikrodenetleyicidir. İçinde 8K kelimelik (14,3 KB) Flash program belleği, 368 bayt RAM ve 256 bayt EEPROM veri belleği barındırır; yazılan program Flash'ta kalıcı olarak saklanırken, ölçüm sonucu veya ayar değeri gibi veriler enerji kesilse bile EEPROM'da korunmaya devam eder. 10-bit çözünürlüklü 8 kanallı analog-dijital çevirici, 3 zamanlayıcı, 2 CCP modülü ve I2C/SPI/USART seri haberleşme birimleri sayesinde sensör okuma, motor sürme ve haberleşme gibi görevleri tek bir çip üzerinde toplar. 20 MHz'e kadar harici kristal ile çalışabilen bu denetleyici, hobi projelerinden eğitim setlerine ve küçük ölçekli endüstriyel kontrol devrelerine kadar geniş bir kullanım alanına sahiptir.
Teknik Özellikler
| Mikrodenetleyici Ailesi | Microchip PIC16F87XA serisi, 8-bit RISC mimari |
| Program Belleği (Flash) | 8K kelime (8192 x 14 bit, yaklaşık 14,3 KB) |
| Dahili RAM | 368 bayt SRAM |
| Dahili EEPROM | 256 bayt veri EEPROM |
| Maksimum Çalışma Frekansı | 20 MHz (harici kristal/osilatör ile) |
| Komut Çevrim Süresi | 200 ns (20 MHz'de, Tcy = 4/Fosc) |
| Çalışma Gerilimi | 2.0V - 5.5V DC |
| Giriş/Çıkış Pin Sayısı | 33 adet (PORTA, PORTB, PORTC, PORTD, PORTE) |
| Analog-Dijital Çevirici (ADC) | 10-bit çözünürlük, 8 kanal |
| Zamanlayıcı (Timer) Sayısı | 3 adet (Timer0, Timer1, Timer2) |
| CCP Modülü | 2 adet Capture/Compare/PWM modülü |
| Seri Haberleşme | MSSP (I2C, SPI) ve USART (senkron/asenkron) |
| Kesme (Interrupt) Kaynağı | 15 adet |
| Komut Seti | 35 adet tek kelimelik komut |
| Donanımsal Yığın (Stack) | 8 seviye derinliğinde |
| Kılıf Tipi | 40 pin DIP (PDIP), delikli montaj (THT) |
| Watchdog Timer | Dahili RC osilatörlü, bağımsız çalışan WDT |
| Programlama Arayüzü | ICSP (In-Circuit Serial Programming), 2 pin üzerinden |
Öne Çıkan Özellikler
- 8K kelimelik (14,3 KB) Flash program belleği sayesinde orta ve büyük ölçekli uygulama yazılımları rahatça sığar.
- 368 bayt RAM ve 256 bayt dahili EEPROM ile hem hızlı değişken işleme hem de kalıcı veri saklama imkanı bir arada sunulur.
- 10-bit çözünürlüklü 8 kanallı ADC modülü, analog sensörlerden hassas ölçüm almayı sağlar.
- 2 adet CCP modülü ile motor sürücülerinde PWM sinyali üretmek veya harici bir sinyali zaman damgasıyla yakalamak (capture) mümkündür.
- Dahili MSSP birimi I2C ve SPI protokollerini donanımsal olarak desteklerken, ayrı bir USART birimi RS-232/RS-485 tabanlı seri haberleşmeyi kolaylaştırır.
- ICSP desteği sayesinde entegre soketten çıkarılmadan, devre üzerindeyken yeniden programlanabilir.
- Dahili Watchdog Timer, yazılım kilitlenmesi durumunda denetleyiciyi otomatik olarak resetleyerek kararlı çalışmayı destekler.
Kullanım Alanları
- Sıcaklık/nem sensöründen (örneğin LM35 veya DHT11) gelen analog ya da dijital verinin okunup LCD ekranda gösterildiği ev otomasyonu projeleri.
- Step motor veya DC motorun CCP modülünden üretilen PWM sinyaliyle hız ve yön kontrolünün yapıldığı robot kol veya konveyör bant uygulamaları.
- Toprak nem sensöründen ADC ile alınan değer belirli bir eşiğin altına düştüğünde röle üzerinden sulama valfini açan otomatik sulama sistemleri.
- I2C hattı üzerinden bağlanan bir RTC modülünden (DS1307/DS3231) saat bilgisinin okunup zaman damgalı ölçüm kaydı tutan veri kayıt (data logger) cihazları.
- USART üzerinden bilgisayara veya bir GSM modüle bağlanıp ölçüm sonuçlarını seri port ya da SMS ile ileten uzaktan izleme sistemleri.
- Öğrencilerin kesme (interrupt), zamanlayıcı ve seri haberleşme konularını uygulamalı öğrendiği gömülü sistem eğitim setleri.
- Buton girişlerinin PORTB üzerinden okunup röle çıkışlarıyla bir motor kontaktörünün sürüldüğü basit kontrol panosu devreleri.
Bağlantı ve Kullanım
Çalışması için OSC1 ve OSC2 uçlarına, kullanılacak frekansa (20 MHz'e kadar) uygun bir kristal ile birlikte 15-33 pF aralığında iki adet seramik kondansatör bağlanmalı; MCLR pini ise yaklaşık 10 kΩ'luk bir direnç üzerinden besleme hattına (VDD) çekilerek reset devresi tamamlanmalıdır. Güç için VDD pinleri 5V'a, VSS pinleri ise toprağa (GND) bağlanır; besleme hattındaki gürültüyü azaltmak için VDD-VSS arasına 100 nF'lık bir seramik kondansatör konması önerilir. Analog sensörler PORTA ve PORTE üzerindeki AN0-AN7 analog giriş pinlerine, I2C cihazlar PORTC üzerindeki SCL/SDA pinlerine, seri haberleşme ise USART biriminin TX/RX pinlerine bağlanır. İlk programlama veya yazılım güncellemesi için ICSP hattındaki PGC, PGD, MCLR/VPP ve besleme pinleri bir PICkit veya benzeri bir programlayıcıya bağlanmalıdır. Konfigürasyon bitlerinden kullanılacak osilatör modu (LP, XT, HS veya RC) devredeki kristal veya RC devresine uygun seçilmelidir; yanlış seçim denetleyicinin hiç çalışmamasına ya da beklenenden farklı bir hızda çalışmasına yol açar. RB3/PGM pini üzerinden düşük gerilimli ICSP (LVP) programlama da desteklenir; ancak bu özellik açıkken RB3 pini genel amaçlı giriş/çıkış olarak kullanılamaz, bu yüzden proje RB3'ü kullanacaksa LVP biti kapatılıp klasik yüksek gerilimli (VPP yaklaşık 13V) programlamaya geçilmelidir. PORTB pinlerinde yazılımla açılıp kapatılabilen dahili pull-up dirençleri bulunur; buton veya switch bağlarken bu özellik etkinleştirilerek harici direnç ihtiyacı ortadan kaldırılabilir.
Paket İçeriği
- 1 adet PIC16F877A-I/P mikrodenetleyici (40 pin DIP kılıf, "-I/P" kod uzantısıyla belirtilen endüstriyel sıcaklık sınıfında üretim)
- Pinleri eğilmeye ve taşıma sırasında oluşabilecek statik elektriğe karşı koruyan antistatik köpük/tüp ambalaj
- Kristal, kondansatör, programlayıcı, breadboard veya bağlantı kablosu gibi ek aksesuarlar pakette bulunmaz; çalışır bir devre kurmak için bu parçaların ayrıca temin edilmesi gerekir, gönderilen tek parça entegrenin kendisidir
Dikkat Edilmesi Gerekenler
- Bu ürün çıplak bir entegredir; çalışması için ayrıca kristal osilatör, reset direnci ve bir programlayıcı (PICkit, ICD vb.) gereklidir. Üzerindeki "-I/P" kod uzantısı, entegrenin endüstriyel sıcaklık sınıfında (-40°C ile +85°C arası) çalışacak şekilde üretildiğini ve 40 pinli DIP (PDIP) kılıfta olduğunu belirtir; dış ortam veya sıcaklık dalgalanması yüksek uygulamalarda bu aralığın dışına çıkılmamalıdır.
- Statik elektriğe (ESD) karşı hassastır; entegreyi devreye takıp çıkarmadan önce topraklama yapılmalı, mümkünse antistatik bileklik kullanılmalıdır.
- MCLR pini yanlışlıkla toprağa bağlanırsa denetleyici sürekli reset durumunda kalır ve program çalışmaz; bu pinin dirençle VDD'ye çekili olduğundan emin olunmalıdır.
- Birden fazla olan VDD ve VSS pinlerinin tamamı bağlanmalıdır; yalnızca bir çiftin bağlanması entegrenin kararsız çalışmasına veya hiç çalışmamasına yol açabilir.
- Programlama sırasında konfigürasyon (fuse) bitleri kullanılan devreyle uyumlu seçilmezse -örneğin yanlış osilatör tipi seçilirse- kart programlanmış görünse de kristal ile çalışmayabilir.
- Entegre soketten çıkarılıp takılırken pinlerin eğilmemesine dikkat edilmeli, üzerindeki pin 1 işaretine bakılarak yönü doğru takılmalıdır.