Pıc basic led animasyon

Başlatan Tristor, 01 Temmuz 2017, 22:33:36

Tristor


Flatron

kodu ekleyin yardım edeyim
(Genel mantığı eğer her satırda bir ledi yaktırıyorsanız son satırı ilk satıra sonradan ikinci satırı 2.satıra ekleyerek yapabilirsiniz)
Ama kodu eklerseniz daha kesin cevap olur

Tristor



Flatron

Hocam o linkteki
Furkanın 2.ve 4.cevaplarına dikkat edin
örneğin

PORTB.0 = 1 ' port b nin sıfırıncı LED i yanar
PORTB.1 = 1' port b nin birinci ledi(yanındaki) LED i yanar
PORTB.2 = 1 'port b nin ikinci ledi(yanındaki) LED i yanar
PORTB.3 = 1
PORTB.4 = 1
PAUSE 500  ' yarım sanye bekler (port b deki tüm ledler yanık durumda)
PORTB.0 = 0  ' ilk yanan LED söndü
PORTB.1 = 0 ' ikinci yanan led söndü
PORTB.2 = 0
PORTB.3 = 0
PORTB.4 = 0


bu şekilde sizde istediğiniz animasyonu yaptırabilirsiniz

Flatron

#5
Sayın @eylül tuana
Sanıyorum cevaplarımı anlayamadınız o yüzden bu animasyonu ben size geliştirme bordunda yapıp yazacağım
hexi lazımsa derleyeceğim ,yok  kaynak kod  lazımsa onu da ekleyeceğim
yalnız ben 16F877A ya (20 mhz) ye göre hazırlayacağım( sizde ki PIC farklıysa kodda o bölümü değiştirirsiniz.)

Geliştirme boardunu evde uzun aramalardan sonra yeni buldum.
Bu arada bu bordun biraz daha gelişmişini aldığımdan bu bordumu satıyorum
Geliştirme kitinin modeli:
EXPKITS in
EX1-C modeli.

Altaki linkte görülen karttır
http://www.picproje.org/index.php?topic=61051.0
Satın almak isteyen olursa lütfen özelden yazsın

birazdan görüşmek üzere

Flatron

#6
Merhaba
16f877A için kodlar aşağıda

Bendeki 4 Mhz miş sizdeki 20 Mhz ise 20 Mhz lik kristal takıp kod satırındaki

DEFINE OSC 4
kısmını
DEFINE OSC 20
olarak değiştirin.
Eğer sizdeki MCU farklı ise
Bendeki :
@ DEVICE PIC16F877A
satırını size uygun hale getirin (Diğer device ile başlayan satırlarda dahil olmak üzere)

Ben 2 animasyonu yaptım
videodaki 3.animasyonu
ANIM3:
yazan satırdaki üstten tırnağı açarak siz yapmaya çalışın olmazsa o kısmıda bir işim çıkmazsa bugün izah edebilirim.

*Kodlar denendi çalışıyor.B portundaki tüm ledleri sırayla yakar.
*Her LEDi yarım saniye yakar ve söndürür.Eğer daha kısa olsun isterseniz PAUSE 500 deki 500 ü değiştirin (500 yarım saniyeye demektir)
* Kodlar uzun olmasına rağmen aynı işi yapan  tüm kod 10-15 satırda yazılabilirdi.Kolay anlamanız için böyle uzun yazıldı.
*Bana HEX lazım diyorsanız onuda biryerlere yüklerim.

Kolay Gelsin

@ DEVICE PIC16F877A
@ DEVICE PIC16F877A, WDT_on
@ DEVICE PIC16F877A, PWRT_ON
@ DEVICE PIC16F877A, PROTECT_OFF
@ DEVICE PIC16F877A, XT_OSC

DEFINE OSC 4
TRISB=%00000000
TRISC=%00000000

PORTA=0
PORTB=0
PORTC=0
'HER PORT LEDİ SÖNÜK
PAUSE 500

PORTB=1

ANIM1:
PORTB.0=1
PAUSE 500
PORTB.0=0

PORTB.1=1
PAUSE 500
PORTB.1=0

PORTB.2=1
PAUSE 500
PORTB.2=0

PORTB.3=1
PAUSE 500
PORTB.3=0

PORTB.4=1
PAUSE 500
PORTB.4=0

PORTB.5=1
PAUSE 500
PORTB.5=0

PORTB.6=1
PAUSE 500
PORTB.6=0

PORTB.7=1
PAUSE 500
PORTB.7=0
GOTO ANIM2
RETURN
ANIM2:

PORTB.6=1
PAUSE 500
PORTB.6=0

PORTB.5=1
PAUSE 500
PORTB.5=0

 PORTB.4=1
PAUSE 500
PORTB.4=0

PORTB.3=1
PAUSE 500
PORTB.3=0

PORTB.2=1
PAUSE 500
PORTB.2=0
PORTB.1=1
PAUSE 500
PORTB.1=0

PORTB.0=1
PAUSE 500
PORTB.0=0
'RETURN
'GOTO ANIM3:
GOTO ANIM1
      End


Tristor

Sayın Flatron ilginiz çok tesekkur ederim.en kısa zamanda deneyip size sonucu bildirecem.Teşekkürler

Tristor

Flatron hocam verdiğiniz  komutlari denedim kara simsek devresi.benim istediğim o değil.ben şöyle yaptım.tris b=0
             Portb=0
 Led var byte
Başla:
For led=4 to 0 step 1
High led
Pause 50
Low led
Next led
High 0=1
Buraya kadar herşey normal.istediğim gibi.simdi 5 led alt alta sıralanmış durumda benim komutlarda 5.ledden başlayarak 1.lede kadar yanıp sönüyor.1 lede geldiğinde 1. Led sabit yanıyor ben bu işlemi 2.3.4.ve besinci lerde de yapmak istiyorum.ancak birinci led sabit yanıyor 2.ledi 3. Ledi vediğer ledleri sabit yakamıyorum

veli dayı

@ DEVICE pic16F628A
@ DEVICE pic16F628A, WDT_off
@ DEVICE pic16F628A, PWRT_On
@ DEVICE pic16F628A, PROTECT_OFF
@ DEVICE pic16F628A, MCLR_off
@ DEVICE pic16F628A, XT_OSC
CMCON=7
DEFINE OSC 4
TRISA=%00000000
TRISB=%00000000
PORTA=0
PORTB=0
BASLA:
PORTB=%00000001 N HARFİ YANDI YARIM SANİYE BEKLEDİ VE SÖNDÜ
PAUSE 500
PORTB=0
PAUSE 500     YARIM SANİYE HİÇ BİR LED YANMADAN BEKLEDİ
PORTB=%00000010 A HARFİ YANDI SÖNDÜ
PAUSE 500
PORTB=0
PAUSE 500                               

PORTB=%00000100 S HARFİ YANDI SÖNDÜ
PAUSE 500
PORTB=0
PORTB=%00001000  H HARFİ YANDI SÖNDÜ
PAUSE 500
PORTB=0
PORTB=%00010000  İ HARFİ YANDI
PAUSE 500    YARIM SANİYE SONRA
 PORTB=%00010001 İ HARFİYLE BİRLİKTE N HARFİ YANDI
PAUSE 500
PORTB=%00010000  N HARFİ SÖNDÜ FAKAT İ HARFİ HALA YANIYOR.
PAUSE 500
PORTB=%00010010 İ HARFİ HİÇ SÖNMEDİĞİ HALDE A HARFİ YANDI
PAUSE 500
PORTB=%00010000  İ SÖNMEDİ FAKAT A HARFİ SÖNDÜ
PAUSE 500
PORTB=%00010100   
PAUSE 500
PORTB=%00010000
PAUSE 500
PORTB=%00011000   İH HARFLERİ YANIK
PAUSE 500
PORTB=%00011001
PAUSE 500
PORTB=%00011000 
PAUSE 500
PORTB=%00011010     
PAUSE 500
PORTB=%00011000     
PAUSE 500
PORTB=%00011100  İHS YANIK
PAUSE 500
  PORTB=%00011101
PAUSE  500
PORTB=%00011100 
PAUSE 500
PORTB=%00011101
PAUSE  500
PORTB=%00011110  İHSA HARFLERİ YANIK
PAUSE  500
PORTB=%00011111   İHSAN HARFLERİ YANIK
PAUSE 500
GOTO BASLA
END



Kardeş sonunda internete ulaşabildim.istediğin kodlar bunlar.kolay gelsin

veli dayı

kodları word belgesinde yazdığımdan açıklamalara tırnak işareti koymamın bir anlamı olmayacaktı sen kodları derlerken açıklamaların başına tırnak işareti korsan sorun olmaz yada açıklamaları silerek derle.

Flatron

Merhaba
O tür bir animasyonu döngü içerisinde yaptırmaya çalışmak  için birden fazla değişkenler kullanmalı bazısıni artırırken bazısının döngü başlangıç değerini artırmalısınız.Ete nin sanırım 10 .dersinde bu tür bir animasyon vardı onu isteğinize uyarlayabilirsiniz.telefondan yazdığım için şu an bulamadım.velidayının veya benim  verdiğim örnek daha basit .amacınız sonuç almaksa bu  şekilde yapın  kendinizi geliştirmekse ete derslerini okuyun.

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