IF kullanımı hakkında

Başlatan mert3162, 27 Ekim 2007, 20:22:33

mert3162

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2007 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 10.27.2007                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'****************************************************************
TRISA=%11111111       'A PORTU CIKIS OLARAK TANIMLANDI
TRISB=%00000000          'B portu çıkış yapıldı
PortB=0                  'B portunun çıkışı Low(0) yapıldı.

Symbol TUS0=PORTA.0   'A.0 PORTU TUS1 OLARAK TANIMLANDI
Symbol TUS1=PORTA.1   'A.1 PORTU TUS1 OLARAK TANIMLANDI
Symbol TUS2=PORTA.2   'A.2 PORTU TUS1 OLARAK TANIMLANDI
Symbol TUS3=PORTA.3   'A.3 PORTU TUS1 OLARAK TANIMLANDI
Symbol TUS4=PORTA.4   'A.4 PORTU TUS1 OLARAK TANIMLANDI

SYMBOL  LED0=PORTB.0   'B.0 LED0 olarak atandı.
SYMBOL  LED1=PORTB.1   'B.1 LED1 olarak atandı.
SYMBOL  LED2=PORTB.2   'B.2 LED0 olarak atandı.
SYMBOL  LED3=PORTB.3   'B.3 LED1 olarak atandı.
SYMBOL  LED4=PORTB.4   'B.4 LED0 olarak atandı.
SYMBOL  LED5=PORTB.5   'B.5 LED1 olarak atandı.
SYMBOL  LED6=PORTB.6   'B.6 LED0 olarak atandı.
SYMBOL  LED7=PORTB.7   'B.7 LED1 olarak atandı.

BUTON_KONTROL:
    IF TUS0=1 THEN 
        HIGH LED0
    ELSE 
        LOW  LED0
    ENDIF
END

Programa göre ilk butonu bu şekilde çalıştırabiliyorum peki diğer butonlar için ne yapmam gerekecek IFleri iç içemi yoksa endif ten sonra tekrar altına c/p yaparakmı sorgulamak daha mantıklı. Devre şemasını vermeye luzum görmedim lazımsa vereyim
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan

ekangal

Alıntı YapPrograma göre ilk butonu bu şekilde çalıştırabiliyorum peki diğer butonlar için ne yapmam gerekecek IFleri iç içemi yoksa endif ten sonra tekrar altına c/p yaparakmı sorgulamak daha mantıklı. Devre şemasını vermeye luzum görmedim lazımsa vereyim

Ne yapmak istediğine bağlı. Butonlar arsında öncelik sırası olsun ve birden fazla butona basılmışsa sace tek bir durumun gerçekleşmesini istiyorsan if .. elseif veya select yapısını kullanmak bence daha mantıklı.

Eger birden fazla butona basılmış ve her buton (veya buton grubuna) ait durumların ayrı ayrı gerçekleşmesini istiyorsan her buton (veya buton grubuna) ait if bloklarını ayrı ayrı yazmalısın

Örnek
If TUS0=1 Then High LED0: Else :Low LED0 
If TUS1=1 Then High LED1: Else :Low LED1
If TUS2=1 Then High LED2: Else :Low LED2
If TUS3=1 Then High LED3: Else :Low LED3
If TUS4=1 Then High LED4: Else :Low LED4
If TUS4=1 And TUS1=1 Then High LED5: Else :Low LED5
If TUS4=1 And TUS2=1 Then High LED6: Else :Low LED5
If TUS4=1 And TUS3=1 Then High LED7: Else :Low LED7

mert3162

Hocam teşekkür ederim şuanda yapmak istediğim
BUTON_KONTROL:
    IF TUS0=1 THEN 
        HIGH led0
    ELSE 
        LOW  LED0
    ENDIF
    if tus1=1 then
        high  led1
    else
        low led1
    endif
        
   goto BUTON_KONTROL
END

Böyle bişiy yaptım çalıştı ancak mantığım doğrumudur? aportuna ait butonlara basıldığında b portuna ait cıkısların calısmasını istiyorum suanda yukarda yazdığım kodlarla bunu sağladım.

Birde Basic de buton ark yapma durumu için bir geçikme falan yapıyormuyuz.
Örnek verebilirseniz sevinirim
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan

mustafa_cmbz

demişsin ki:

aportuna ait butonlara basıldığında b portuna ait cıkısların calısmasını istiyorum suanda yukarda yazdığım kodlarla bunu sağladım.
'***********************************************************


hocam a porportundakı butonlara karşılık gelen ledleri butonların 1 olduğu konumda yakmak istiyorsun fakat devrenin işlevi sadece bu kadarmı?
yani ledleri yakımı söndürmesi yokmu :D devreyi uyuglama olsun diyemi tasarlıyorsun,yoksa bir yerdemi lazım....

mert3162

Bas-bırak şeklinde uygulama yapıyorum basic öğrenmeye çalışıyorum bu arada

Her türlü Pic Basic ile ilgili türkçe döküman kabul ederim :)
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan

mustafa_cmbz

ETE hocanın derslerini indirdinmi onlar çok faydalı olur...ben 1 günde çözdüm işi o dersler sayesinde...ama yinede eksiklerim var gidermeye çalısıyorum...

mert3162

Bende aynı dersler sayesinde çözmeye başladım ama ete hoca direk 3 üncü derste LCD uygulamalarına falan geçmiş önce if then else while for next gibi komutları tam olarak sindirmeye çalışıyorum

Özellikle while for next ve zamanlama sayma işlemleri için örnekler arıyorum
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan