Bu uygulamada PIC 16F628A kullanarak LED ile flash yapacağız, yani LED'in parlaklığını artırarak önce yakacağız sonra söndüreceğiz ve bu işlem sürekli devam edecek.
Bu uygulama için şu konuda yer alan devreyi kullanabilirsiniz.
;-------------------195 MS LİK
GECİKME----------------------------------
UZUN_GECIKME
MOVLWH'FF'
MOVWFSAYAC1;SAYAC1
E H'FF' DEĞERİNİ YÜKLE
DONGU1
MOVLWH'FF'
MOVWFSAYAC2;SAYAC2
YE H'FF' DEĞERİNİ YÜKLE
DONGU2
DECFSZSAYAC2,1;SAYAC2
İ 1 AZALT VE SAYAC2 ÜZERİNE KAYDET 0 SA BİR SONRAKİ KOMUTU ATLA
GOTODONGU2
DECFSZSAYAC1,1;SAYAC1
İ 1 AZALT VE SAYAC1 ÜZERİNE KAYDET 0 SA BİR SONRAKİ KOMUTU ATLA
GOTODONGU1
RETURN
END
Kodun Mantığı
LED'i yakarken çıkış gerilimini yavaş yavaş artırarak LED'in ışık şiddetini artırarak yakmış olduk. Önceki uygulamaların bir kısmında yaptığımız gibi bu uygulamada da çıkış gerilimini ayarlamak için PWM metodunu kullandık. Çıkışa düz bir sinyal değil de kare dalga göndererek gerilimi ayarlamış olduk. Kare dalgayı ise şu şekilde üretiyoruz: Önce çıkışı 1 yapıyor ardından bir süre gecikme koyuyoruz, sonra 0 yapıp gene ardından bir süre gecikme koyuyoruz. İşte çıkış gerilimini belirleyen de bu sürelerin uzunlukları oluyor. Çıkış geriliminin nasıl hesaplandığını şu konudan öğrenebilirsiniz. i değişkenine yüklediğimiz sayıyı artırarak ledin daha yavaş bir biçimde yanmasını sağlayabilirsiniz.
süper
Yazan:: yahodan (Kayıtlı ) Tarih: 31-10-2008 06:14
» Yorumu cevapla...