Kayan Yazı ve Mesaj Projeleri

Başlatan XNHCX, 05 Ocak 2003, 17:28:27

vatandas30

peki. zannedersem harflerin yazılış şekli de değişiyor. mesela A harfini sütun tarama için aşağıdaki şekilde kullanmıştım.
A:
sutun1=1
sutun2=238
sutun3=238
sutun4=238
sutun5=1

SERRO EFE

karakter tablosunu değiştirmek gerekli ben:
aa:
SUTUN5=%01111100
SUTUN4=%00010010
SUTUN3=%00010001
SUTUN2=%00010010
SUTUN1=%01111100


aa:
satır1=%00100
satır2=%01010
satır3=%10001
satır4=%10001
satır5=%11111
satır6=%10001
satır7=%10001

şeklinde düzenleme yaptım

vatandas30

aşağıdaki şekilde A harfini yazdırdım. yalnız shifout komutuyla veriler byte olarak girildiğine göre bir sonraki adımda bir bit değilde bir byte kaymaz mı. veya buradan sonra bir bit kaydırmayı nasıl yapacağım.




@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT, WDT_OFF  
cmcon=7


DATAPIN1 VAR PORTA.0
CLOCKPIN1 VAR PORTA.1
LATCH   VAR PORTA.2
TRISA=%000000
TRISB=%00000000
portb=%11111111
satir1 var byte
satir2 var byte
satir3 var byte
satir4 var byte
satir5 var byte
satir6 var byte
satir7 var byte
satir8 var byte


tarama:
gosub A
ShiftOut DATAPIN1,CLOCKPIN1,1,[satir1]
high latch
pauseus 10
low latch
PORTB=%01111111
PAUSE 1
PORTB=%11111111

ShiftOut DATAPIN1,CLOCKPIN1,1,[satir2]
high latch
pauseus 10
low latch
PORTB=%10111111
PAUSE 1
PORTB=%11111111

ShiftOut DATAPIN1,CLOCKPIN1,1,[satir3]
high latch
pauseus 10
low latch
PORTB=%11011111
PAUSE 1
PORTB=%11111111

ShiftOut DATAPIN1,CLOCKPIN1,1,[satir4]
high latch
pauseus 10
low latch
PORTB=%11101111
PAUSE 1
PORTB=%11111111

ShiftOut DATAPIN1,CLOCKPIN1,1,[satir5]
high latch
pauseus 10
low latch
PORTB=%11110111
PAUSE 1
PORTB=%11111111

ShiftOut DATAPIN1,CLOCKPIN1,1,[satir6]
high latch
pauseus 10
low latch
PORTB=%11111011
PAUSE 1
PORTB=%11111111

ShiftOut DATAPIN1,CLOCKPIN1,1,[satir7]
high latch
pauseus 10
low latch
PORTB=%11111101
PAUSE 1
PORTB=%11111111

ShiftOut DATAPIN1,CLOCKPIN1,1,[satir8]
high latch
pauseus 10
low latch
PORTB=%11101110
PAUSE 1
PORTB=%11111111

goto tarama

A:
satir1=%00100
satir2=%01010
satir3=%10001
satir4=%10001
satir5=%11111
satir6=%10001
satir7=%10001
satir8=%10001
return

Lütfi AYYILDIZ

Pic ile74164 lerin bir bağlantısını göndersen belki daha iyi anlaşılır yapmak istediğin.

SERRO EFE

vatandas30 sen satır bilgilerini direk registerlere yüklemişsin. Benim anlatmak istedigim satır1 değişkeninin ilk bitini oluşturacağın farklı bir değişene atıyorsun .

"
satir1=%11001100
gsatir1=%00000000 = "gösterilecek satır"
                                                           
gsatır=gsatır>>1
gsatır.1  = satır1.1
ShiftOut DATAPIN1,CLOCKPIN1,1,[gsatir1]
                                                               

NOT: 48 sütun olsa her satır için 48/8=6 değişken yapar toplamda
6*7=42 değişken ihtiyacın olur

yukarıdaki işlemleri tüm değişkenler için yapacaksın

Lütfi AYYILDIZ

Sanırım bu site sana yardımcı olabilir.

www.antrak.org.tr/gazete/102002/metin.htm - 5k -

vatandas30

serroefe yardımların için teşekkür ederim. şimdi anladım sanırım. biraz geç oldu ama yaşlılık işte kusura bakma.

SERRO EFE

Estagfurullah yardımcı olabildiysem ne mutlu.

bmutlu

kayan yazı devrelerinde 74ls164 entegresi yerine 74hc595 ,74hc4094 veya bu tip çıkışı latch li entegreler kullanırsanız data gönderirken satırları karartmak zorunda kalmazsınız ledler daha parlak yakarsınız.

vatandas30

satır tarama işini hallettim. eski pano devrem 74ls164 lü idi. değiştirmeme gerek kalmadı. parlaklıkda çok iyi.
yalnız tarama işinde bir problem var. yazı bir matrisden diğerine kayarken son sütunlar beraber yanıyor sonra düzeliyor. bu her matris geçişinde aynı. sanırım kaydırma kısmında bir hata yaptım.

vatandas30

32 sütunlusunu çalıştırdım. ama programı 80 sütun için değiştirdiğimde derleme yaparken şöyle bir hata çıktı." [218] address limit of 7ffh exceeded"
kullanıdım pic 16f628. acaba picin hafızası mı yetmedi.

SERRO EFE

vatandas 30 628 in belleği dolu görünüyor. Bir de 877 ye göre derle.
ayrıca yazılımı verdiğim örneğe göre mi yaptın . hafta sonu bende bişeyler yazmaya başlamayı düşünüyorum.(satır tarama ile)

vatandas30

evet senin verdiğim ipucundan yola çıkarak yazdım.
şu an 877 ye uyarlamaya çalışıyorum ama program derlenirken hata veriyor.

vatandas30

hata da şöyle yazıyor.
"code crosses boundary @800h"
programın tanımlama kısmında fazla bir değişiklik yapmadım. başa adcon1=7 ilave ettim o kadar.

SERRO EFE

picbasic ile mi yazıyorsun yoksa proton mu bende proton uzun kodlarda hata mesajı veriyorda.

edit:
başında error yazmıyorsa:

o mesaj bildiğim kadarı ile hata mesajı değil sadece picin hafızası banklardan oluştuğu için uyarı