 | Elektrotekno.com Elektronik ve Teknoloji Merkezi
| | Yazar | Mesaj | dcateam | | Tarih: 06.02.2008, 18:09 Mesaj konusu: pic basic ile çoklu çıkış olarak pwm kontrolü | |
| arkadaşlar sorum şudur. 16f84 ile rgb led kontrolü yapacagım bi proje hazırlamak istiyorum.
ledleri sırası ile yakıyorum.16f84 portb.1-portb.2-portb.3 çıkışlarından ayrı ayrı 1-0 göndererek 8 adet renk elde ettim
benim istedigim bu çıkışları farklı olarak pwm kontrolü yapmak ama bi türlü beceremedim.
yani kısacası şöyle söyleyeyim mesela beyaz rengi elde etmek için bütün çıkışları 1 yaptım ve beyaz rengi elde ettim.
bundan sonra beyaz rengi yavaş yavaş kısacagım sonra yavaş yavaş açacagım.bunuda yaptım. bundan sonra bi rengi kontrol edecek döngüyü kuramadım.
anlayacagınız 8 renk teker teker yanacak ondan sonrada aynı renkler kısılıp açılarak teker teker yacanak bu döngüyü kurmak için yardımlarınızı bekliyorum. iyi çalışmları bu arada ömer devrem hoşgeldi askerden ben daha yeni fırsat buldum siteye girmeyi.
DUTY VAR BYTE
BASLA:
FOR DUTY=255 to 0 step -1
GOSUB PALS
next
FOR DUTY=0 to 255
GOSUB PALS
NEXT
GOTO BASLA
PALS:
HIGH PORTC.0
PAUSEUS (Duty*230)
LOW PORTC.0
PAUSEUS (255-DUTY)*230
RETURN
|
|
|
|
ta2mc | | Tarih: 06.02.2008, 19:30 Mesaj konusu: | |
| HIGH PORTC.0 yerine, LED adında bir değişken tanımlayıp, parlaklığını değiştirmek istediğiniz rengin bağlı olduğu port değerini atayarak çevrime sokabilirsiniz.
Zaten 16F84'de C portu olmadığına göre; PortB.0 yerine sadece 0, PortB.1 yerine sadece 1 diyebilirsiniz.
Yani, programınızı
LED = 0 : Gosub PALS ' PortB.0'daki led
LED = 1 : Gosub PALS ' PortB.1'deki led
LED = 2 : Gosub PALS ' PortB.2'deki led
ve PALS altprogramında da ilgili satırları;
HIGH LED
LOW LED
şeklinde düzenleyerek, istediğiniz sonuca ulaşabilirsiniz.
Kolay gelsin.
|
|
|
|