buton kontrollüü çıkış çogaltma

Başlatan burakayaz, 18 Temmuz 2007, 17:08:32

burakayaz

merhaba ben bir buton ilee 8 adet çıkış almak istiyorum ama malesef yazdğın kodlarda ledler yanıp sönüyor sorun nedir nasıldır pıc pasicpro

Göktuğ


burakayaz

TRISA=1
TRISB=0
SYMBOL B0=PORTA.0
SYMBOL M1=PORTB.1
SYMBOL F1=PORTB.5

BASLA:
IF B0=1 THEN
HIGH M1
HIGH F1

ELSE
LOW M1
LOW M1
ENDIF
goto basla
end

ete

Sorun Yazdığın programın yanlış olmasıdır. Buda muhtemelen Pic denilen aleti çok iyi tanımamaktan kaynaklanıyor olabilir. Biraz daha incele ve yeniden yaz.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

burakayaz

peki nasıl yapıcam 2 haftadır uğraşıyoruz en küçük bi yardım bize büyük yollar gösterecek yardım ederseniz sevinirim

digifuzyon

yanıp sönmesinin nedeni picin B0 bacagı 1 oldugunda led ler yansın demişsin

pic sen dügmeye basmasan bile parazitlerden etkileniyor ve B0 bacagı tetikleniyor o yüzden pic sen dügmeye bastın zannediyor

B0 bacagına her zaman 1 ver 5V dan 2K lık bir dirençle direk B0 ra gir

dügmeye bastıgındada B0 ra eksi gir yani dügmeyi eksi ile B0 arasına bagla

ve programdada B0 0 oldugunda led leri yak diye degiştir

burakayaz

dediğiniz şekilde yaptım ama yine aynı sorunn flaşör oluyor butonda işe yaramıyor başka ne yapabiliriz

e3

Buton kontrol döngünüze gecikme ilave ediniz veya sistemin eski konumuna dönüp dönmediğini If-Else'yle test ediniz.Örnek verecek olursak ;

BASLA:

IF BUTON1=0 THEN GOTO GECIKME : ELSE GOTO BASLA
ENDIF
GECIKME:
PAUSE 200
GOTO DEVAM...


Butonun eski konumunu test etmeniz size daha iyi sonuç verecektir.Ona da şöyle örnek verilebilir ;

BASLA:

IF BUTON1=0 THEN GOTO TEST : ELSE GOTO BASLA
ENDIF

TEST:
IF BUTON1=1 THEN GOTO DEVAM ELSE GOTO TEST
ENDIF


şeklinde birşeyler yapabilirsiniz.Kolay gelsin.İyi çalışmalar. ;)
.eem.

burakayaz

teşekkür ederim sorunu çözdüm yardımlarınız için teşekkürler