Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
3
Cevap
537
Tıklama
0
Öne Çıkarma
şu programı lütfen inceleyin
H
17 yıl
Çavuş
Konu Sahibi

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


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 ...



T
17 yıl
Yarbay

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.





< Bu mesaj bu kişi tarafından değiştirildi tsz -- 1 Şubat 2008; 18:06:08 >
Bu mesaja 1 cevap geldi.
Q
17 yıl
Yüzbaşı

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 mesaja 1 cevap geldi.
T
17 yıl
Yarbay

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.

16f877 için kodlar (7x5 Dotmatriks)

TRISC = 0
TRISB = 0

Harf var byte[10]
harf[0] = %0000000
harf[1] = %1011111
harf[2] = %1101111
harf[3] = %1011111
harf[4] = %0000000
harf[5] = 127
harf[6] = 127
harf[7] = 127
harf[8] = 127
harf[9] = 127


Sira var byte[5]
Sira[0] = 1
Sira[1] = 2
Sira[2] = 4
Sira[3] = 8
Sira[4] = 16

i var byte[3]
x var byte

Basla:
for i[0]=0 to 9
for i[1] = 0 to 50
for i[2] = 0 to 4
x = (i[0]+i[2]) //10
portc = sira[i[2]]
portb = harf[x]
pause 2
next
next
next
goto basla

İşte buda devremiz.
< Resime gitmek için tıklayın >

Devreyi proteusta çizdim onun için osilatör,mclr ve güç bağlantılarını yapmadım ona göre

Aşağıdaki linkte devrenin proteus çizimi, PBP,ASM ve HEX kodları ile devre şeması var.
http://rapid_share.com/files/88412680/M-7x5_Dotmatriks.rar.html

NOT: linkteki _ yi kaldır.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.