Kayan Yazı ve Mesaj Projeleri

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

vatandas30


SERRO EFE

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ı
Benim 50 sütunluk yazıda 877 için o mesajdan 3 adet aldım . pic e yüklediğimde hic problem çıkarmadan çalıştı.

vatandas30

başında warning yazıyor. ama proteusta denediğimde çalışmıyor. 16f628 li olan çalıştı. gerçekte de çalıştı.

vatandas30

pardon yanlış devreyi kullanmışım. pano devresi 74164 lü . ben 74hc595 li olanı kullanmışım.

SERRO EFE

çalıştımı +  karakterler karışıyor demişsin çözüme ulaştımı

efekt eklemeyi düşünüyormusun

vatandas30

evet çalıştı. yalnız bir sorun var. mesela A harfi en sağdaki matristen kaymaya başlıyor. bu matrisin son sütununa geldiğinden bir solundaki matrisin ilk sütunu da aktif oluyor. yani kaydırma işleminde bir hatam var.

efekt eklemeye gelince hele bir düzgün kaydırayım ondan sonra düşüneceğim. ben bunu klavye kontrollü yapıyorum. daha önce klavye kısmını hazırlamıştım.

SERRO EFE

son sütuna geldiginde data ve clk çıkışını 0 a çekip denesene

vatandas30

aynı sorun devam ediyor. sanırım burada bir hata var.

kaydir:
gsatir19=gsatir19<<1
gsatir18=gsatir18<<1
gsatir17=gsatir17<<1
gsatir16=gsatir16<<1
gsatir16=gsatir15<<1
gsatir14=gsatir14<<1
gsatir13=gsatir13<<1
gsatir12=gsatir12<<1
gsatir11=gsatir11<<1
gsatir10=gsatir10<<1

gsatir29=gsatir29<<1
gsatir28=gsatir28<<1
gsatir27=gsatir27<<1
gsatir26=gsatir26<<1
gsatir25=gsatir25<<1
gsatir24=gsatir24<<1
gsatir23=gsatir23<<1
gsatir22=gsatir22<<1
gsatir21=gsatir21<<1
gsatir20=gsatir20<<1

gsatir39=gsatir39<<1
gsatir38=gsatir38<<1
gsatir37=gsatir37<<1
gsatir36=gsatir36<<1
gsatir35=gsatir35<<1
gsatir34=gsatir34<<1
gsatir33=gsatir33<<1
gsatir32=gsatir32<<1
gsatir31=gsatir31<<1
gsatir30=gsatir30<<1

gsatir49=gsatir49<<1
gsatir48=gsatir48<<1
gsatir47=gsatir47<<1
gsatir46=gsatir46<<1
gsatir45=gsatir45<<1
gsatir44=gsatir44<<1
gsatir43=gsatir43<<1
gsatir42=gsatir42<<1
gsatir41=gsatir41<<1
gsatir40=gsatir40<<1

gsatir59=gsatir59<<1
gsatir58=gsatir58<<1
gsatir57=gsatir57<<1
gsatir56=gsatir56<<1
gsatir55=gsatir55<<1
gsatir54=gsatir54<<1
gsatir53=gsatir53<<1
gsatir52=gsatir52<<1
gsatir51=gsatir51<<1
gsatir50=gsatir50<<1

gsatir69=gsatir69<<1
gsatir68=gsatir68<<1
gsatir67=gsatir67<<1
gsatir66=gsatir66<<1
gsatir65=gsatir65<<1
gsatir64=gsatir64<<1
gsatir63=gsatir63<<1
gsatir62=gsatir62<<1
gsatir61=gsatir61<<1
gsatir60=gsatir60<<1

gsatir79=gsatir79<<1
gsatir78=gsatir78<<1
gsatir77=gsatir77<<1
gsatir76=gsatir76<<1
gsatir75=gsatir75<<1
gsatir74=gsatir74<<1
gsatir73=gsatir73<<1
gsatir72=gsatir72<<1
gsatir71=gsatir71<<1
gsatir70=gsatir70<<1

gsatir89=gsatir89<<1
gsatir88=gsatir88<<1
gsatir87=gsatir87<<1
gsatir86=gsatir86<<1
gsatir85=gsatir85<<1
gsatir84=gsatir84<<1
gsatir83=gsatir83<<1
gsatir82=gsatir82<<1
gsatir81=gsatir81<<1
gsatir80=gsatir80<<1

gsatir19.0=gsatir18.7
gsatir18.0=gsatir17.7
gsatir17.0=gsatir16.7
gsatir16.0=gsatir15.7
gsatir15.0=gsatir14.7
gsatir14.0=gsatir13.7
gsatir13.0=gsatir12.7
gsatir12.0=gsatir11.7
gsatir11.0=gsatir10.7

gsatir29.0=gsatir28.7
gsatir28.0=gsatir27.7
gsatir27.0=gsatir26.7
gsatir26.0=gsatir25.7
gsatir25.0=gsatir24.7
gsatir24.0=gsatir23.7
gsatir23.0=gsatir22.7
gsatir22.0=gsatir21.7
gsatir21.0=gsatir20.7

gsatir39.0=gsatir38.7
gsatir38.0=gsatir37.7
gsatir37.0=gsatir36.7
gsatir36.0=gsatir35.7
gsatir35.0=gsatir34.7
gsatir34.0=gsatir33.7
gsatir33.0=gsatir32.7
gsatir32.0=gsatir31.7
gsatir31.0=gsatir30.7

gsatir49.0=gsatir48.7
gsatir48.0=gsatir47.7
gsatir47.0=gsatir46.7
gsatir46.0=gsatir45.7
gsatir45.0=gsatir44.7
gsatir44.0=gsatir43.7
gsatir43.0=gsatir42.7
gsatir42.0=gsatir41.7
gsatir41.0=gsatir40.7

gsatir59.0=gsatir58.7
gsatir58.0=gsatir57.7
gsatir57.0=gsatir56.7
gsatir56.0=gsatir55.7
gsatir55.0=gsatir54.7
gsatir54.0=gsatir53.7
gsatir53.0=gsatir52.7
gsatir52.0=gsatir51.7
gsatir51.0=gsatir50.7

gsatir69.0=gsatir68.7
gsatir68.0=gsatir67.7
gsatir67.0=gsatir66.7
gsatir66.0=gsatir65.7
gsatir65.0=gsatir64.7
gsatir64.0=gsatir63.7
gsatir63.0=gsatir62.7
gsatir62.0=gsatir61.7
gsatir61.0=gsatir60.7

gsatir79.0=gsatir78.7
gsatir78.0=gsatir77.7
gsatir77.0=gsatir76.7
gsatir76.0=gsatir75.7
gsatir75.0=gsatir74.7
gsatir74.0=gsatir73.7
gsatir73.0=gsatir72.7
gsatir72.0=gsatir71.7
gsatir71.0=gsatir70.7

gsatir89.0=gsatir88.7
gsatir88.0=gsatir87.7
gsatir87.0=gsatir86.7
gsatir86.0=gsatir85.7
gsatir85.0=gsatir84.7
gsatir84.0=gsatir83.7
gsatir83.0=gsatir82.7
gsatir82.0=gsatir81.7
gsatir81.0=gsatir80.7

 

if kb=0 then
gsatir10.0 = satir1.7
gsatir20.0 = satir2.7
gsatir30.0 = satir3.7
gsatir40.0 = satir4.7
gsatir50.0 = satir5.7
gsatir60.0 = satir6.7
gsatir70.0 = satir7.7
gsatir80.0 = satir8.7
endif

if kb=1 then
gsatir10.0 = satir1.6
gsatir20.0 = satir2.6
gsatir30.0 = satir3.6
gsatir40.0 = satir4.6
gsatir50.0 = satir5.6
gsatir60.0 = satir6.6
gsatir70.0 = satir7.6
gsatir80.0 = satir8.6
endif

if kb=2 then
gsatir10.0 = satir1.5
gsatir20.0 = satir2.5
gsatir30.0 = satir3.5
gsatir40.0 = satir4.5
gsatir50.0 = satir5.5
gsatir60.0 = satir6.5
gsatir70.0 = satir7.5
gsatir80.0 = satir8.5
endif

if kb=3 then
gsatir10.0 = satir1.4
gsatir20.0 = satir2.4
gsatir30.0 = satir3.4
gsatir40.0 = satir4.4
gsatir50.0 = satir5.4
gsatir60.0 = satir6.4
gsatir70.0 = satir7.4
gsatir80.0 = satir8.4
endif

if kb=4 then
gsatir10.0 = satir1.3
gsatir20.0 = satir2.3
gsatir30.0 = satir3.3
gsatir40.0 = satir4.3
gsatir50.0 = satir5.3
gsatir60.0 = satir6.3
gsatir70.0 = satir7.3
gsatir80.0 = satir8.3
endif

if kb=5 then
gsatir10.0 = satir1.2
gsatir20.0 = satir2.2
gsatir30.0 = satir3.2
gsatir40.0 = satir4.2
gsatir50.0 = satir5.2
gsatir60.0 = satir6.2
gsatir70.0 = satir7.2
gsatir80.0 = satir8.2
endif

if kb=6 then
gsatir10.0 = satir1.1
gsatir20.0 = satir2.1
gsatir30.0 = satir3.1
gsatir40.0 = satir4.1
gsatir50.0 = satir5.1
gsatir60.0 = satir6.1
gsatir70.0 = satir7.1
gsatir80.0 = satir8.1
endif

if kb=7 then
gsatir10.0 = satir1.0
gsatir20.0 = satir2.0
gsatir30.0 = satir3.0
gsatir40.0 = satir4.0
gsatir50.0 = satir5.0
gsatir60.0 = satir6.0
gsatir70.0 = satir7.0
gsatir80.0 = satir8.0
endif
return

SERRO EFE

benim kastım shiftout komutlarından sonra data ve clk uçlarını şaseye çekmen.

vatandas30


vatandas30

sorunu çözdüm. ben kaydırmaları toptan yapmıştım.
gsatir14=gsatir14<<1
gsatir14.0=gsatir13.7
gsatir13=gsatir13<<1
gsatir13.0=gsatir12.7
gsatir12=gsatir12<<1
gsatir12.0=gsatir11.7
gsatir11=gsatir11<<1

bu şekilde yazdığım zaman düzeldi.

SERRO EFE

bende kodlardaki uzunluğu görünce dün gece daha kısa bi kaydırma yazmıştım.
      include "MODEDEFS.BAS"
       define osc 4
  trisa=%00000000     
       sayi VAR byte
       gsayi var byte
       bsay var byte
        say var byte
        bsay =%00000000
      '  goto kay
       ss:
       pause 500
      
   sayi=%10000011
     gsayi = 0
     say=0
    
 kay:
    low portb.2
    high portb.2
    if say = 8 then  ss
   gsayi = gsayi << 1
    gsayi.0 = sayi.7
   sayi = sayi<<1
        
   say=say+1  
 ' goto kay  
basla:       
      
shiftout porta.0,porta.1,0,[gsayi]
pause 500
low portb.2
high portb.2
 'shiftout porta.0,porta.1,0,[bsay] 
goto kay


şeklinde belki işe yarar diye.

vatandas30

serro efe
yazdığın bu kaydırma kısmını denedin mi. evet benim yazdığım bayağı uzun oldu kısaltamadım. ayrıca ekrana gönderme kısmını da kısaltamadım. böyle olunca da her komut işlenişinde ciddi bir gecikme oluyor. neyse ben 16f877 yi programlayıp devreyi çalıştırdım. parlaklık sütun taramayla kıyaslanamayacak kadar iyi. biraz daha artırmak için tarama sayısını düşürdüm.(20 ye) bu seferde gözle bariz bir şekilde anlaşılır titreme oldu ama parlaklık arttı tabii.
aynı zamanda tarama sayısını düşürünce yazının kayma hızı da artıyor doğal olarak. ama titreşim olmasın dersen tarama 30 un altına düşmemeli . bu kez de yazı çok yavaş kayıyor.
son olarak malzemeyi getirtip şunları deneyeceğim. 10 Mhz yerine 20Mhz kristal takacağım. bir de 74ls164 ler yerine 74hc164 takacağım. herhalde bunları yapınca hem parlaklık iyi olur , hem de yazı hızlı kayar.

saygılar

SERRO EFE

bu kodları isite simule ettim sağlıklı çalıştı.istiyosan sen de dene . üstteki sayi degişkeni sıra ile kayıp geliyor.

vatandas30

nasıl uyarlayacağımı bilemiyorum. burası bir satır için mi. bir de shiftout komutundan sonra neden pause 500 kullandın?. shitout komutu bitmeden zaten bir sonraki satıra geçmez ki.