PIC BASIC PRO Öğreniyoruz soru cevapları

Başlatan aster, 19 Mayıs 2005, 17:33:33

files


erkan614

oruçlu iken insanın performans düşüo biraz
Alıntı yapılan: "files"2007 - 1998 = 9
burdaki nüansı kaçırdım aç olduğundan kovalayamıom da yakalayanların insaniyet namına olmadı kanun namına :lol:  :lol: neyse
hocam anlamadım

KAZIMUGUR

Bu tip program arayışlarınız için :

BAKINIZ <<<

Veli B.

" Eski, eski oldugu icin değil, kotu oldugu icin atilir; Yeni, yeni oldugu icin değil, lazim oldugu icin alinir" demis bir yasli...
Yasli dedigime bakmayin, yil olarak yasli; eski değil yani...

kafa1500

Selam arkadaşlar;  "for ...next"" komutu ile kafama takılan bir konu var. Basit bir program yazıp deniyorum az çok mantığı kavradığımı düşünürken kafam karıştı.

BASLA:
for i=0 to 9
PORTB=i
i=i+0
pause 200
if i=10 then i=0
NEXT i
GOTO BASLA


Bu kodlarda amacım 7447 ile 0'dan 9'a kadar saydırmak ama  i=i+0'ın mantığını anlayamadım. bu şekilde yapmayınca da çalışmıyor.
i=i+1 yapınca 2şer 2şer artıyor rakamlar.

Neden olabilir? Bu komutun mantığı hakkında biraz yardıma ihtiyacım var.
Güzelin nazına, Ford'un ara gazına hastayım.

Veli B.

BASLA:
i=0
for i=0 to 9
PORTB=i
pause 1000
NEXT i
GOTO BASLA

kafa1500

Bu şekliyle ISIS'da çalışıyor hocam, pic'in çıkışında 7447 var. Elimde Orhan Altınbaşak'ın picbasic pro ile programlama kitabı var. Ona bakayım dedim for..next komutu için ama kitap microcode studio programının helpinin  birebir Türkçeye çevrilmiş hali. Örnekleri bile aynı.
Güzelin nazına, Ford'un ara gazına hastayım.

Veli B.

Duzeltiyorum, bu sekli ile 7447 kulanirsaniz dogrudur displayde rakamlar gorunur.Portb<0:3> uzerinden 7447 girislerine BCD uygulamis olursunuz. Gece farketmemisim 7447 kullandiginizi, ozur dilerim yanlis bilgi icin...

mert3162

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     '0 PORT KONTROL
        HIGH led0
    ELSE 
        LOW  LED0
    ENDIF
  
    if tus1=1 then     '1 PORT KONTROL
        high  led1
    else
        low led1
    endif
    if tus2=1 then     '2 PORT KONTROL
        high  led2
    else
        low led2
    endif
    if tus3=1 then     '3 PORT KONTROL
        high  led3
    else
        low led3
    endif    
    if tus4=1 then     '4 PORT KONTROL
        high  led4
    else
        low led4
    endif
    
        
   goto BUTON_KONTROL
END


Böyle bir programa sahibim portadaki butonlara basıldığında portbdeki ledleri çalıştıran bir devre
Buton programları hakkında bilgi almak istiyorum amaçım kendi PLC cihazımı yapmak ancak butonlarla çıkışları nasıl kilitlerim ve kilidi çözerim onun hakkında bir mantık göremedim

Yani butona basacağım led yanacak tekrar bastığımda sönecek
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan

Logan

@mert3162, "TOGGLE" komutunu dene ;)

if porta.0=1 then
toggle portb.0
endif
İmza.

mert3162

Alıntı yapılan: "Logan"@mert3162, "TOGGLE" komutunu dene ;)

if porta.0=1 then
toggle portb.0
endif
Hocam On Off işlemi için güzel oldu ancak buton ark yapıyor hemde proteusta

Buton arkını nasıl önlerim
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan

mert3162

Pause 50 yazmak pratikte çözüm olabiliyor ancak proteus gibi similatörlerde deniyorsanız biraz saçma çalışabiliyor.
|^^^^^^^^^^^^\ ||\
|__PICPROJE.ORG __
||'""|""\___
| _____________ l | |__|__|___| )
(@!)!(@)"""""**|(@) (@)****|(@)---------

 Üstadlarım nonstradam & Logan

mustafa_cmbz

krıstal değerini 4mhz yaparsanız fark edecektir D:

kafa1500

Selamlar arkadaşlar; TV kumandasının herhangi bir tuşunu kullanarak (örneğin açma-kapama tuşu) basit bir devre yapmaya çalışıyorum. Alıcıda F628 ve TK19 ir alıcı kullanmayı düşünüyorum. Aklıma takılan birkaç soru var.
Galiba kumandanın IR protokolünü bilmek gerekiyor, bunu nasıl öğrenebilirim? girder programına biraz baktım, tuşa basıldığında tuşun kodu görünüyor. Acaba bunu kullanabilir miyim? Kumandanın baud rate'i önemli mi?

Birde ETE hocanın picbasic derslerindeki seri verici-alıcı uygulamasına baktım, notları okudum. Ancak anlayamadığım yerler var. Mesela
Verici kodunda;
     
IF TUSA=0 THEN
          VER=88

88'in anlamı nedir?
Sorularım baltaca olabilir ama kusura bakmayın.
Güzelin nazına, Ford'un ara gazına hastayım.

Elektroemre

Alıntı yapılan: "kafa1500"Selamlar arkadaşlar; TV kumandasının herhangi bir tuşunu kullanarak (örneğin açma-kapama tuşu) basit bir devre yapmaya çalışıyorum. Alıcıda F628 ve TK19 ir alıcı kullanmayı düşünüyorum. Aklıma takılan birkaç soru var.
Galiba kumandanın IR protokolünü bilmek gerekiyor, bunu nasıl öğrenebilirim? girder programına biraz baktım, tuşa basıldığında tuşun kodu görünüyor. Acaba bunu kullanabilir miyim? Kumandanın baud rate'i önemli mi?

Birde ETE hocanın picbasic derslerindeki seri verici-alıcı uygulamasına baktım, notları okudum. Ancak anlayamadığım yerler var. Mesela
Verici kodunda;
     
IF TUSA=0 THEN
          VER=88

88'in anlamı nedir?
Sorularım baltaca olabilir ama kusura bakmayın.

Orada ETE hocanın örneğinde " 88 " A tuşuna atanmış herhangi bir değerdir.Yani A Tuşuna basınca gönderici 88 kodunu karşıya gönderiyor.Alıcı 88 'i bilgisini alınca A Tuşuna basıldığını anlıyor.
Yani sen oraya 111 gibi bir değer yazarsan ve alıcının kodunda da A tuşunu kodunun 111 olduğunu yazınca yine aynı şey olur.
Kısacası onun bir özelliği yok.

Bu sayede alıcı hangi tuşa bastığımızı anlıyor ve ona göre gereken görevi yerine getiriyor.;)

Saygılar...