PIC Entegreleri, özellikle Mid-Range serisi, düşük güç tüketimi ve yüksek performanslı yapılarıyla popülerdir. Bu yazıda, bu entegrelerde pin ayarlarının nasıl yapılacağını detaylı bir şekilde ele alıyoruz. Yazı boyunca TRIS, ANSEL ve LAT gibi temel kavramları, örneklerle destekleyerek açıklıyoruz.
Mid-range pin ayarlama, pic entegrenin ve programcının hangi koşullarda çalışacağını ve işlem modunu ayarlamamızda işimize oldukça yarıyor, entegremize güç geldiğinde hangi cihazın çalışacağına karar veren mekanizma gibi düşünebiliriz ayrıca bu bilgiler program belleğinin “2007h” bölgesinde bulunur, normal çalışma esnasında buraya erişilemez sadece programlama esnasında buraya müdahele edebiliriz.Yerleştirmesi ICSP programcısı tarafından otomatik olarak atanır,
PIC Entegreleri İçin Pin Yönlendirmesi: Giriş mi Çıkış mı?
PIC mikrodenetleyicilerde her pin ya giriş (input) ya da çıkış (output) olarak çalıştırılabilir. Pin yönlendirmesi, TRIS kaydı kullanılarak yapılır:
- 1: Pin giriş modunda çalışır.
- 0: Pin çıkış modunda çalışır.
Örnek Kod:
Analog ve Dijital Seçim
Bazı pinler hem analog hem dijital olarak kullanılabilir. Bu ayar ANSEL veya ADCON1 kaydı üzerinden yapılır.
- 0: Pin analog modda çalışır.
- 1: Pin dijital modda çalışır.
Örnek Kod:
Çıkış Pinleri için Değer Atama
Çıkış olarak ayarlanan pinlere lojik değer atamak için LATX veya PORTX kullanılır:
- LATX: Çıkış pinlerini kontrol etmek için daha güvenilirdir.
- PORTX: Pin durumlarını okumak için kullanılır.
Örnek Kod:
Weak Pull-Up Kullanımı
Giriş modunda olan pinler için zayıf çekme direnci (weak pull-up) etkinleştirilerek lojik kararsızlık önlenir. Bunun için OPTION_REG ve WPUX ayarları yapılır.
Örnek Kod:
Kesme Ayarları (Interrupt)
Bazı pinlerde kesme (interrupt) özellikleri kullanılarak olay temelli bir sistem oluşturabilirsiniz.
Örnek Kod:
Pratik Bir Örnek: LED Yakma
Bu örnek, bir giriş pininden veri alarak çıkış pinindeki bir LED’i kontrol eder:
Bu dizide “mikroC” ve “MPBLAB” uygulamasından ayarları göstereceğiz.
MPBLAB Ayarları
- MikroC‘de Project >> Edit Project ile devam ediyoruz

MPLAB’da bu bilgileri doğrudan kod içinde de değiştirebiliriz yada “Configuration Bits tool” ile de değiştirebiliriz.
- Configure >> Configuration Bits

Pic ‘e Ayarlanan Pinlerin Anlamları
Osilatör Seçme Bitleri
Saat hızını belirlemek için kullandığımız osilatör 8 farklı modda olabilir;

Watchdog Zamanlayıcısı (WDT)
Watchdog. Programda ayarlanan süre sonunda programa reset attırır. “Genelde” PIC’ler Sleep modda iken kullanılır. PIC uyutulur ve içindeki programın belli bir süre sonra tekrar çalışması için WDT reset atar. WDT’nin diğer kullanim amacıda programi koşar halde tutmaktır. Program çalışırken doğru kilit noktalarında bu timerı sıfırlarsanız programin doğru çalıştığından emin olursunuz. Aksi halde donanImsal veya yazilimsal bir eksikden dolayi işlemci takıldıysa, WDT programı resetler, sistem doğru çalışma konumuna geri döner.
POWER UP Zamanlayıcısı (PWRT)
Power up timer(PWRT) sisteme enerji verildiğinide gerilimin hemen VDD seviyesine ulaşamamasından dolayı PICi belli bir süre boyunca (72ms) reset konumunda tutar.Yani bu süre boyunca PICin istenmeyen durumlar oluşturması engellenir.
Brown-OUT Reset (BOR)
PIC in besleme gerilimi düştüğünden istenmeyen durumlardan kaçınmak için kendisine RESET atması olayıdır.
Code & Data Protection
Bu durumlarda ise pic’e ve veri yazma/okuma/işleme gibi etkinlikleri yok saymak için kullanılır
Mid-Range serisi PIC mikrodenetleyicilerde pin ayarları oldukça esnektir ve yukarıdaki adımları doğru şekilde takip ederek projelerinizde istediğiniz sonuçları elde edebilirsiniz. TRIS, ANSEL ve LAT ayarlarını iyi anlamak, stabil ve etkili bir sistem kurmanızda kritik öneme sahiptir.
Pin Ayarlamada Sık Yapılan Hatalar
- TRIS unutulması: Pin yönü tanımlanmadan yapılan yazma/okuma işlemleri beklenmeyen sonuçlara neden olur.
- ANSEL çakışması: Analog modda bırakılan pinlerden dijital okuma yapmaya çalışmak hatalıdır.
- PORT yerine LAT kullanımı: Çıkış sürerken PORT yazmak yerine LAT kullanmak daha güvenilir sonuç verir.
- Pull-up eksikliği: Buton girişlerinde weak pull-up kullanılmaması pinin “floating” kalmasına yol açar.
Önerilen Başlangıç Akışı
- Konfigürasyon bitlerini (osilatör, WDT, BOR, vb.) belirleyin.
- Kullanılacak portlar için TRIS ayarlarını yapın.
- İlgili pinlerde ANSEL/ADCON1 ile analog-dijital seçimi tamamlayın.
- Gerekliyse pull-up ve interrupt ayarlarını etkinleştirin.
- Son adımda LED veya UART gibi basit bir testle pinleri doğrulayın.
Debug Kontrol Listesi
- Osilatör frekansı ve proje ayarları aynı mı?
- Pin gerçekten çıkış mı, giriş mi ayarlanmış?
- Analog pin yanlışlıkla açık bırakılmış olabilir mi?
- Kesme bayrakları temizleniyor mu?
- Donanım bağlantısı (GND/VCC) doğru ve stabil mi?
Doğru yapılandırılmış pin yönetimi, PIC tabanlı tüm projelerin temelini oluşturur. Özellikle TRIS, ANSEL ve LAT ilişkisini iyi kavradığınızda daha hızlı, kararlı ve hata ayıklaması kolay sistemler geliştirebilirsiniz.
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.

