picbasic butonla led yakma

Başlatan kangal0640, 29 Kasım 2015, 17:36:52

kangal0640

merhaba picbasic te yeniyim
butona ilk kez basıp bıraktığımda led yanacak,ikinci basıp bıraktığımda ise blink yapacak.yanıp sönecek.
deniyorum deniyorum ama olmuyor.Devreyi breadboard da kurdum ama kodu çorbaya çevirdim sanırım :))
@ __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF
OSCCAL=%10000000
DEFINE OSC 4
DEFINE OSCCAL_1K 1
CMCON=7
symbol buton=gpio.1   'buton bacağı
symbol led=gpio.0     'led bacağı
sayi var byte          'sayi diye değişken oluşturdum.
trisio=0
buton=0
led=0
sayiver:                'sayi değişkenine değer verdirdim
sayi=1                     'burada ledi yakıp söndürdüm.
high led
pause 1000
low led
pause 1000
high led
pause 500
low led
 pause 100
goto basla
basla:
if buton=1 and sayi=1 then    'sayi 1 ve butona basılınca ilk e git
goto ilk
endif
if buton=1 and sayi=2 then     'sayi 2 ve butona basılınca ikinci ye git
goto ikinci
endif
pause 10                        'butona basılmıyorsa basla ya git
goto basla
ilk:                             'ilk:
high led                         'ledi yak ve butona basılmadığı sürece bekle
sayi=2
while buton=0 
stop
wend
if buton=1 then                  'butona basılınca ikinci ye git
 goto ikinci
 endif
ikinci:
sayi=1                            'butona basılmadığı sürece blink yap
while buton=0
tekrar:
high led
pause 100
low led
pause 100
goto tekrar
wend
 if buton=1 then               'butona basılınca ilk e git
 goto ilk
 endif
 end                                'son



kangal0640

sonunda çözdüm :D
basla:

if buton=0 then
sayi=sayi+1
while buton=0
wend
endif

if sayi=1 then
high led
pause 100
endif

if sayi=2  then
high led
pause 200
low led
pause 200
endif

if sayi=3 then
sayi=0
low led
pause 100
endif
 goto basla

ABDULLAH ZENGİN


Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın