Satır Taramalı Kayan Yazı

Başlatan meyer, 18 Aralık 2011, 15:01:38

meyer

 Compacta Hocam,devrenin kodlarını istediğiniz şekilde yapmaya  çalıştım...Devrenin kodları ve şemasıda ektedir..
İyi günler dilerim...


'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 27.04.2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
define OSC 20
'****************************************************************
TRISB=0 : TRISD=0  : TRISA=0 : TRISC=%00000111 : TRISE=0
PORTB=0 : PORTD=0  : PORTA=0 : PORTC=0 : PORTE=0
INTCON2.7=0
'74HC595*********************************************************
Symbol CLK1   =PORTB.0
Symbol DTA1   =PORTB.1
Symbol STROBE1=PORTB.2
Symbol CLK    =PORTB.3
Symbol DTA    =PORTB.4
Symbol STROBE =PORTB.5
SYMBOL tus_1=PORTC.0
SYMBOL tus_2=PORTC.1
symbol tus_3=PORTC.2
symbol satir_1=portc.3
symbol satir_2=portc.4
symbol satir_3=portc.5
SYMBOL satir_4=PORTC.6
'****************************************************************
SUTUN     var Byte[40]
SUTUN1    var Byte[8]
ARA       VAR BYTE   
I         var Byte
X         var Byte
W         var Byte
M         var BYTE
L         var byte
H         var byte
F         VAR BYTE
'''''''''''''''''''
z         var byte
y         var byte
t         VAR BYTE
D         VAR BYTE
e         var byte
g         var byte

clear
pause 250
'****************************************************************
FOR I=0 TO 50
SUTUN[I]=$FF
sutun1[i]=$FF
NEXT

D=0:L=0:H=0:w=0

BASLA:
    if tus_1=0 then f=f+1 : gosub yazi
    IF TUS_3=0 THEN e=E+1 : gosub yazi1
IF D=5 THEN D=0
if e=5 then e=0
if f=5 then f=0                                 
'gosub yazi1

aa:     
      For W=0 To 9
      X=1
      For I=0 To 4
SHiftOut DTA1,CLK1,1,[SUTUN[I+45],SUTUN[I+40],SUTUN[I+35],SUTUN[I+30],SUTUN[I+25],_
SUTUN[I+20],SUTUN[I+15],SUTUN[I+10],SUTUN[I+5],sutun[i]]
        PORTD=X
        High STROBE1 : pauseus 200 : Low STROBE1
        X=X*2
        pause 3
      Next
     Next
    pause 1

m=m+1
'IF satir_1=0 and tus_1=0 THEN D=D+1
'if satir_3=0 and tus_3=0 then ilerlet
if m>50 then m=0
goto basla
'****************************************************************
yazi1:
IF E=1 THEN
    i=52
        for t=0 to 7
            lookup t,[$81,$F6,$F6,$F6,$F6,$81,$FF],z
            SUTUN1[I]=z
        I=I+1 
    NEXT
'********
ENDIF
IF E=2 THEN
    i=52
        for t=0 to 7
            lookup t,[$80,$B6,$B6,$B6,$B6,$C9,$FF],Z
                SUTUN1[I]=Z
            I=I+1
        NEXT
    ENDIF
'********
IF E=3 THEN
    i=52 
        for t=0 to 7
            lookup t,[$C1,$BE,$BE,$BE,$BE,$DD,$FF],Z
                SUTUN1[I]=Z
            I=I+1
        NEXT   
    ENDIF
'********
IF E=4 THEN
    i=52
        for t=0 to 7
            lookup t,[$E1,$DE,$9E,$9E,$DE,$ED,$FF],Z
                SUTUN1[I]=Z
            I=I+1
        NEXT   
    ENDIF
return
'****************************************************************
yazi:
for I=0 to 7
    sutun[I]=sutun1[I]
next
d=e
IF D=1 THEN
    if f=1 then i=8
    if f=2 then i=16
    if f=3 then i=24
    if f=4 then i=32
for t=0 to 7
lookup t,[$81,$F6,$F6,$F6,$F6,$81,$FF],z
  SUTUN[I]=z
  I=I+1 
NEXT
endif
'''''''''''''
IF D=2 THEN
    if f=1 then i=8
    if f=2 then i=16
    if f=3 then i=24
    if f=4 then i=32
for t=0 to 7
lookup t,[$80,$B6,$B6,$B6,$B6,$C9,$FF],Z
  SUTUN[I]=Z
I=I+1
NEXT
ENDIF 
'''''''''''''
IF D=3 THEN
    if f=1 then i=8
    if f=2 then i=16
    if f=3 then i=24
    if f=4 then i=32   
for t=0 to 7
lookup t,[$C1,$BE,$BE,$BE,$BE,$DD,$FF],Z
  SUTUN[I]=Z
I=I+1
NEXT   
ENDIF
'''''''''''''
IF D=4 THEN
    if f=1 then i=8
    if f=2 then i=16
    if f=3 then i=24
    if f=4 then i=32 
for t=0 to 7
lookup t,[$E1,$DE,$9E,$9E,$DE,$ED,$FF],Z
  SUTUN[I]=Z
I=I+1
NEXT   
ENDIF
RETURN
'****************************************************************
ilerlet:
For I=42 To 0 STEP-1
    sutun[i]= sutun[i+8]
   If i=43 Then sutun[43]=sutun[0]
Next i
pauseus 10000
gosub basla
End





compacta


serdar06

Alıntı yapılan: ete - 22 Nisan 2012, 20:59:37
Satırı kapatıp bekerseniz karekterlerde titreme görürsünüz. İşin doğrusu şöyledir. (Satırlar 0-7 arası)
- Satır7 yi kapat
- Satır-0 'ı aktif et
- 1-2 ms bekle

- Satır-0'ı kapat
- Satır-1'i aktif et
- 1-2ms bekle

- Satır-1'i kapat
- Satır-2 yi aktif et
- 1-2 ms bekle.
...
...
...
bu şekilde olması gerekir.
Ete
Tekrar selamlar
Satırı kapattıktan sonra da muhakkak bekleme yapmak zorunda kaldım. Aksi takdirde, aktif olan satırda diğer satırın gölgesi oluşuyordu. Şu anki sorunum ise genel bir sorun galiba. Yazı çok hızlı kayıyor(sn'de 50 tarama) Akışı yavaşlatmak için satırları aktif etme süresini uzun tuttuğumda da tarama belli olmaya başlıyor. Süreyi sabit tutup aynı bilgiyi tekrar tarattığımda da, yazının hızı düşüyor, ama nası tarif etsem, yazı çift görünüyor.  Yani tek büyük led değil de 2 küçük led'i yanyana takmışım gibi. Yazıyı yavaşlatma mantığını nereye kurmam lazım?

compacta


meyer

 Compacta Hocam,devrenin .pbp ve hex koduda ektedir..

meyer

 Compacta Hocam,
Devre şeması,.pbp ve .hex kodu ektedir..
İyi akşamlar...

compacta

meyer hocam teşekkür ederim.heralde bundan sonrası için eklemeler hayalimize kalıyor.güzel bir örnek çalışma olduğu kanısındayım.herkese kolay gelsin.....

meyer

#157
 İstediğiniz devrenin;devre şeması,.pbp kodu ve .hex kodu  ektedir Xoom Hocam,
İyi çalışmalar...

xoom

#158
Tşkler Meyer Hocam.

serdar06

Alıntı yapılan: serdar06 - 30 Nisan 2012, 00:05:53
Tekrar selamlar
Satırı kapattıktan sonra da muhakkak bekleme yapmak zorunda kaldım. Aksi takdirde, aktif olan satırda diğer satırın gölgesi oluşuyordu. Şu anki sorunum ise genel bir sorun galiba. Yazı çok hızlı kayıyor(sn'de 50 tarama) Akışı yavaşlatmak için satırları aktif etme süresini uzun tuttuğumda da tarama belli olmaya başlıyor. Süreyi sabit tutup aynı bilgiyi tekrar tarattığımda da, yazının hızı düşüyor, ama nası tarif etsem, yazı çift görünüyor.  Yani tek büyük led değil de 2 küçük led'i yanyana takmışım gibi. Yazıyı yavaşlatma mantığını nereye kurmam lazım?

Satırı kapattıktan sonra da bekleme yapma ihtiyacı, mosfet'lerin hatalı sürülmesi ile alakalıymış. Onu düzelttim. Şimdi satırı kapattıktan sonra bekleme yapmaya gerek kalmıyor. Bilginize..
Fakat yazıyı düzgün şekilde yavaşlatamadım.. O konuda hala deneme yapıyorum :)

badoha

Selamlar bu konuyu incelerken VB6 Pc programını aradım lakin bulamadım.
eklemeniz mümkün mu?

xoom

#161
Visual Basic 6 -> 260.2 MB
Kodlar verilmiş Eğer VB biliyorsanız Yukaridaki Programla derlemen gerekir.

badoha

Selamlar
VB 6 Programını istemedim.
Pc den eproma veri aktarma ve yazdırma ara yüzü yok diye yazmıştım.
Ara yüz programını formda yayınlamanız mümkün ise bizler için çok iyi olacak.
Her kesin emeğine sağlık.

 

xoom

Badoha Bende sizin neyi istediğinizin farkındayım mitec rumuzlu arkadaş kaynak kodları paylaşmış bende sizde  vb den anlıyorsanız bunu yapabilirsiniz demek istemiştim... mitec rumuzlu arkadaş istediğiniz şekilde paylaşırsa bilemem.. kolay Gelsin.

mitec

Alıntı yapılan: badoha - 24 Mayıs 2012, 15:16:20
Selamlar
VB 6 Programını istemedim.
Pc den eproma veri aktarma ve yazdırma ara yüzü yok diye yazmıştım.
Ara yüz programını formda yayınlamanız mümkün ise bizler için çok iyi olacak.
Her kesin emeğine sağlık.

 

xoom un dediği gibi kaynak kodlarını verdim istediğiniz değişiklikleri yapıp kullanabilirsiniz
ama ben meyer arkadaşımızın kayan yazı projesiyle kullanmak istiyorum derseniz ben size arayüz programını versemde çalıştıramazsınız çünkü arayüz meyerin kayan yazısı için yazılmadı yani ona uygun değil önceki sayfaları incelerseniz ben daha farklı bir yöntemle kayan yazı yaptım arayüzde o program için.

Powered by EzPortal