PIC 12F675 ile Çok Fonksiyonlu Flaş LED Projesi

Bu proje; kompakt yapısı sayesinde RC araçlarda, uçak kanat aydınlatmalarında veya dikkat çekici uyarı tabelalarında kullanılabilir. 12F675'in küçük boyutu, devrenin her yere sığmasını sağlar.

1. 12F675'in 16F84'ten Farkı (Teknik Not)

Bu işlemciye geçerken üyelerin en çok takıldığı noktalar şunlardır:
  • Pin İsimleri: 16F84'teki PORTA veya PORTB burada yoktur; tüm pinler GPIO olarak adlandırılır (GPIO.0 - GPIO.5).
  • Dijital Ayarı: Bu işlemcide pinler varsayılan olarak "Analog" açılır. Dijital giriş/çıkış olarak kullanmak için kodun başına mutlaka CMCON = 7 (Karşılaştırıcıları kapat) ve ANSEL = 0 (Analog girişleri dijital yap) eklenmelidir.
  • MCLR Pini: 4 nolu pin (GPIO.3) sadece giriş olarak kullanılabilir, çıkış yapılamaz.

2. Devre Şeması Mantığı

  • Besleme: 5V DC (78L05 ile regüle edilmiş).
  • LED Bağlantısı: GPIO.0, GPIO.1 ve GPIO.2 pinlerine 330 ohm dirençler üzerinden LED'ler bağlanır.
  • Hız Ayarı (Opsiyonel): Eğer flaş hızını değiştirmek isterseniz, GPIO.4 pinine bir potansiyometre bağlayıp ADC üzerinden hız kontrolü yapabilirsiniz.

3. Örnek Flaşör Kodu (PicBasic Pro)

Usta, senin tarzında sade ve etkili bir flaşör kodu:
Kod:
@ DEVICE pic12F675, INTRC_OSC_NOCLKOUT, WDT_OFF, PWRT_ON, MCLR_OFF
DEFINE OSC 4
DEFINE OSCCAL_1K 1 ' Kalibrasyon değerini koru

CMCON = 7 ' Komparatörler kapalı
ANSEL = 0 ' Tüm pinler dijital
TRISIO = %000000 ' Tüm pinler çıkış (GPIO.3 hariç)

BASLA:
    GPIO = %000111 ' İlk 3 LED yansın
    PAUSE 500      ' yarım saniye bekle
    GPIO = %000000 ' Sön
    PAUSE 500
    GOTO BASLA

Usta Tavsiyesi: "OSCCAL" Değerini Silmeyin!

Usta, bu konunun en önemli uyarısı şudur: 12F675'lerin en son hafıza adresinde (3FFh) fabrikada yüklenmiş bir "hız kalibrasyon değeri" bulunur. Eğer işlemciyi silerken bu değeri de uçurursanız, dahili osilatör kararsız çalışır.
  • Çözüm: Programlayıcı ile işlemciyi okuyun, en sondaki değeri bir kenara not edin. Eğer silinirse, manuel olarak tekrar o adrese yazın.
 
Geri
Yukarı