pic basicte matris disp mantıgı nedir?

Başlatan emrah, 16 Haziran 2011, 10:03:59

emrah

merhaba,

elimde hazır yapılmıs kayan yazı devresi var fakat pic ve yazılımı yok.
devre şu şekilde;

8x5 matris displaylerle yapılmıs,

satır taraması 74hc595 ve bunun çıkışlarıda uln2803a entegresi ile sürülmüş ( tüm displayler burdan ortak taranıyor)

sütun taraması ise yine 74hc595 ile yapılmıstır.

programda şu şekilde bir mantık kullnadım ;

basit bir  A karekteri olusturmak için şöyle tarama yaptım ,



TARA:

GOSUB GONDER2
GOSUB GONDER
PAUSE BEKLE
VERI2=VERI2+1
GOSUB GONDER2
GOSUB GONDER
PAUSE BEKLE
VERI2=VERI2+1
GOSUB GONDER2
GOSUB GONDER
PAUSE BEKLE
VERI2=VERI2+1
GOSUB GONDER2
GOSUB GONDER
PAUSE BEKLE
VERI2=VERI2+1
GOSUB GONDER2
GOSUB GONDER
PAUSE BEKLE
VERI2=VERI2+1
GOSUB GONDER2
GOSUB GONDER
PAUSE BEKLE
VERI2=VERI2+1
GOSUB GONDER2
GOSUB GONDER
PAUSE BEKLE
VERI2=VERI2+1
GOSUB GONDER2
GOSUB GONDER
PAUSE BEKLE
VERI2=0
VERI=0

GOSUB TARA

GONDER:
LOOKUP VERI2,[126,125,123,119,111,95,63],DATAA2
SHIFTOUT DTA2,CLK2,1,[DATAA2]
HIGH AKTAR2: PAUSEUS 1: LOW AKTAR2
RETURN

GONDER2:
GOSUB A
VERI=VERI+1
SHIFTOUT DTA,CLK,1,[DATAA]
HIGH AKTAR: PAUSEUS 1: LOW AKTAR
RETURN

A:
LOOKUP VERI,[4,10,17,17,31,17,17,0],DATAA
RETURN

bu şekilde tek bir displayde A hatfini yazdım fakat bu harfi kaydırmam için A harfinin her sütun şeklinide ayrı ayrı göndermem gerekiyor, şu şekilde,

A1:
LOOKUP VERI,[0,0,1,1,1,1,1,0],DATAA
RETURN
A2:
LOOKUP VERI,[0,1,2,2,3,2,2,0],DATAA
RETURN
A3:
LOOKUP VERI,[1,2,4,4,7,4,4,0],DATAA
RETURN
A4:
LOOKUP VERI,[2,5,8,8,15,8,8,0],DATAA
RETURN
A5:
LOOKUP VERI,[4,10,17,17,31,17,17,0],DATAA
RETURN
A6:
LOOKUP VERI,[8,20,2,2,30,2,2,0],DATAA
RETURN
A7:
LOOKUP VERI,[16,8,4,4,28,4,4,0],DATAA
RETURN
A8:
LOOKUP VERI,[0,16,8,8,24,8,8,0],DATAA
RETURN
A9:
LOOKUP VERI,[0,0,16,16,16,16,16,0],DATAA
RETURN

böyle bir mantık kullandım acaba yanlısmı düşündüm?  pic basıcte en basıt nasıl yazabilirim bu devre için programı?



izzethoca

bu şekilde harf oluşturmak çok zamanını alır
bir örnek
'------HARF TABLOSU------------------
MATRIS:
VERI = LookUp konum,[0,0,0,0,0,0,0,0, _               ' BOŞLUK
                     0,252,254,34,34,34,254,252,_      'A
                     0,254,254,146,146,146,254,108,_   'B
                     0,124,254,130,130,130,196,68,_    'C
                     0,254,254,130,130,198,124,56,_    'D
                     0,254,254,146,146,146,146,130,_   'E
                     0,254,254,18,18,18,18,2,_         'F
                     0,124,254,130,146,146,246,244,_   'G
                     0,254,254,16,16,16,254,254,_      'H