pıc16f628a bir butona iki defa basıldığında bir tane led yanacak

Katılım
17 Mar 2012
Mesajlar
17
Puanları
1
Merhaba arkadaslar pıc (pıc16f628a) de baslangıc olarak dili pıc basıc de basladım fakat bir butona iki veya 3-4 defa basıldığında bir tane led yanacak ve diğer bir butona basıldığında ise led sönecek boyle bir uygulama mümkün mü arkadaslar

mümkün ise bıc basıc olarak yazlımını paylasabilirmisniz?
 
PIC te herşey mümkün yeterki yazdığın proğramı tam olarak dogru olarak yap ben okulda ders olarak gördüm ama tam olarak ögrenemedik herşeyi yaparsın bunu bil internette bu dille yazılmış çok programlar var.
 
Tesekkür ederim ama nette arastırdım bir çok yerden ama tam istediğim seyi bulamıyorum.
 
port b 0 buton 1
port b 1 buton 2
port b 2 led
olduğunu düşünürsek...

TRISB=%00000011
SYMBOL TUS1=PORTB.0
SYMBOL TUS2=PORTB.1
SYMBOL LED=PORTB.1

BASLA:


IF TUS1=0 THEN
say=say+1
pause 10
while TUS1=0 wend
ENDIF

IF say=3 THEN
LED=1 //3kere tuşa basılırsa
IF say=0 THEN LED=0 //TUS2 ye nasılırsa sönecek

IF TUS2=0 THEN
LED=0
say=0
pause 10ENDIF

GOTO BASLA
END
 
port b 0 buton 1
port b 1 buton 2
port b 2 led
olduğunu düşünürsek...

TRISB=%00000011
SYMBOL TUS1=PORTB.0
SYMBOL TUS2=PORTB.1
SYMBOL LED=PORTB.1

BASLA:


IF TUS1=0 THEN
say=say+1
pause 10
while TUS1=0 wend
ENDIF

IF say=3 THEN
LED=1 //3kere tuşa basılırsa
IF say=0 THEN LED=0 //TUS2 ye nasılırsa sönecek

IF TUS2=0 THEN
LED=0
say=0
pause 10ENDIF

GOTO BASLA
END


çok tesekkür ederim fakat hexe çevirirken 'say=say+1' dan hata weriyor :D
 
say değişkenini tanımlamayı unutmuşum...

TRISB=%00000011
SYMBOL TUS1=PORTB.0
SYMBOL TUS2=PORTB.1
SYMBOL LED=PORTB.2
say var byte
say=0

BASLA:

IF TUS1=0 THEN
say=say+1
pause 10
while TUS1=0 wend
ENDIF

IF say=4 then say=3

IF say=3 THEN LED=1 //3kere tuşa basılırsa
IF say=0 THEN LED=0 //TUS2 ye basılırsa sönecek

IF TUS2=0 THEN
LED=0
say=0
pause 10
ENDIF

GOTO BASLA
END
 
Yukarıdaki kodu bir devre üzerinde kullanacaksan, butonun iki bacağına 10nF'lık kondansatör koymayı sakın unutma. Yoksa butona her bastığında, arklar nedeniyle, PIC onu bir kaç kez basmış olarak algılayıp, sayı değerini istenilenden fazla arttırır. Bunu engelemek için butonların iki bacağı arasına kondansatör koymalısın.
 

Forum istatistikleri

Konular
129,842
Mesajlar
930,705
Kullanıcılar
452,688
Son üye
MEHMET ALİ BOZ

Yeni konular

Geri
Üst