Ya arkadaşlar kafayı yedim şu programı lütfen bir inceleyin, sadece M harfini kaydırmak istiyorum, ama bir türlü beceremedim. Proteus Isısta devreyi oluşturdum, harfleri tek tek görebiliyorum, 16f628A pic kullanıyorum çünkü 16f628 yok programda. bir türlü kaydıramadım. Bu arada bu program mehmet isimli bir arkadaştan alıntıdır, değişkenlerdeki 0 lar led'in yandığını 1 ler ise söndüğünü ifade ediyor, arkadaşın yaptığın programda tam tersiydi neden böyle oldu anlamadım. sanırım 16f628 değil de 16f628A pic i kullandığım için diye düşündüm.
P1 VAR BYTE i VAR BYTE i1 VAR BYTE
d0 VAR BYTE d1 VAR BYTE d2 VAR BYTE d3 VAR BYTE d4 VAR BYTE d5 VAR BYTE
kafama takılan bir yer var, eğer bu da basic gibi basamak basamak işliyorsa yukarıdan aşağı doğru, d0=d1 olan yerde biz d0'ın içeriğini direk d1'den alıp d5'e atıyoruz, burdaki boşluk sütunu komple aradan kaybolmuş oluyor, bunun için orayı şu şekilde değiştirdim yine olmadı
Arkadaşım devre şemasını verirsen sana daha kolay yardımcı olurum. Ayrıca program çok karışık yazılmış devreyi gönderirsen senin için daha basitleştirebilirim.
NOT: 16F628 ile 16F628A Arasında kayda değer bir fark yoktur. Birinin yerine diğerini gönül rahatlığıyla kullanabilirsin.
programda bariz bi yanlıs goremedim.. ancak KAY kısmında yaptıgınız değişiklik dogru yani yaptıgınız sekilde olmalı deger kaybı olmaması için.. bir de harfleri tek tek gorebiliorum derken neyi kastettiniz anlayamadım.. bir de ledlerin artı eksi uclarına dikkat edin belki donanımsal bi sorun olabilir... kolay gelsin
Bu M harfini kaydırma işini maalesef 16f628 de ve 16f84 yapamadım. Bu piclerin RA4 ayaklarında hep sıkıntı yaşadım. Uygulamayı bu picler yerine RA4 e muhtaç kalmadan çalışılabilecek 16f877 ile yaptım. Ama ben illada 16f628 le yapcam dersen başka çözüm yolu buluruz.
P1 VAR BYTE
i VAR BYTE
i1 VAR BYTE
d0 VAR BYTE
d1 VAR BYTE
d2 VAR BYTE
d3 VAR BYTE
d4 VAR BYTE
d5 VAR BYTE
TRISA=%00000000
TRISB=%00000000
P1=5
i=0
i1=1000
d0=%11111111
d1=%10000000
d2=%11111101
d3=%11111011
d4=%11111101
d5=%10000000
BASLA:
i=i+1
IF i=i1 Then GoTo KAY
PORTA=%00000001
PORTB=d1
Pause P1
PORTA=%00000010
PORTB=d2
Pause P1
PORTA=%00000100
PORTB=d3
Pause P1
PORTA=%00001000
PORTB=d4
Pause P1
PORTA=%00010000
PORTB=d5
Pause P1
GoTo BASLA
KAY:
d0=d1
d1=d2
d2=d3
d3=d4
d4=d5
d5=d0
i=0
GoTo basla
End
kafama takılan bir yer var, eğer bu da basic gibi basamak basamak işliyorsa yukarıdan aşağı doğru, d0=d1 olan yerde biz d0'ın içeriğini direk d1'den alıp d5'e atıyoruz, burdaki boşluk sütunu komple aradan kaybolmuş oluyor, bunun için orayı şu şekilde değiştirdim yine olmadı
KAY:
k=d0
d0=d1
d1=d2
d2=d3
d3=d4
d4=d5
d5=k
i=0
GoTo basla
End
Bu şekilde d0'ın içindeki boşluk sütunu kaybolmamış oldu ve devamlılığı sağladım ama yine olmuyor ya ...