dot matrıx tetris devresi hakkında;

Başlatan www.zatek.com.tr, 14 Aralık 2016, 09:49:55

www.zatek.com.tr

kurt kışı geçirir ama yediği ayazı unutmaz!

KMD

Merhaba degerlı arkadaslar dot matrıx karakter kaydırma konusunda yardımınıza ıhtıyacım var (E) harfını dot matrıx'e 74hc595 ıle yolluyorum ama kaydırma ısını beceremedım ıkı haftadır ugrasıyorum yardımcı olurmusunuz.tesekkurler

Device=16F877
XTAL=4
ALL_DIGITAL TRUE
TRISA=0:PORTA=0
TRISB=0:PORTB=0
TRISC=0:PORTC=0
TRISD=0:PORTD=0
;=========================
Dim A As Byte
Dim B As Byte
Dim AL As Byte
Dim SAY As Byte
Dim X As Word
Symbol SCL=PORTB.0
Symbol SDA=PORTB.1
DelayMS 100
;==========================
BASLA:
For A=0 To 7
AL=LookUpL A,[%11111110,%11111101,%11111011,%11110111,%11101111,%11011111,%10111111,%01111111];SATIRTARARMA
PORTD=AL
X=LookUpL A,[31,16,16,30,16,16,31,0] ;SUTUNLARA (E) HARFI BILGISI YOLLAMA

SHOut SDA,SCL,1,[X];74HC595
PORTB.2=1
DelayUS 200
PORTB.2=0
DelayMS 5
Next
GoTo BASLA

ete

Bu programda yalnızca harfin oluşturulduğunu görüyoruz. Kaydırma ile ilgili bir bilgi görülmüyor. 2 haftadır harfi yerleştirmek için uğraştın ise emeklerine yazık olmuş.
Bu sitede Basic dersleri var ve sana Ders-13 'ü tavsiye ediyorum. Orada dersin sonlarına doğru matrix ekranlarda çalışma mantığı ile satır ve sütun kaydırma mantığı detaylı  şekilde anlatılmıştır.
Önce incele ve anladığını programa çevir ve yeniden dene.
Hala anlayamadı isen özellikle neresini yapamıyorsun yada anlayamıyorsun onu açıkla yeniden açıklayayım.
Ete

KMD

sayın ete hocam benım ıkı hafta ugrastıgımı tartısalım dıye bu soruyu sormadım.ıkı haftadır arastırıyorum demek ıstedım konumuz bu degıl.elımde 30 tane 5x7 dot matrıx var degerlendırmek ıstedım calıstıgım bırlıge jandarma 156 yazmak ıstıyorum.bı kaydırma ıslemı yapmıstım ama yazılar asagı dogru kaymaya baslamıstı saga veya sola kaydırmayı yapamadım..13.dersınızı okuyacagım.

KMD

merhaba syn ete hocam sızın 13. dersınızı okudum dun bıraz cozdum olayı.dersın sonunda kı satır taramalı programda bıraz degısıklıkler yaparak kesıp bıcerek  :) kendımce H ve E harflerını ekrana gonderıp kaydırmayı basardım fakat [ kaydır: ] bolumunu pek anlayamadım yardımcı olurmusunuz acıklasanız bı hocam
Device=16F877
XTAL=4
ALL_DIGITAL TRUE
TRISA=0:PORTA=0
TRISB=0:PORTB=0
TRISC=0:PORTC=0
TRISD=0:PORTD=0

Dim SUTUN[17] As Byte
Dim KAY As Byte
Dim I As Byte
Dim X As Byte
Dim W As Byte
Dim M As Byte
SUTUN[0]= %11111111;'Sütun tarama bilgi satırlardan geliyor.
SUTUN[1]=%00000000
SUTUN[2]=%11101111
SUTUN[3]=%11101111
SUTUN[4]=%11101111
SUTUN[5]=%11101111
SUTUN[6]=%00000000
SUTUN[7]=%11111111
SUTUN[8]=%11111111

SUTUN[9]=%11111111
SUTUN[10]=%11111111
SUTUN[11]=%00000000
SUTUN[12]=%01110110
SUTUN[13]=%01110110
SUTUN[14]=%01111110
SUTUN[15]=%11111111
SUTUN[16]=%11111111
;=============================================================
BASLA:
For W=0 To 20 'kaydırma hızı döngü sayısı artırılarak ayarlanıyor
X=128
For I=0 To 7
PORTB=X
PORTC=SUTUN[I]                       ;SOL TARAFA KAYDIRMA
X=X/2
DelayMS 3
Next
Next                                  ;20 DEFA YAZILDI EKRANA
DelayMS 1
;=======================================================================
GoSub KAYDIR      ;KAYDIRMAYA GIT
GoTo BASLA
;==================================
KAYDIR:
KAY=SUTUN[0]
        For W=0 To 15
        SUTUN[W]=SUTUN[W+1]
        Next
SUTUN[15]=KAY
Return

ete

Matrix displaylerde görüntü dot dediğimiz Işık(led) noktalarından oluşur.
Bir matrix de ;
01100110
01100110
01100110
....
...

şeklinde (1 ler akitf yani yananledlere tekabül ediyor) bir bilgi olsun.
Bu bilgi matrix ekranda  " ||  ||" şeklinde görülür. Sıfırların yani aktif olmayan ledlerin yerinide belirlersek daha iyi anlaşılır herhalde. ".||..||."  bu ekran görüntüsünü 1 bit sağa kaydırmak için bilgiler şöyle olmalı
00110011
00110011
yani "..||..||" şekilde bir görüntü yakalayacağız.
her bir satır bilgisine bakılırsa;
01100110 olan bilgi 00110011 şeklinde dönüşmüş oldu. Kısaca bütün bitleri 1 bit sağa kaydıurmış olduk.
KAYDIR kısmı bu işi yapıyor. İlk sütun (0 nolu sütün)  bilgisi KAY isimli değişkene veriliyor çünki bu bilgiyi daha sonra son sütün bilgisi olarak kaydedeceğiz. ilk başı en sona aktarıp sondan başa doğru birer kaydırarak geleceğiz.
Döngü bu işi yapacak ve döngü sonunda SUTUN[15]=KAY şeklinde ilk sütun bilgisini en sondaki sütuna vermiş olacağız.
Daha farklı nasıl anlatılır bilemiyorum.
Ete



KMD

tesekkur ederım ete hocam sımdı jeton dustu yapbozun son parcasıda sızın anlatımınızla tamamlandı  :) saygılarımla hocam ıyı gunler

Powered by EzPortal