Y

LED ANİMASYON YARDIM

Başlatan ybzbl, 05 Nisan 2013, 16:38:29

ybzbl

Öncelikle iyi günler bir led animasyon yapmak istiyorum ama:
2 buton olacak ve Port B ye baglı olan ledlerde butonlara basınca led animasyonunun değişmesini  istiyorum.
Yazdıgım program istediğim gibi çalışmadı yardım edebilecek biri varmı acaba işte program...


Define osc 4   
TRISB = %00000000   
TRISD=255       
PORTB =0

D1 VAR BYTE           'buton değişkenleri
D1=0
D2 VAR BYTE
D2=0

AYAR:   
BUTTON PORTD.0,0,100,100,D1,1,SEKIL1                     'buton kontrolü  aslında ben bunu if then ile de yaptım ama yine çalıştıramadım..
BUTTON PORTD.1,0,100,100,D2,1,SEKIL2

SEKIL1:                                                                          'birinci butona basılınca ledlerde oluşması gereken animasyon
PORTB=255
PAUSE 500
PORTB=0
PAUSE 500
GOTO SEKIL1

SEKIL2:                                                                          'ikinci butona basılınca ledlerde oluşması gereken animasyon
PORTB=%01010101
PAUSE 500
PORTB=%10101010
PAUSE 500
GOTO SEKIL2
End


yardım ederseniz sevinirim kolay gelsin

pwm3434

#1
yazmış  olduğun kodlarda bir  takım  değişiklikler  yaptım bu  şekilde  dene  çalışması  gereklidir. eğer  yinede  çalıştıramazsan devre  montajını  kontrol  et.

Define osc 4   
TRISB = %00000000   
TRISD=%00000011       
PORTB =0:PORTD=0

D1 VAR BYTE           'buton değişkenleri
D1=0
D2 VAR BYTE
D2=0

AYAR:   
IF PORTD.0=0 THEN GOSUB SEKIL1
IF PORTD.1=0 THEN GOSUB SEKIL2
GOTO AYAR
END

SEKIL1:                                                           'birinci butona basılınca ledlerde oluşması gereken animasyon
PORTB=255
PAUSE 500
PORTB=0
PAUSE 500
'GOTO SEKIL1   'bu satırı silmen gerekir aksi halde program RETURN komutunu göremeyeceği için bu alt programdan çıkamaz.
RETURN

SEKIL2:                                                'ikinci butona basılınca ledlerde oluşması gereken animasyon
PORTB=%01010101 
PAUSE 500
PORTB=%10101010
PAUSE 500
'GOTO SEKIL2     'bu satırı silmen gerekir aksi halde program RETURN komutunu göremeyeceği için bu alt programdan çıkamaz.
RETURN


Ete düzeltmesi!!! :Programında kusur var iligili satıra yazdım kusuru. Kusur düzelmeden program çalışmaz.!!!!!!!!

ybzbl

öncelikle zaman ayırdıgınız için teşekkürler programınız çalışıyor.Yalnız birinci butona basılınca sekil1 adlı etiketi 1 defa işleyip bitiriyor benim anlatmak istediğim butona 1 defa basınca 1. etiketi sürekli işlemesi 2. butona basılınca 2. etiketi sürekli işlemesi olacaktı bunu size ilk başta belirtmem gerekiyordu aslında kusura bakmayın programın o şekilde çalışması için ne yapmam gerekiyor.

ete

#3
Bu şekil çalışma için bayrak biti kullanmak gerekir. Adına yine bayrak diyelim. 1 nolu butona basınca bayrak=1 , 2 nolu butona basınca bayrak=0 olur.
Program butona göre değil bayrak değerine göre alt programlara dallanır.
Ete

ybzbl

#4
ete bey sorunu çözdüm sizin bu linkte vermiş oldugunuz bir program parçası işimi çözdü select case ile yapılmış tek buton kontrollü animasyon programı... teşekkürler
http://www.picproje.org/index.php?topic=35043.0

Powered by EzPortal