Satır Taramalı Kayan Yazı

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

ete

Meyer,
Program güzel gidiyor. Bir ricam var çok ufak değişiklikler yapıp prograı yeniden verme.
Köklü değişiklikler olduktan sonra verki forumda boşuna kirlilik olmasın.

Ete

meyer

 Haklısınız hocam..Kusura bakmayın.
-Devreleri yayınladıktan sonra "BAHAR"  nickli üyemiz programın eksik yönlerini görmemi sağlıyor..Bende o yüzden eksik yönlerini giderip tekrardan yayınlama yapıyorum..
-Bu konuda bundan sonra daha dikkatli olurum hocam..
İyi günler dilerim...

meyer

#77
 İyi günler arkadaşlar,
Programda 1-2 ilave daha yapmaya çalıştım..Bunlar;
1-Programda "SIFRE"yazısını girdikten sonra max.90 karakter yazı girebiliyorduk.Bu durumu yeni düzenlemeyle harici eepromun hafızası kadar kullanabiliriz artık.Devrede 24lc256 var.24lc256'nında 32k hafızası var.Yani 32768 tane karakter girebiliriz..O kadar denemedim ama 350 karakter kadar denedim bir sorun yok çalışıyor..
2-2.özellikte de saat,sıcaklık ve tarih bilgisini ekranı tersleyerek göstermeye çalıştım.Yani harfler sönük ledlerle,boşluklarda ledlerin yanık haliyle çalışmakta.

-Devrenin şu an için benim görebildiğim tek bir sorunu var arkadaşlar..O da,mesela 180 karakter yazımızı girdik.İlk olarak 84 tane harfi eepromdan okuyup ekrana basıyoruz.Bunları ekranda kaydırdıktan sonra ikinci 84'lük kısmı eepromdan okuyup ( yani 84-167 arasını) ekrana basıyoruz.
1.bölüm ile 2.bölüm arasındaki geciş devrede çok güzel durmuyor arkadaşlar..1.bölümün harfleri ekranda kaydıktan sonra ekrandaki ledlerin hepsi sırayla yanıyor ve 2.bölümü okuduktan sonra ekranda 2.bölümü göstermeye başlıyor..Bu iki bölüm arasındaki geçişide düzeltmeye çalışıyorum..Umarım düzeltebilirim..

Arkadaşlar ayrıca harici eepromu bu şekilde kullanarak karakter sayısını arttırma  fikrini veren BAHAR Hocama da teşekkür ederim..

Devre şeması,pbp ve hex koduda ektedir arkadaşlar..İyi günler dilerim..


'****************************************************************
'*  Name    : MATRIX_PANO_SAAT_ISI_TARIH_GUN_KAYAN_YAZI.BAS     *
'*  Author  : [HAKAN_ÖZKAN]                                     *
'*  Notice  : Copyright (c) 2011 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 13.01.2012                                        *
'*  Version : 3.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
define OSC 20
DEFINE I2C_SLOW 1
'****************************************************************
asm
    __CONFIG _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H
    __CONFIG _CONFIG2L, _BOR_ON_2L & _BORV_20_2L & _PWRT_OFF_2L
    __CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
    __CONFIG _CONFIG3H, _CCP2MX_ON_3H
    __CONFIG _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L
    __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L
    __CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H
    __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L
    __CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H
    __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L
    __CONFIG _CONFIG7H, _EBTRB_OFF_7H
endasm
'********************************************************
INTCON2.7=0   ' PORTB Pull-up Enable bit
INTCON.7 =1   ' GIE : Global Interrupt Enable
INTCON.6 =1   ' PEIE: Peripheral Interrupt Enable
PIE1.5   =1   ' RCIE: USART Receive Interrupt Enable
ADCON0   =0
ADCON1   =7
'****************************************************************
On Interrupt GoTo KESME
'****************************************************************
DEFINE HSERIAL_BAUD  2400
DEFINE HSERIAL_RCSTA %10010000
DEFINE HSERIAL_TXSTA %00100000
DEFINE HSERIAL_CLEAR = On
'****************************************************************
TRISA=255 : TRISB=0 : TRISD=0 : TRISE=0  : TRISC=%10110111   
PORTA=0   : PORTB=0 : PORTD=0 : PORTE=0  : PORTC=0           
'74HC595*********************************************************
Symbol CLK1     =PORTB.0
Symbol DTA1     =PORTB.1
Symbol STROBE1  =PORTB.2
'DS18B20*********************************************************
SYMBOL COMM_PIN =PORTC.3
'DS1302**********************************************************
symbol  RTC_RST =PORTB.5                'RTC nin bağlandığı portlar
symbol  RTC_SCLK=PORTB.6
symbol  RTC_DTA =PORTB.7
'24LC256**********************************************************
SCL      VAR     PORTB.3                ' Clock pin 
SDA      VAR     PORTB.4                ' Data pin                 
'24LC256_DEGISKENLERI*********************************************
adress   VAR     WORD                   ' Adres
B1       VAR     BYTE                   ' Data1
B2       VAR     Byte                   ' Data2
'****************************************************************
NEGAT_ISI CON 1                         ' Negatif_Cold = 1
'****************************************************************
TUS         VAR BYTE
T           VAR Byte
HAM         VAR WORD
ISI         var WORD
rtcsec      VAR BYTE
rtcmin      VAR BYTE
rtchour     VAR BYTE
rtcyear     VAR BYTE
rtcmonth    VAR BYTE
rtcday      VAR BYTE
rtcdate     VAR BYTE
TEMP        VAR BYTE
VERI        VAR BYTE
SAYI        VAR BYTE 
SIGN        VAR BYTE
FLOAT       var BYTE
mem         var byte
BIRLER      VAR BYTE
ONLAR       VAR BYTE
SIGN_BITI VAR HAM.Bit11   '   +/- sıcaklık İşaret biti,  1 = olursa eksi sıcaklık
'****************************************************************
SUTUN     var Byte[680]   ' 1497 adet byte tipinde değişken tanımlanabilir.
YEDEK     VAR BYTE[680]
RAKAM     VAR BYTE
ARA       VAR BYTE
I         var WORD
X         var byte
W         var Byte
M         var WORD
G         VAR WORD
'''''''''''''''''''
yazi_reg  var byte
yeri      var byte
z         var byte
y         var byte 
A         VAR WORD
B         VAR BYTE
C         VAR BYTE
E         var byte
bilgi     var byte[90]
L         VAR BYTE
F         VAR BYTE
P         VAR BYTE
j         var byte
d         var bit
K         VAR BIT
u         var bit
V         VAR BIT
'****************************************************************
gosub SENSORYAZ
GOSUB SENSOROKU
Low RTC_RST              ' RTC yi resetle
Low RTC_SCLK
'****************************************************************
clear
pause 250
'****************************************************************
HSEROUT ["KLAVYEDEN GiRiLEN HARFLERiN MATRiX DiSPLAYDE GOSTERiLMESi",13,10]
HSEROUT ["*********************************************************",10]
HSEROUT ["**************************",13,10]
'****************************************************************
GOSUB TEMIZLE : I=0 : D=D+1
'**********Harici_eeprom_temizleme*******************************
'FOR G=0 TO 1000
' BILGI=$FF
'  I2CWrite SDA,SCL,$A0,adress,[bilgi] ' Her adrese datayı yaz
'  adress=adress+1
' PAUSE 10
'NEXT
'****************************************************************
BASLA:
    IF PORTC.0=1 THEN GOSUB TEMIZLE : I=0 : a=0 : M=0 : adress=0 : GOTO BASLA
    IF A=0 THEN GOTO BASLA
IF V=1 AND A<84 THEN GOTO KONTROL2
IF V=1 AND A>84 THEN GOTO KONTROL3
GOTO BASLA
'****************************************************************
BASLA1: 
GOTO AA       
''''''''''''''''''''
EE:
M=0 : D=D+1
    IF PORTC.0=1 THEN I=0 : a=0 : adress=0 : GOSUB TEMIZLE : GOTO BASLA
FOR I=0 TO (A*8)-1
    SUTUN[I]=YEDEK[I]
NEXT
''''''''''''''''''''
AA:
      X=1
      For I=0 To 7
SHiftOut DTA1,CLK1,1,[SUTUN[I+88],SUTUN[I+80],SUTUN[I+72],_
SUTUN[I+64],SUTUN[I+56],SUTUN[I+48],SUTUN[I+40],_
  SUTUN[I+32],SUTUN[I+24],SUTUN[I+16],SUTUN[I+8],SUTUN[I]]
        PORTD=X
        High STROBE1 : pauseus 200 : Low STROBE1
        X=X*2
        pause L
      Next
M=M+1
IF PORTC.0=1 THEN GOSUB TEMIZLE : I=0 : a=0 : M=0 : adress=0 :  GOTO BASLA
    IF M<(A*8) THEN GOSUB sola_kay1 : GOTO AA
    if M<(A*8) then M=0
GOSUB TEMIZLE : I=0
GOTO SAAT_GOSTER
'****************************************************************
BASLA3:
AA3:
      X=1
      For I=0 To 7
SHiftOut DTA1,CLK1,1,[SUTUN[I+88],SUTUN[I+80],SUTUN[I+72],_
SUTUN[I+64],SUTUN[I+56],SUTUN[I+48],SUTUN[I+40],_
  SUTUN[I+32],SUTUN[I+24],SUTUN[I+16],SUTUN[I+8],SUTUN[I]]
        PORTD=X
        High STROBE1 : pauseus 200 : Low STROBE1
        X=X*2
        pause L
      Next
M=M+1
IF PORTC.0=1 THEN GOSUB TEMIZLE : I=0 : a=0 : M=0 : adress=0 :  GOTO BASLA
    IF M<(J*8) THEN GOSUB sola_kay3 : GOTO AA3
    if M<(J*8) then M=0
GOSUB TEMIZLE : I=0
GOTO SAAT_GOSTER
'****************************************************************
BASLA2:
Y=0 : G=0
if p=0 then A=0 : ADRESS=0 : Y=0 : GOTO BASLA3
GOTO AA1       
''''''''''''''''''''
EE1:
    IF PORTC.0=1 THEN I=0 : a=0 : adress=0 : GOSUB TEMIZLE : GOTO BASLA
''''''''''''''''''''
AA1:
G=G+1
      X=1
      For I=0 To 7
SHiftOut DTA1,CLK1,1,[SUTUN[I+88],SUTUN[I+80],SUTUN[I+72],_
SUTUN[I+64],SUTUN[I+56],SUTUN[I+48],SUTUN[I+40],_
  SUTUN[I+32],SUTUN[I+24],SUTUN[I+16],SUTUN[I+8],SUTUN[I]]
        PORTD=X
        High STROBE1 : pauseus 200 : Low STROBE1
        X=X*2
        pause L
      Next
M=M+1
''''''''''''''
IF G//8=0 THEN
    I2CRead SDA,SCL,$A0,adress,[bilgi[Y]] 'Her adresteki datayı oku B2 ye aktar
    ADRESS=ADRESS+1 : Y=Y+1 
ENDIF
''''''''''''''
IF PORTC.0=1 THEN GOSUB TEMIZLE : I=0 : a=0 : M=0 : adress=0 :  GOTO BASLA
    IF M<680 THEN GOSUB sola_kay2 : GOTO AA1   
    if M=680 then M=0
GOSUB TEMIZLE
K=0 : I=0
'''''''''''''''''''''''''
p=p-1
Y=0
  FOR X=0 TO 83
    BILGI=BILGI[Y]
     Y=Y+1
        gosub YERAL1
            for Z=0 TO 7
                GOSUB DATA_AL1
                    SUTUN[I]=VERI   
                I=I+1
            yeri=yeri+1
        NEXT   
    next
goto BASLA2
'****************************************************************
TEMIZLE:
FOR I=0 TO 95
SUTUN[I]=$FF
NEXT
GOSUB GOSTER
RETURN
'****************************************************************
KONTROL3:
IF K=1 THEN RETURN
P=B
F=F+1 : D=D+1
HIGH PORTE.1
'IF F=1 THEN adress=0 
adress=0
    IF BILGI=8 THEN GOTO GOSTER3
    FOR X=0 TO 83
''
    I2CRead SDA,SCL,$A0,adress,[bilgi] 'Her adresteki datayı oku B2 ye aktar
    ADRESS=ADRESS+1
''
gosub YERAL1
    for Z=0 TO 7
        GOSUB DATA_AL1
            SUTUN[I]=VERI   
            I=I+1
        yeri=yeri+1
    NEXT   
next     
K=K+1
LOW PORTE.1 : low porte.2       
GOTO GOSTER3
'****************************************************************
GOSTER3:
    IF PORTC.0=1 THEN GOSUB TEMIZLE : I=0 : a=0 : M=0 : adress=0 :  GOTO BASLA
''''
    FOR Z=0 TO 2
      X=1
      For I=0 To 7
SHiftOut DTA1,CLK1,1,[SUTUN[I+88],SUTUN[I+80],SUTUN[I+72],_
SUTUN[I+64],SUTUN[I+56],SUTUN[I+48],SUTUN[I+40],_
  SUTUN[I+32],SUTUN[I+24],SUTUN[I+16],SUTUN[I+8],SUTUN[I]]
        PORTD=X
        High STROBE1 : pauseus 200 : Low STROBE1
        X=X*2
        pause 1
      Next
    NEXT
GOTO BASLA2     
'****************************************************************
KONTROL2:
IF K=1 THEN RETURN
HIGH PORTE.1
adress=0
    IF BILGI=8 THEN GOTO GOSTER2
    FOR X=0 TO (A-1)
''
    I2CRead SDA,SCL,$A0,adress,[bilgi] 'Her adresteki datayı oku B2 ye aktar
    ADRESS=ADRESS+1
''
gosub YERAL1
    for Z=0 TO 7
        GOSUB DATA_AL1
            SUTUN[I]=VERI   
            I=I+1
        yeri=yeri+1
    NEXT   
next
    FOR I=0 TO ((A*8)-1)
        YEDEK[I]=SUTUN[I]
    NEXT 
K=K+1
LOW PORTE.1 : low porte.2       
GOTO GOSTER2
'****************************************************************
GOSTER2:
    IF PORTC.0=1 THEN GOSUB TEMIZLE : I=0 : a=0 : M=0 : adress=0 :  GOTO BASLA
''''
    FOR Z=0 TO 2
      X=1
      For I=0 To 7
SHiftOut DTA1,CLK1,1,[SUTUN[I+88],SUTUN[I+80],SUTUN[I+72],_
SUTUN[I+64],SUTUN[I+56],SUTUN[I+48],SUTUN[I+40],_
  SUTUN[I+32],SUTUN[I+24],SUTUN[I+16],SUTUN[I+8],SUTUN[I]]
        PORTD=X
        High STROBE1 : pauseus 200 : Low STROBE1
        X=X*2
        pause 1
      Next
    NEXT
GOTO BASLA1     
'****************************************************************
sola_kay3: 
For I=0 To (J*8)-2
    sutun[i]= sutun[i+1]
   If i=(J*8)-1 Then sutun[(J*8)-1]=sutun[0]
Next i
pauseus 1000
    if portc.4=1 then GOSUB TEMIZLE :  goto SAAT_GOSTER1
    IF PORTC.0=1 THEN I=0 : GOSUB TEMIZLE : GOTO BASLA
return
'****************************************************************
sola_kay2: 
For I=0 To 688
    sutun[i]= sutun[i+1]
   If i=689 Then sutun[689]=sutun[0]
Next i
pauseus 1000
    if portc.4=1 then GOSUB TEMIZLE :  goto SAAT_GOSTER1
    IF PORTC.0=1 THEN I=0 : GOSUB TEMIZLE : GOTO BASLA
return
'****************************************************************
sola_kay1:
For I=0 To (A*8)-2
    sutun[i]= sutun[i+1]
   If i=((A*8)-1) Then sutun[(A*8)-1]=sutun[0]
Next i
pauseus 1000
    if portc.4=1 then GOSUB TEMIZLE :  goto SAAT_GOSTER1
    IF PORTC.0=1 THEN I=0 : GOSUB TEMIZLE : GOTO BASLA
return
'****************************************************************
sola_kay:
For I=0 To 94
    sutun[i]= sutun[i+1]
   If i=95 Then sutun[95]=sutun[0]
Next i
pauseus 1000
    if portc.4=1 then GOSUB TEMIZLE :  goto SAAT_GOSTER1
    IF PORTC.0=1 THEN I=0 : GOSUB TEMIZLE : GOTO BASLA
return
'****************************************************************
saga_kay:
For I=94 to 0 step -1
    sutun[i]= sutun[i-1]
   If i=0 Then sutun[0]=sutun[95]
Next i
pauseus 10000
     if portc.4=1 then GOSUB TEMIZLE :  goto SAAT_GOSTER1
     IF PORTC.0=1 THEN I=0 : a=0 : GOSUB TEMIZLE : GOTO BASLA
return
'****************************************************************
asagi_kay:
for I=0 to 95
   ARA=SUTUN[I]
   z=ARA.7
FOR X=7 to 1 STEP -1
   ARA.0[x]=ARA.0[X-1]
NEXT
   ara.0=Z
   sutun[I]=ARA
next
pauseus 3500
     if portc.4=1 then GOSUB TEMIZLE :  goto SAAT_GOSTER1
     IF PORTC.0=1 THEN I=0 : a=0 : GOSUB TEMIZLE : GOTO BASLA
Return
'****************************************************************
yukari_kay:
FOR I=0 to 95
   ARA=SUTUN[I]
   z=ARA.0
FOR X=0 to 6
   ARA.0[X]=ARA.0[X+1]
NEXT
   ARA.7=Z
   SUTUN[I]=ARA
NEXT
pauseus 5000
     if portc.4=1 then GOSUB TEMIZLE :  goto SAAT_GOSTER1
     IF PORTC.0=1 THEN I=0 : a=0 : M=0 :  GOSUB TEMIZLE : GOTO BASLA
Return
'****************************************************************
GECIKME:
FOR VERI=0 TO 1200
PAUSEUS 1000
NEXT
RETURN
'****************************************************************
GECIKME1:
FOR VERI=0 TO 300
PAUSEUS 1000
NEXT
RETURN
'****************************************************************   
kontrol:
if rtchour=24  then rtchour=0    : rtcdate=rtcdate+1 : rtcday=rtcday+1
if rtcmin=60   then rtcmin=0
  if rtchour=255 then rtchour=23 : rtcdate=rtcdate-1 : rtcday=rtcday-1
if rtcmin=255  then rtcmin=59
gosub zaman_yaz
gosub gecikme
gosub zaman_oku
return
'****************************************************************
SAAT_GOSTER1:
gosub temizle
'''''''''''''''''''''
bb:
FOR W=0 TO 5
GOSUB ZAMAN_OKU
'''''''''''''''''''''
if portc.0=1         then u=u+1             :gosub kontrol 
if u=0 and portc.1=1 then rtchour=rtchour+1 :gosub kontrol   
if u=0 and portc.2=1 then rtchour=rtchour-1 :gosub kontrol
if u=1 and portc.1=1 then rtcmin=rtcmin+1   :gosub kontrol
if u=1 and portc.2=1 then rtcmin=rtcmin-1   :gosub kontrol
'''''''''''''''''''''
temp=" "
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
        SUTUN[I+80]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtchour dig 1
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtchour dig 0
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=":"
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcmin dig 1
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcmin dig 0
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=":"
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcsec dig 1
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcsec dig 0
    gosub YERAL
        for z=0 to 7
            GOSUB DATA_AL
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
GOSUB GOSTER
NEXT W
    IF PORTC.4=1 THEN gosub gecikme :GOSUB TEMIZLE :m=0: GOTO EE
goto bb
'****************************************************************
SAAT_GOSTER:
E=0
        if portc.4=1 then GOSUB TEMIZLE :goto SAAT_GOSTER1
gosub zaman_oku
C=C+1
    iF C=115 THEN C=0:gosub cc: I=0 :GOTO ISI_GOSTER
''''''''''''''''
temp=" "
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
        SUTUN[I+80]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtchour dig 1
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtchour dig 0
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=":"
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcmin dig 1
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcmin dig 0
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=":"
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcsec dig 1
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcsec dig 0
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
GOSUB GOSTER
    IF PORTC.0=1 THEN I=0 : a=0 : M=0 : adress=0 :  GOSUB TEMIZLE : GOTO BASLA
goto SAAT_GOSTER
'********************************************************
ISI_GOSTER:
gosub SENSOROKU
FF:
''''''
'FOR W=0 TO 14
        if portc.4=1 then GOSUB TEMIZLE :goto SAAT_GOSTER1
C=C+1
    iF C=100 THEN C=0: gosub cc : I=0 :GOTO TARIH_GOSTER
''''''''''''''''
temp=" "
    gosub YERAL
        for Z=0 to 23
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI       
        SUTUN[I+64]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=ISI dig 1
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=ISI dig 0
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=223
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp="C"
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
GOSUB GOSTER
    IF PORTC.0=1 THEN I=0 : a=0 : M=0 : adress=0 :  GOSUB TEMIZLE : GOTO BASLA
'NEXT
'goto ISI_GOSTER
GOTO FF
'****************************************************************
TARIH_GOSTER:
        if portc.4=1 then GOSUB TEMIZLE :goto SAAT_GOSTER1
gosub zaman_oku
C=C+1
    iF C=100 THEN C=0: gosub cc:gosub gecikme1: I=0 :GOTO GUN_GOSTER
''''''''''''''''
temp=" "
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
        SUTUN[I+80]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcDATE dig 1
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcdate dig 0
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp="/"
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcmonth dig 1
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcmonth dig 0
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp="/"
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcyear dig 1
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
temp=rtcyear dig 0
    gosub YERAL
        for z=0 to 7
            IF D=1 THEN GOSUB DATA_AL
            IF D=0 THEN GOSUB DATA_AL_TERS
        SUTUN[I]=VERI
     I=I+1
    yeri=yeri+1
NEXT
''''''''''''''''
GOSUB GOSTER
    IF PORTC.0=1 THEN I=0 : a=0 : M=0 : adress=0 :  GOSUB TEMIZLE : GOTO BASLA
goto TARIH_GOSTER
'****************************************************************
GUN_GOSTER: 
        if portc.4=1 then GOSUB TEMIZLE :goto SAAT_GOSTER1
c=c+1
iF C=100  and F=0 THEN C=0: gosub cc:gosub gecikme1:GOSUB TEMIZLE:GOTO ee
iF C=100  and F=1 THEN C=0: gosub cc:gosub gecikme1:GOSUB TEMIZLE:F=0:M=0:K=0:GOTO kontrol3
GOSUB ZAMAN_OKU
gosub dd
    IF PORTC.0=1 THEN I=0 : a=0 : M=0 : adress=0 :  GOSUB TEMIZLE : GOTO BASLA
GOTO GUN_GOSTER
'****************************************************************
cc:
E=E+1
If E<80                  Then gosub saga_kay    : GOTO goster1 
If E>80    and E<160     Then gosub sola_kay    : GOTO goster1
If E>160   and E<169     Then gosub asagi_kay   : GOTO goster1
if E>169   and E<178     then gosub yukari_kay  : GOTO goster1 
If E>178   then E=0
return
'****************************************************************
GOSTER1:
gosub zaman_oku
      X=1
      For I=0 To 7
SHiftOut DTA1,CLK1,1,[SUTUN[I+88],SUTUN[I+80],SUTUN[I+72],_
SUTUN[I+64],SUTUN[I+56],SUTUN[I+48],SUTUN[I+40],_
  SUTUN[I+32],SUTUN[I+24],SUTUN[I+16],SUTUN[I+8],SUTUN[I]]
        PORTD=X
        High STROBE1 : pauseus 200 : Low STROBE1
        X=X*2
        pause 3
      Next
goto cc
'****************************************************************
GOSTER:
      X=1
      For I=0 To 7
SHiftOut DTA1,CLK1,1,[SUTUN[I+88],SUTUN[I+80],SUTUN[I+72],_
SUTUN[I+64],SUTUN[I+56],SUTUN[I+48],SUTUN[I+40],_
  SUTUN[I+32],SUTUN[I+24],SUTUN[I+16],SUTUN[I+8],SUTUN[I]]
        PORTD=X
        High STROBE1 : pauseus 200 : Low STROBE1
        X=X*2
        pause 3
      Next
RETURN
'****************************************************************
dd:
yazi_reg=0 : i=0
For W=0 To 11
    gosub yazi1 : yazi_reg=yazi_reg+1
        gosub YERAL1
    for z=0 to 7
        GOSUB DATA_AL1
            SUTUN[I]=VERI
                I=I+1
            yeri=yeri+1
        next
    next
     gosub goster
return
'****************************************************************
yazi1:
if rtcday=1 then LookUp yazi_reg,["   PAZAR    "],bilgi
if rtcday=2 then LookUp yazi_reg,[" PAZARTESi  "],bilgi
if rtcday=3 then LookUp yazi_reg,["    SALI    "],bilgi
if rtcday=4 then LookUp yazi_reg,["  CARSAMBA  "],bilgi
if rtcday=5 then LookUp yazi_reg,["  PERSEMBE  "],bilgi
if rtcday=6 then LookUp yazi_reg,["    CUMA    "],bilgi
if rtcday=7 then LookUp yazi_reg,[" CUMARTESi  "],bilgi
Return
'****************************************************************     
YERAL:
select case temp
    case 0   : yeri=0   : return
    case 1   : yeri=8   : return
    case 2   : yeri=16  : return
    case 3   : yeri=24  : return
    case 4   : yeri=32  : return
    case 5   : yeri=40  : return
    case 6   : yeri=48  : return
    case 7   : yeri=56  : return
    case 8   : yeri=64  : return
    case 9   : yeri=72  : return
    case 223 : yeri=80  : return
    case "C" : yeri=88  : return
    case ":" : yeri=96  : return
    case "/" : yeri=104 : return
    case " " : yeri=112 : return
end select
return
'****************************************************************
data_al:
    lookup yeri,[$FF,$C1,$80,$A6,$B2,$80,$C1,$FF,_     '0
                 $FF,$BF,$BD,$80,$80,$BF,$BF,$FF,_     '1
                 $FF,$9D,$8C,$A6,$B2,$98,$9D,$FF,_     '2
                 $FF,$DD,$9C,$B6,$B6,$80,$C9,$FF,_     '3
                 $FF,$E7,$E3,$E9,$80,$80,$E7,$FF,_     '4
                 $FF,$D8,$98,$BA,$BA,$82,$C6,$FF,_     '5
                 $FF,$C3,$81,$B4,$B6,$86,$CF,$FF,_     '6
                 $FF,$FC,$FC,$8E,$86,$F0,$F8,$FF,_     '7
                 $FF,$C9,$80,$B6,$B6,$80,$C9,$FF,_     '8
                 $FF,$F9,$B0,$B6,$96,$C0,$E1,$FF,_     '9
                 $FF,$FF,$F9,$F0,$F6,$F0,$F9,$FF,_     'Derece
                 $FF,$C1,$80,$BE,$BE,$BE,$DD,$FF,_     'C
                 $FF,$FF,$FF,$99,$99,$FF,$FF,$FF,_     ':
                 $FF,$9F,$CF,$E7,$F3,$F9,$FC,$FF,_     '/
                 $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF],VERI 'Boşluk
RETURN
'****************************************************************
data_al_ters:
    lookup yeri,[$00,$3E,$71,$59,$4D,$47,$3E,$00,_     '0
                 $00,$40,$42,$7F,$7F,$40,$40,$00,_     '1
                 $00,$62,$73,$59,$4D,$67,$62,$00,_     '2
                 $00,$22,$63,$49,$49,$7F,$36,$00,_     '3
                 $00,$18,$1C,$16,$7F,$7F,$18,$00,_     '4
                 $00,$27,$67,$45,$45,$7D,$39,$00,_     '5
                 $00,$3C,$7E,$4B,$49,$79,$30,$00,_     '6
                 $00,$03,$03,$71,$79,$0F,$07,$00,_     '7
                 $00,$36,$7F,$49,$49,$7F,$36,$00,_     '8
                 $00,$06,$4F,$49,$69,$3F,$1E,$00,_     '9
                 $00,$00,$06,$0F,$09,$0F,$06,$00,_     'Derece
                 $00,$3E,$7F,$41,$41,$63,$22,$00,_     'C
                 $00,$00,$00,$36,$36,$00,$00,$00,_     ':
                 $00,$60,$30,$18,$0C,$06,$03,$00,_     '/
                 $00,$00,$00,$00,$00,$00,$00,$00],VERI 'Boşluk
RETURN
'****************************************************************
YERAL1:
select case bilgi
    case "A" : yeri=0   : return
    case "B" : yeri=8   : return
    case "C" : yeri=16  : return
    case "D" : yeri=24  : return
    case "E" : yeri=32  : return
    case "F" : yeri=40  : return
    case "G" : yeri=48  : return
    case "H" : yeri=56  : return
    case "I" : yeri=64  : return
    case "i" : yeri=72  : return
    case "J" : yeri=80  : return
    case "K" : yeri=88  : return
    case "L" : yeri=96  : return
    case "M" : yeri=104 : return
    case "N" : yeri=112 : return
    case "O" : yeri=120 : return
    case "P" : yeri=128 : return
    case "R" : yeri=136 : return
    case "S" : yeri=144 : return
    case "T" : yeri=152 : return
    case "U" : yeri=160 : return
    case "V" : yeri=168 : return
    case "Y" : yeri=176 : return
    case "Z" : yeri=184 : return
    CASE "." : YERI=192 : RETURN
    case "W" : yeri=200 : return
    case "Q" : yeri=208 : return
    case "/" : yeri=216 : return 
    case ":" : yeri=224 : return
    case "-" : yeri=232 : return 
    case " " : yeri=240 : return     
end select
return
'****************************************************************
data_al1:
    LookUp yeri,[$FF,$81,$F6,$F6,$F6,$F6,$81,$FF,_     ;  A
                 $FF,$80,$B6,$B6,$B6,$B6,$C9,$FF,_     ;  B
                 $FF,$C1,$BE,$BE,$BE,$BE,$DD,$FF,_     ;  C
                 $FF,$80,$BE,$BE,$BE,$BE,$C1,$FF,_     ;  D
                 $FF,$80,$B6,$B6,$B6,$B6,$BE,$FF,_     ;  E
                 $FF,$80,$F6,$F6,$F6,$F6,$FE,$FF,_     ;  F
                 $FF,$80,$BE,$B6,$B6,$B6,$86,$FF,_     ;  G
                 $FF,$80,$F7,$F7,$F7,$F7,$80,$FF,_     ;  H
                 $FF,$BE,$BE,$80,$80,$BE,$BE,$FF,_     ;  I
                 $FF,$BF,$BB,$82,$82,$BB,$BF,$FF,_     ;  i
                 $FF,$CE,$BE,$80,$80,$FE,$FF,$FF,_     ;  J
                 $FF,$80,$F7,$EB,$DD,$BE,$FF,$FF,_     ;  K
                 $FF,$80,$BF,$BF,$BF,$BF,$BF,$FF,_     ;  L
                 $FF,$80,$FB,$F7,$F7,$FB,$80,$FF,_     ;  M
                 $FF,$80,$FB,$F7,$EF,$DF,$80,$FF,_     ;  N
                 $FF,$C1,$BE,$BE,$BE,$BE,$C1,$FF,_     ;  O
                 $FF,$80,$F6,$F6,$F6,$F6,$F9,$FF,_     ;  P
                 $FF,$80,$F6,$F6,$E6,$D6,$B9,$FF,_     ;  R
                 $FF,$D9,$B6,$B6,$B6,$B6,$CD,$FF,_     ;  S
                 $FF,$FE,$FE,$80,$80,$FE,$FE,$FF,_     ;  T
                 $FF,$C0,$BF,$BF,$BF,$BF,$C0,$FF,_     ;  U
                 $FF,$E0,$DF,$BF,$BF,$DF,$E0,$FF,_     ;  V
                 $FF,$FC,$FB,$87,$87,$FB,$FC,$FF,_     ;  Y                     
                 $FF,$9E,$AE,$B6,$BA,$BC,$BE,$FF,_     ;  Z
                 $FF,$FF,$FF,$9F,$9F,$FF,$FF,$FF,_     ;  .
                 $FF,$80,$DF,$EF,$EF,$DF,$80,$FF,_     ;  W
                 $FF,$C1,$BE,$BE,$AE,$9E,$81,$FF,_     ;  Q
                 $FF,$9F,$CF,$E7,$F3,$F9,$FC,$FF,_     ;  /
                 $FF,$FF,$FF,$99,$99,$FF,$FF,$FF,_     ;  :
                 $FF,$E7,$E7,$E7,$E7,$E7,$E7,$FF,_     ;  _
                 $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF],veri ;  BOŞLUK
Return
'****************************************************************
'***Sensör_Oku***************************************************
SENSOROKU:
           OWOUT   Comm_Pin, 1, [$CC, $44]' ISI değerini oku
Bekle:
'           OWIN    Comm_Pin, 4, [TEMP]    ' Busy değerini oku
'           IF      TEMP = 0 THEN Bekle  ' hala meşgulmü? , evet ise goto Bekle..!
           OWOUT   Comm_Pin, 1, [$CC, $BE]' scratchpad memory oku
           OWIN    Comm_Pin, 2, [HAM.Lowbyte, HAM.Highbyte]' İki byte oku ve okumayı bitir.
           GOSUB   Hesapla
           RETURN
'****************************************************************           
SENSORYAZ:
          OWOUT   COMM_Pin, 1, [$CC, $4E, $00,$00,$31]
          return           
'****************************************************************             
Hesapla:                 ' Ham değerden Santigrat derece hesabı
    Sign  = "+"
    IF SIGN_BITI = NEGAT_ISI THEN
       Sign   = "-" 
       ham=($ffff-ham)+1
    endif
    ISI = Ham*10/16
GEC:
    FLOAT = (ISI //10)
    ISI=ISI/10
    RETURN                     
'****************************************************************
'****************************************************************
'***********Zaman Oku***********
ZAMAN_OKU:
         High RTC_RST
         SHiftOut RTC_DTA, RTC_SCLK, 0, [$BF]
         SHiftIn RTC_DTA, RTC_SCLK, 1, [rtcsec, rtcmin, rtchour,rtcdate , rtcmonth,rtcday,rtcyear, MEM]
         Low RTC_RST
         MEM=rtcsec  : GoSub CEVIR:rtcsec=SAYI 
         MEM=rtcmin  : GoSub CEVIR:rtcmin=SAYI
         MEM=rtchour : GoSub CEVIR:rtchour=SAYI
         MEM=rtcdate : GoSub CEVIR:rtcdate=SAYI
         MEM=rtcmonth: GoSub CEVIR:rtcmonth=SAYI
         MEM=rtcyear : GoSub CEVIR:rtcyear=SAYI
         MEM=rtcday  : GoSub CEVIR: rtcday=SAYI       
         Return
'***********Zaman Yaz***********
ZAMAN_YAZ:
    MEM=rtcsec   : GoSub TERSCEVIR :rtcsec=SAYI
    MEM=rtcmin   : GoSub TERSCEVIR :rtcmin=SAYI
    MEM=rtchour  : GoSub TERSCEVIR :rtchour=SAYI
    MEM=rtcdate  : GoSub TERSCEVIR :rtcdate=SAYI
    MEM=rtcmonth : GoSub TERSCEVIR :rtcmonth=SAYI
    MEM=rtcyear  : GoSub TERSCEVIR :rtcyear=SAYI
    MEM=rtcday   : GoSub TERSCEVIR :rtcday=SAYI
       
    High  RTC_RST
    SHiftOut RTC_DTA, RTC_SCLK, 0, [$8E, 0]
    Low RTC_RST:pause 1
    High RTC_RST         
    SHiftOut  RTC_DTA, RTC_SCLK, 0, [$BE, rtcsec, rtcmin, rtchour,rtcdate , rtcmonth, rtcday, rtcyear, 0]  'YAZ
    Low RTC_RST
    pause 10
Return
'***********Çevir***********               
CEVIR:
    ONLAR=MEM & %01110000
    ONLAR=ONLAR>>4
    BIRLER=MEM & %00001111
    SAYI=ONLAR*10+BIRLER
RETURN 
'***********Ters Çevir***********
TERSCEVIR:               
    ONLAR=MEM DIG 1
    ONLAR=ONLAR<<4
    BIRLER=MEM DIG 0
    SAYI=ONLAR+BIRLER
RETURN
'**************************************************************** 
Disable
KESME:
A=A+1 : K=0 : V=0
'''''
    IF A=1 THEN
        HSERIN [WAIT("SIFRE"),BILGI]
            I2CWrite SDA,SCL,$A0,adress,[bilgi] ' Her adrese datayı yaz
            adress=adress+1
            PAUSE 10
    ELSE
        HSERIN [BILGI]
            I2CWrite SDA,SCL,$A0,adress,[bilgi] ' Her adrese datayı yaz
            adress=adress+1
            PAUSE 10 
ENDIF
'''''
'IF adress>680  then high porte.2 ' Uyarı ledini yak
        IF adress<15                THEN L=4
        IF adress<15 AND adress<30  THEN L=3
        IF adress>30 AND adress<60  THEN L=2
        if adress>60 AND adress<100 THEN L=1
'''''
HSEROUT [BILGI,10]
    IF bilgi=13 THEN V=1 : p=A/84 : B=P :  J=A//84      ' enter
'''''
IF bilgi=8  then                                  ' backspace
    high porte.0
        FOR W=0 TO 1
            adress=adress-1
                bilgi=$ff
                    I2CWrite SDA,SCL,$A0,adress,[bilgi]
                PAUSE 10
            NEXT
        low porte.0
     A=A-2   
ENDIF
'''''   
PIR1.5=0                        ' RCIF : USART Receive Interrupt Flag bit
  Resume
ENABLE
Return   
'****************************************************************
end




mitec

bende çoğu arkadaşım gibi konuyu dikkatle takip ediyorum bundan sonra yapılabilecek işlemlerle ilgili bir kaç fikrim var
mesela programda sağa kayma sola,kayma,ısı gösterme.......vb. gibi özellikler var bunlar ayrı ayrı seçimlenebilir olursa sanırım mükemmel olur
isteğe bağlı olarak;
sadece sağa kaydırma
sadece sola kaydırma
kaydırma hızını ayarlayabilme (bence çok önemli)
sadece aşağı kaydırma
sadece yukarı kaydırma
sadece saat göster
sadece tarih göster
sadece ısı göster
yada hepsini göster ama ısı,tarih,saat gösterme gibi özelliklerin ekranda kalma süreleri ayarlanabilmeli
bu söylediklerim dahada arttırılabilir ama bu özellikler eklenirse sanırım çok daha kullanılışlı olur siz ne dersiniz?



ELZEMEFE

Arkadaşlar benim  bu kayan yazı  olayı içimde bir uhte oldu .. bikaç girişimim oldu ama olmadı ve az kalsın PIC ten bile soğuyacaktım derken bir sürü matrix led ve tpıc595 aldım felan filan derken baktım olmayacak olduğu gibi bıraktım

kayan yazı konusunda olayın mantığını sanki beynim almak istemiyo bu olaya benzer bi olay öss de sayısal olduğum  için biyoloji dersine karşıda  olmuştu .. yok yani olmuyo öğle küçük emrah modunda sadece  bakıyorum ..
yapılanları kodunu ayrıntısını alıp  mantığını  çözmeyincede içime sinmiyo ama bunu inceden inceden takip ediyorum

şu an elimde bikaç  form da açtığım konular var onlar üzerine uğraşıyorum onlar biter bitmez kayan yazı konusuna bakıcam artık bu kayan yazı  konusunda  uğraşırken inşallah ete hocam beni formdan atmaz  ;D

meyer

#80
 İyi günler arkadaşlar,

@private_korsan hocam,dedikleriniz konusunda haklısınız ve dediklerinizi 1-2 kod ekleyerek yapabiliriz ama bir pc arayüzü yazdıktan sonra dediğiniz kontrolleri yapabilsek  çok daha iyi olur gibime geliyor...Pc arayüz programını yazabilecek arkadaşlar varsa memnun oluruz tabi ama yoksa da ilerleyen günlerde bir şekilde halledebiliriz diye düşünüyorum..

@ELZEMEFE hocam,bende sizin gibi bu kayan yazı sistemlerini öğrenemiyorum diye kaç defa bu işi bırakma noktasına geldim.Ama her defasında son bir defa diye diye kayan yazı da bir şeyler yapabilmeyi başardım..Tabi bu konuda ETE Hocamın yardımları da gözardı edilemez..Konuya da ilk mesajlardan bakarsanız eğer bu durum açıkça görülmektedir zaten..Yani siz veya başka arkadaşlarda ETE Hocamın matrix display ders notlarını ve devre şemalarını inceleyerek ve bu konuyu da ilk mesajlardan itibaren adım adım takip ederek giderlerse şu an yapılmış olan devrenin ve kayan yazı sistemlerinin aslında hiçbir zorluğunun olmadığı  göreceklerdir ve bu devreden daha iyisini yapabileceklerini anlayacaklardır..Yani uzun lafın kısası;Ete Hocamın ders notlarını ve bu konuyu  en baştan incelerseniz eğer kayan yazı sistemlerinin kolaylığı apaçık görülecektir..

ELZEMEFE

PC yazılımı konusnda yardımcı oalbilirm  C sharp veya v.basıc veya birazda delphi ama sanırım seri port kullanıcaz çok fazla kontrol olmaz yapabilirz  .  ama biraz daha bekleyeyelim  bende başlayınca alt yapıyı biraz daha düzgün başlayalım .. daha gelişmiş bişey çıksın .. herkese de yararlı  olsun

ayrıca bu kayan yazı olayında satır taramalı veya sutun taramalı yapılanlarda  satır  taramalı olanlar ın daha iyi olduğu doğrumu yoksa donanımla mı alaklı

halilgaliç

PC arayüz programı sorun değil seri port ile kolay bi şekilde yapabiliriz

meyer

 İyi günler arkadaşlar,
-PC arayüz programını da bir şekilde halledebileceğimize göre devrenin tasarım aşaması bittikten sonra pc arayüzünü yazmaya başlamak en doğrusu olacak gibime geliyor...@ELZEMEFE Hocamın da dediği gibi biraz daha bekleyip daha düzgün bir şey yapalım..
-@ELZEMEFE Hocam,sorduğunuz sorunun cevabını ETE Hocam,aşağıdaki linkte güzel ve ayrıntılı bir biçimde anlatmış..

http://www.elektrotekno.com/about54046.html

İyi günler...

ete

#84
Aynı yazıyı burada da yayınlamak doğru olacak sanırım.

Kayan yazı devreleri, birim zaman içinde aktif olan ledlerin yakılıp söndürülmesi ile insan gözünün aldatılması prensibine dayanarak çalışır. Bir ledin insan gözü tarafından sürekli yanıyormuş gibi görülmesi için o ledin en azından saniyede 20 ms müddetle yanık kalması gerekir. Yada 1ms lik sürelerle 1 saniye içinde 20 defa yakılıp söndürülmesi gerekir. Kısaca ledin bir saniye içinde 20 ms süre ile yanık kalmasını sağlamamız gerekir.
Bu süre düştükçe ledin parlaklığını algılamamız ve sonunda led sönük görmemiz kaçınılmazdır.
Kayan yazı devrelerinde bu temel prensipten yararlanılır.

Dikkat ederseniz zaman sabittir. Bir saniyelik dilim içinde bir kayan yazı sisteminin en azından 50 defa taranması gerekir. Şimdi de satır tarama ve sütün tarama ne demektir o konuyu da biraz açalım.
Bir led in iki besleme bacağı vardır. Biri Anot diğeri katod. Birinden + besleme diğerinden GND verirsiniz.
8 x 8 matrix led sisteminde oluşturulacak karekter ya sütundan (sütun - sütun) yada satırdan verilerek (satır satır) oluşturulabilir.
Satır tarama da, 1. satır bilgisi sütundan verilir ve ilk satır aktif hale getirilir. Yani ilk satırın ortak ucu sürülerek o satırdaki yanması gereken ledler yakılır.
SOnra ikinci satır bilgisi sütundan verilir ve ikinci satır aktif hale getirilir. Sonra üçüncü satır , sonra dördüncü satır bu şekilde son satıra kadar satır taranır. Tarayacağınız maksimum satır adedi 8 olabilir. O halde birim zamanda (1 sn de) her bir ledi yaklaşık 6 ms süre ile yanık bırakabilirsiniz. Bu hesabı şöyle yapabilirsiniz. Her bir led için 1000/20 =50 ms gerekiyor.  8 sıra için 50/8=6 ms dolayında olacaktır.

Sütun tarama sistemine gelirsek, bilgi satırdan verilir ve ilk sütun aktif edilerek ilk sütun bilgisi matriks de oluşturulur. Daha sonra diğer sütun ve daha sonra diğeri şeklinde sürüp gider bu oluşturma. Burada bütün yazının 1 saniye içinde en azından 20 defa oluşturulup taranması gerekir. Yazı boyu (sütun sayısı) arttıkça beher ledin yanık kalma süresi azalacaktır. Örnek vermek gerekirse 8 sütunlu bir sistemde 6 ms bulmuştuk hesabı. 16 sütunlu sistemde bu süre 3 ms ye düşecek ve daha büyük sistemlerde mikro saniye seviyelerine düşecektir. Dolayısıyla sütun taramada sütun sayısı arttıkça ledleri parlaklığı azalacaktır. Bu kaçınılmaz bir durumdur.
Buradan yola çıkarak satır taramanın sütun taramaya oranla daha iyi bir sistem olduğunu hemen söyleyebiliriz.
Çünki en azından bir sn içinde tarayacağınız satır sayısı 8 adettir ve sütun ne olursa olsun bu değişmeyecektir.
Değişen tek şey sütun sayısı arttıkça sizin satır beslemesinin gücünün artması zorunluluğudur. Zamanlama değişmeyeceği için parlaklık da değişmeyecektir. İşe malzeme yönünden bakarsak, satır tarama sisteminde karekterlerin satır bilgilerini sütundan vermeniz gerekir. Bu bütün yazı boyu için geçerli olup her bir karekter için en azından bir shift register kullanmanız gerekir. Dolayısıyla daha fazla entegre kullanmanız gerekebilir.
Sütun taramada 16 bitlik multiplexer entegreleri kullanarak onları kaskad bağlayarak sütun taramasını gerçekleştirebilirsiniz. Malzeme açısından sütun tarama daha elverişlidir.
Ama kalite ve özllikle led parlaklığı ön planda ise satır tarama en birincisidir.

Ete

ELZEMEFE

Ben bu yazıyı niye kaçırmışım  anlamadım .. ama kayan yazı olayına  başlayınca sanırım en ince ayrıntıyı bile bakarım galiba

Analogic

O siteye oldum olası gıcık olmuşumdur.
Sitede sanki sıra dışı bir bilgi paylaşımı yapılıyor ya da siteye üye olana maaş bağlanıyormuş gibi, üyelik için referans isteniyor.

Mucit23

Ete hocam sizin kayan yazı devrelerinizden ufak bi değişiklik yapmaya çalışıyorum. Değişiklik yapmak için programı ilk önce anlamaya çalışıyorum. Her yeri anladım sayılır. Sadece Kaydır isimli alt programda takılıyorum. Bu kısım nedense diğer bölümlere göre çok karışık geliyor.

Kodun orjinal hali böyle

DEFINE OSC 4
@ DEVICE pic16F876
@ DEVICE pic16F876, WDT_ON
@ DEVICE pic16F876, PWRT_ON
@ DEVICE pic16F876, PROTECT_OFF
@ DEVICE pic16F876, XT_OSC

ADCON1=7
;___________________________PROGRAMDA KULLANILAN DEĞİŞKEN TANIMLAMALARI________________
                                                                                       ;
SUTUN        VAR BYTE[95]                                                               ;
VERI         VAR BYTE
YRDPORT      VAR BYTE
GONDER       VAR BYTE                                                                  ;
KARAKTER     VAR BYTE                                                                   ;
SAYICI       VAR BYTE                                                                   ;
SIRA_NO      VAR BYTE                                                                   ;
SUTUN_SAYISI VAR BYTE                                                                   ;
SUTUN_SAYAC   VAR BYTE                                                                 ;
OFSET        VAR BYTE                                                                   ;
LINE         VAR BYTE                                                                   ;
J            var byte                                                                   ;
I            var byte
s1           var byte
s2           var byte
s3           var byte

                                                                   ;
DTA       VAR PORTC.0                                                                ;
CLK          VAR PORTC.1                                                                ;
RESET        VAR PORTC.2
A VAR BYTE                                                   ;
       '"*****************************************************************************************************************************"
;DATA @0,"ETE PICMAN KAYAN YAZI PROGRAMI DENEME YAZISIDIR. TOPLAM KAREKTER ADEDI 127 ADET OLABILIR. MATRIKS SAYISI ARTIRILABILMEKTEDIR",5

DATA @0," AHMET BİRAZDAN SENİ TAVLADA EZECEĞİM...  MUHA HA HA HA HAH HA ŞİŞKO DOMBİLİ EZME EZİK......       ",5
;______________________________________________________________________________________;

;______________TIMER INTERRUPT IÇİN OPTION VE INTCON REGISTERLERI KURULUYOR____________
                                                                                       ;
'           OPTION_REG = $15 ;Option registeri kur                                                          ;
'           INTCON = $a0     ;TMR0 interrupt aktif                                                          ;
'           ON INTERRUPT GOTO TMR_INT                                                  ;
;______________________________________________________________________________________;

;_________________________PORT AYAR VE DEĞİŞKEN İLK DEĞER ATAMALARI____________________                     
  TRISA=0              ;porta çıkış olarak ayarlanıyor
  TRISB=0              ;portb çıkış olarak ayarlanıyor
  TRISC=0
  PORTC=0
  PORTB=0              ;portb yi sıfırla
  PORTA=0              ;porta yı sıfırla
  J=0                  ;j değişkenini sıfırla
  I=0                  ;ı değişkenini sıfırla
  SUTUN_SAYISI=0       ; sutun sayısı değişkenini sıfırla       
  SUTUN_SAYAC=0        ;sutun sayac değişkenini sıfırla

MAIN:                    ;program başlangıcı
    GOSUB SUTUN_TEMIZLE  ;sutun değişkenlerini temizleme alt programına git
BASLA:                   ;ana döngü etiketi             
    GOSUB TARA           ;sutun tarama alt programına git
    gosub VERI_GOSTER
   
GOTO BASLA              ;tarama işleminin sürekliliği için başla etiketine git

;_______________________SUTUN TEMİZLEME ALT NPROGRAMI___________________________
SUTUN_TEMIZLE:
  FOR I = 0 TO 24       ;48 sutun için döngü
    SUTUN[I]=0           ;her döngüde i degisken degerine göre bir sutun temizlenir
  NEXT I                 ; döngü başına git
  RETURN                 ;sutun temizleme alt programından çık
;_______________________________________________________________________________

;_________________________SUTUN TARAMA ALT PROGRAMI_____________________________
TARA: 
SHIFTOUT DTA,CLK,1,[255,255,254]
PULSOUT RESET,1           
HIGH DTA               ;data 1
  FOR I = 24 TO 0 STEP -1        ;sutun taraması için döngü
  LOW CLK
;   YRDPORT=SUTUN[I]
;    GOSUB TERSLE
   PORTB=SUTUN[I]
   low reset
   high reset
   PAUSEUS 1000
   HIGH CLK   
   NEXT I                 ;döngü başına git
   PORTB=0                ;PORTB yi sıfırla
   I=0                    ;i degişkenini sıfırla
RETURN   

TERSLE:
   IF YRDPORT.0=1 THEN
   GONDER.0=0
   ELSE
   GONDER.0=1
   ENDIF
   IF YRDPORT.1=1 THEN
   GONDER.1=0
   ELSE
   GONDER.1=1
   ENDIF 
   IF YRDPORT.2=1 THEN
   GONDER.2=0
   ELSE
   GONDER.2=1
   ENDIF
   IF YRDPORT.3=1 THEN
   GONDER.3=0
   ELSE
   GONDER.3=1
   ENDIF
   IF YRDPORT.4=1 THEN
   GONDER.4=0
   ELSE
   GONDER.4=1
   ENDIF
   IF YRDPORT.5=1 THEN
   GONDER.5=0
   ELSE
   GONDER.5=1
   ENDIF
   IF YRDPORT.6=1 THEN
   GONDER.6=0
   ELSE
   GONDER.6=1
   ENDIF
   IF YRDPORT.7=1 THEN
   GONDER.7=0
   ELSE
   GONDER.7=1
   ENDIF 
RETURN     

;_______________________________________________________________________________

;_______________________________TMR0 INTERRUPT ALT PROGRAMI_____________________
'DISABLE                 ;bütün kesmeleri geçersiz yap
' TMR_INT:
'  SAYICI=SAYICI+1       ;sayıcı değişkenini bir artır
'  IF SAYICI <= 11 THEN  INT_CIK  ;sayıcı 30 mu? değilse ınt_cık etiketine git
'  SAYICI=0              ; evet sayıcıyı sıfırla
'  GOSUB VERI_GOSTER     ;veri göster alt programına git
'  INT_CIK:              ; sayıcı 30 a eşit değilse program buraya yönlenir
'  INTCON.2=0            ;
'  RESUME                ;timer interrupt alt programından çık
'ENABLE
'return
;_______________________________________________________________________________
   
VERI_GOSTER:;___________________________________________________________________
  GOSUB KARAKTER_AL                           ;TABLODAN KARAKTER AL                                                                         ;
  GOSUB SENTEZ                                ;SENTEZ ALT PROGRAMINA GIT                      ;
  IF ( SUTUN_SAYAC = SUTUN_SAYISI ) THEN      ;sutun sayac , sutun sayısı na eşitmi
      GOSUB KAYDIR                            ; evet , kaydır alt programına git                           ;
      SUTUN[0]=0                              ;sutun0 ı sıfırla                                                  ;                                                                              ;
      SUTUN_SAYAC=0                           ;sutun sayac değişkenini sıfırla                                                 ;
      LINE=0                                                                                     ;
      J=J+1                                                                                      ;
   ENDIF
'  pause 200                                                                                      ;
RETURN;______________________________________________________________________________________;     
 
KARAKTER_AL:;_______________J DEGİSKEN DEGERİNE GÖRE KARAKTER ALINIYOR________________________
    READ J,KARAKTER                                                        ;
RETURN;______________________________________________________________________________________; 

SENTEZ:;_________________________________ALINAN KARAKTER BİLGİSİ KARŞILAŞTIRILIYOR____________
  IF KARAKTER=5 THEN SON_KARAKTER
 
  SELECT CASE KARAKTER
    CASE 65: SIRA_NO=4     ;A
    CASE 66: SIRA_NO=9     ;B
    CASE 67: SIRA_NO=14    ;C
    CASE 68: SIRA_NO=19    ;D
    CASE 69: SIRA_NO=24    ;E
    CASE 70: SIRA_NO=29    ;F
    CASE 71: SIRA_NO=34    ;G
    CASE 72: SIRA_NO=39    ;H
    CASE 73: SIRA_NO=42    ;I
    CASE 74: SIRA_NO=47    ;J
    CASE 75: SIRA_NO=52    ;K
    CASE 76: SIRA_NO=57    ;L
    CASE 77: SIRA_NO=62    ;M
    CASE 78: SIRA_NO=67    ;N
    CASE 79: SIRA_NO=72    ;O
    CASE 80: SIRA_NO=77    ;P
    CASE 81: SIRA_NO=82    ;Q
    CASE 82: SIRA_NO=87    ;R
    CASE 83: SIRA_NO=92    ;S 
    CASE 84: SIRA_NO=97    ;T 
    CASE 85: SIRA_NO=102   ;U 
    CASE 86: SIRA_NO=107   ;V
    CASE 87: SIRA_NO=112   ;W
    CASE 88: SIRA_NO=117   ;X
    CASE 89: SIRA_NO=122   ;Y
    CASE 90: SIRA_NO=127   ;Z
    CASE 32: SIRA_NO=132 ;BOSLUK   
    CASE 48: SIRA_NO=137 ;0 
    CASE 49: SIRA_NO=140 ;1
    CASE 50: SIRA_NO=145 ;2
    CASE 51: SIRA_NO=150 ;3
    CASE 52: SIRA_NO=155 ;4
    CASE 53: SIRA_NO=160 ;5
    CASE 54: SIRA_NO=165 ;6 
    CASE 55: SIRA_NO=170 ;7
    CASE 56: SIRA_NO=175 ;8 
    CASE 57: SIRA_NO=180 ;9
    CASE 46: SIRA_NO=185 ;.
    CASE 199:SIRA_NO=190 ;Ç
    case 208:sira_no=195 ;Ğ
    case 221:sira_no=198 ;İ
    case 214:sira_no=203 ;Ö
    case 220:sira_no=208 ;Ü
    case 222:sira_no=213 ;Ş

  end select   
  IF ((KARAKTER=49) OR (KARAKTER=73)) THEN
    SUTUN_SAYISI=3
   ELSE
    SUTUN_SAYISI=5
  ENDIF
  if karakter=221 then
  SUTUN_SAYISI=3
  endif
   
  SUTUN_SAYAC=SUTUN_SAYAC+1     
  GOSUB ORT_ISLM
RETURN
SON_KARAKTER:
     VERI=0 : SUTUN_SAYISI=0 :  LINE=0 : SUTUN_SAYAC=0 : KARAKTER=0 : SUTUN_SAYISI=0 : J=0
RETURN
     ;__________________________________SENTEZ ALT PROGRAM SONU_______________________ 
 
ORT_ISLM:
  OFSET= SIRA_NO-LINE
  GOSUB TABLO
  GOSUB KAYDIR
  LINE=LINE+1
 
RETURN

KAYDIR:
    s1=95
    s2=94   
         for s3= 0 to 94
          sutun[s1] = sutun[s2]
          s1=s1-1 : s2=s2-1
         next
         PAUSEUS 1000
     sutun [s1]=veri
RETURN

TABLO:
   LOOKUP OFSET,[_
   $3F,$48,$48,$48,$3F,_      ;A   0-4
   $36,$49,$49,$49,$7F,_      ;B   4-9
   $22,$41,$41,$41,$3E,_      ;C   9-14
   $3E,$41,$41,$41,$7F,_      ;D   14-19
   $41,$49,$49,$49,$7F,_      ;E   19-24
   $40,$48,$48,$48,$7F,_      ;F   24-29
   $2E,$49,$49,$41,$3E,_      ;G   29-34
   $7F,$08,$08,$08,$7F,_      ;H   34-39
   $41,$7F,$41,_              ;I   39-42
   $40,$7E,$41,$01,$02,_      ;J   42-47
   $41,$22,$14,$08,$7F,_      ;K   47-52
   $01,$01,$01,$01,$7F,_      ;L   52-57
   $7F,$20,$10,$20,$7F,_      ;M   57-62
   $7F,$04,$08,$10,$7F,_      ;N   62-67
   $3E,$41,$41,$41,$3E,_      ;O    67-72
   $30,$48,$48,$48,$7F,_      ;P   72-77
   $3D,$42,$45,$41,$3E,_      ;Q   77-82
   $31,$4A,$4C,$48,$7F,_      ;R   82-87
   $26,$49,$49,$49,$32,_      ;S   87-92
   $40,$40,$7F,$40,$40,_      ;T   92-97
   $7E,$01,$01,$01,$7E,_      ;U   97-102
   $7C,$02,$01,$02,$7C,_      ;V   102-107
   $7E,$01,$0E,$01,$7E,_      ;W   107-112
   $63,$14,$08,$14,$63,_      ;X   112-117
   $70,$08,$07,$08,$70,_      ;Y   117-122
   $61,$51,$49,$45,$43,_      ;Z   122-127
   $00,$00,$00,$00,$00,_      ;bosluk   127-132
   $3E,$51,$49,$45,$3E,_      ;0   132-137
   $01,$7F,$21,_              ;1   137-140
   $31,$49,$45,$43,$21,_      ;2   140-145   
   $46,$69,$51,$41,$42,_      ;3   145-150
   $04,$7F,$24,$14,$0C,_      ;4   150-155
   $4E,$51,$51,$51,$72,_      ;5   155-160
   $06,$49,$49,$29,$1E,_      ;6   160-165
   $60,$50,$48,$47,$40,_      ;7   165-170
   $36,$49,$49,$49,$36,_      ;8   170-175
   $3C,$4A,$49,$49,$30,_      ;9   175-180
   $00,$00,$00,$00,$01,_      ;.   
   $24,$42,$43,$42,$3c,_      ;Ç   185-190
   $16,$65,$61,$61,$1e,_      ;Ğ   190-195
   $21,$7f,$21,_              ;İ   195-198
   $1e,$61,$21,$61,$1e,_      ;Ö   198-203
   $1e,$41,$01,$41,$1e,_      ;Ü   203-208
   $26,$49,$4b,$49,$32],VERI  ;Ş   208-213
RETURN   
END   


Benim yapmak istediğim şunun gibi bir şey. Yani tek matrix hiç şhift register felan kullanmayacağım.

image hosting gif
Akşam akşam ufak bi iş vardı hemen halledeyim dedim. Veri kaydırma işinde takıldım.

Biraz değişiklikler yaptım fakat program şu anda çalışmıyor. Yazılımsal olarak yapılacak birkaç iş daha var.
'****************************************************************
'*  Name    : KAYAN YAZI DEVRESI                                      *
'*  Author  : [set under view...options]                        *
'*  Notice  : Copyright (c) 2006 [set under view...options]     *
'*          : All Rights Reserved                               *
'*  Date    : 16.07.2006                                        *
'*  Version : 1.0                                               *
'*  Notes   : REKLAM PANOSU UYGULAMASI                                                  *
'*          :                                                   *
'****************************************************************

DEFINE OSC 4
@ DEVICE pic16F876
@ DEVICE pic16F876, WDT_ON
@ DEVICE pic16F876, PWRT_ON
@ DEVICE pic16F876, PROTECT_OFF
@ DEVICE pic16F876, XT_OSC

ADCON1=7
;___________________________PROGRAMDA KULLANILAN DEĞİŞKEN TANIMLAMALARI________________
                                                                                       ;
SUTUN        VAR BYTE[7]                                                               ;
VERI         VAR BYTE
YRDPORT      VAR BYTE
GONDER       VAR BYTE                                                                  ;
KARAKTER     VAR BYTE                                                                   ;
SAYICI       VAR BYTE                                                                   ;
SIRA_NO      VAR BYTE                                                                   ;
SUTUN_SAYISI VAR BYTE                                                                   ;
SUTUN_SAYAC  VAR BYTE                                                                 ;
OFSET        VAR BYTE                                                                   ;
LINE         VAR BYTE                                                                   ;
J            var byte                                                                   ;
I            var byte
s1           var byte
s2           var byte
s3           var byte


A VAR BYTE                                                   ;
       '"*****************************************************************************************************************************"
;DATA @0,"ETE PICMAN KAYAN YAZI PROGRAMI DENEME YAZISIDIR. TOPLAM KAREKTER ADEDI 127 ADET OLABILIR. MATRIKS SAYISI ARTIRILABILMEKTEDIR",5

DATA @0," AKAYAN YAZI DEVRESI ",5
;______________________________________________________________________________________;

;______________TIMER INTERRUPT IÇİN OPTION VE INTCON REGISTERLERI KURULUYOR____________
                                                                                       ;
'           OPTION_REG = $15 ;Option registeri kur                                                          ;
'           INTCON = $a0     ;TMR0 interrupt aktif                                                          ;
'           ON INTERRUPT GOTO TMR_INT                                                  ;
;______________________________________________________________________________________;

;_________________________PORT AYAR VE DEĞİŞKEN İLK DEĞER ATAMALARI____________________                     
  TRISA=0              ;porta çıkış olarak ayarlanıyor
  TRISB=0              ;portb çıkış olarak ayarlanıyor
  TRISC=0
  PORTC=0
  PORTB=0              ;portb yi sıfırla
  PORTA=0              ;porta yı sıfırla
  J=0                  ;j değişkenini sıfırla
  I=0                  ;ı değişkenini sıfırla
  SUTUN_SAYISI=0       ; sutun sayısı değişkenini sıfırla       
  SUTUN_SAYAC=0        ;sutun sayac değişkenini sıfırla

MAIN:                    ;program başlangıcı
    GOSUB SUTUN_TEMIZLE  ;sutun değişkenlerini temizleme alt programına git
BASLA:                   ;ana döngü etiketi             
    GOSUB TARA           ;sutun tarama alt programına git
    gosub VERI_GOSTER
GOTO BASLA              ;tarama işleminin sürekliliği için başla etiketine git

;_______________________SUTUN TEMİZLEME ALT NPROGRAMI___________________________
SUTUN_TEMIZLE:
  FOR I = 0 TO 7         ;8 sutun için döngü
    SUTUN[I]=0           ;her döngüde i degisken degerine göre bir sutun temizlenir
  NEXT I                 ; döngü başına git
  RETURN                 ;sutun temizleme alt programından çık
;_______________________________________________________________________________

;_________________________SUTUN TARAMA ALT PROGRAMI_____________________________
TARA:
  PORTC=1       
  FOR I = 0 TO 7       ;sutun taraması için döngü
     PORTB=SUTUN[I]
     PORTC=PORTC*2
     PAUSEUS 1000
   NEXT I                 ;döngü başına git
   PORTC=0
   PORTB=0                ;PORTB yi sıfırla
   I=0                    ;i degişkenini sıfırla
RETURN       

;_______________________________________________________________________________

;_______________________________TMR0 INTERRUPT ALT PROGRAMI_____________________
'DISABLE                 ;bütün kesmeleri geçersiz yap
' TMR_INT:
'  SAYICI=SAYICI+1       ;sayıcı değişkenini bir artır
'  IF SAYICI <= 11 THEN  INT_CIK  ;sayıcı 30 mu? değilse ınt_cık etiketine git
'  SAYICI=0              ; evet sayıcıyı sıfırla
'  GOSUB VERI_GOSTER     ;veri göster alt programına git
'  INT_CIK:              ; sayıcı 30 a eşit değilse program buraya yönlenir
'  INTCON.2=0            ;
'  RESUME                ;timer interrupt alt programından çık
'ENABLE
'return
;_______________________________________________________________________________
   
VERI_GOSTER:;___________________________________________________________________
  GOSUB KARAKTER_AL                           ;TABLODAN KARAKTER AL                                                                         ;
  GOSUB SENTEZ                                ;SENTEZ ALT PROGRAMINA GIT                      ;
  IF ( SUTUN_SAYAC = SUTUN_SAYISI ) THEN      ;sutun sayac , sutun sayısı na eşitmi
      GOSUB KAYDIR                            ; evet , kaydır alt programına git                           ;
      SUTUN[0]=0                              ;sutun0 ı sıfırla                                                  ;                                                                              ;
      SUTUN_SAYAC=0                           ;sutun sayac değişkenini sıfırla                                                 ;
      LINE=0                                                                                     ;
      J=J+1                                                                                      ;
   ENDIF
'  pause 200                                                                                      ;
RETURN;______________________________________________________________________________________;     
 
KARAKTER_AL:;_______________J DEGİSKEN DEGERİNE GÖRE KARAKTER ALINIYOR________________________
    READ J,KARAKTER                                                        ;
RETURN;______________________________________________________________________________________; 

SENTEZ:;_________________________________ALINAN KARAKTER BİLGİSİ KARŞILAŞTIRILIYOR____________
  IF KARAKTER=5 THEN SON_KARAKTER
 
  SELECT CASE KARAKTER
    CASE 65: SIRA_NO=4     ;A
    CASE 66: SIRA_NO=9     ;B
    CASE 67: SIRA_NO=14    ;C
    CASE 68: SIRA_NO=19    ;D
    CASE 69: SIRA_NO=24    ;E
    CASE 70: SIRA_NO=29    ;F
    CASE 71: SIRA_NO=34    ;G
    CASE 72: SIRA_NO=39    ;H
    CASE 73: SIRA_NO=42    ;I
    CASE 74: SIRA_NO=47    ;J
    CASE 75: SIRA_NO=52    ;K
    CASE 76: SIRA_NO=57    ;L
    CASE 77: SIRA_NO=62    ;M
    CASE 78: SIRA_NO=67    ;N
    CASE 79: SIRA_NO=72    ;O
    CASE 80: SIRA_NO=77    ;P
    CASE 81: SIRA_NO=82    ;Q
    CASE 82: SIRA_NO=87    ;R
    CASE 83: SIRA_NO=92    ;S 
    CASE 84: SIRA_NO=97    ;T 
    CASE 85: SIRA_NO=102   ;U 
    CASE 86: SIRA_NO=107   ;V
    CASE 87: SIRA_NO=112   ;W
    CASE 88: SIRA_NO=117   ;X
    CASE 89: SIRA_NO=122   ;Y
    CASE 90: SIRA_NO=127   ;Z
    CASE 32: SIRA_NO=132 ;BOSLUK   
    CASE 48: SIRA_NO=137 ;0 
    CASE 49: SIRA_NO=140 ;1
    CASE 50: SIRA_NO=145 ;2
    CASE 51: SIRA_NO=150 ;3
    CASE 52: SIRA_NO=155 ;4
    CASE 53: SIRA_NO=160 ;5
    CASE 54: SIRA_NO=165 ;6 
    CASE 55: SIRA_NO=170 ;7
    CASE 56: SIRA_NO=175 ;8 
    CASE 57: SIRA_NO=180 ;9
    CASE 46: SIRA_NO=185 ;.
    CASE 199:SIRA_NO=190 ;Ç
    case 208:sira_no=195 ;Ğ
    case 221:sira_no=198 ;İ
    case 214:sira_no=203 ;Ö
    case 220:sira_no=208 ;Ü
    case 222:sira_no=213 ;Ş

  end select   
  IF ((KARAKTER=49) OR (KARAKTER=73) OR (karakter=221)) THEN
    SUTUN_SAYISI=3
   ELSE
    SUTUN_SAYISI=5
  ENDIF
  SUTUN_SAYAC=SUTUN_SAYAC+1     
  GOSUB ORT_ISLM
RETURN

SON_KARAKTER:
     VERI=0 : SUTUN_SAYISI=0 :  LINE=0 : SUTUN_SAYAC=0 : KARAKTER=0 : SUTUN_SAYISI=0 : J=0
RETURN
     ;__________________________________SENTEZ ALT PROGRAM SONU_______________________ 
 
ORT_ISLM:
  OFSET= SIRA_NO-LINE
  GOSUB TABLO
  GOSUB KAYDIR
  LINE=LINE+1
RETURN

KAYDIR:
s1=8:s2=7   
         for s3= 0 to 7
          sutun[s1] = sutun[s2]
          s1=s1-1 : s2=s2-1
         next
         PAUSEUS 1000
     sutun [s1]=veri 
RETURN

TABLO:
   LOOKUP OFSET,[_
   $3F,$48,$48,$48,$3F,_      ;A   0-4
   $36,$49,$49,$49,$7F,_      ;B   4-9
   $22,$41,$41,$41,$3E,_      ;C   9-14
   $3E,$41,$41,$41,$7F,_      ;D   14-19
   $41,$49,$49,$49,$7F,_      ;E   19-24
   $40,$48,$48,$48,$7F,_      ;F   24-29
   $2E,$49,$49,$41,$3E,_      ;G   29-34
   $7F,$08,$08,$08,$7F,_      ;H   34-39
   $41,$7F,$41,_              ;I   39-42
   $40,$7E,$41,$01,$02,_      ;J   42-47
   $41,$22,$14,$08,$7F,_      ;K   47-52
   $01,$01,$01,$01,$7F,_      ;L   52-57
   $7F,$20,$10,$20,$7F,_      ;M   57-62
   $7F,$04,$08,$10,$7F,_      ;N   62-67
   $3E,$41,$41,$41,$3E,_      ;O   67-72
   $30,$48,$48,$48,$7F,_      ;P   72-77
   $3D,$42,$45,$41,$3E,_      ;Q   77-82
   $31,$4A,$4C,$48,$7F,_      ;R   82-87
   $26,$49,$49,$49,$32,_      ;S   87-92
   $40,$40,$7F,$40,$40,_      ;T   92-97
   $7E,$01,$01,$01,$7E,_      ;U   97-102
   $7C,$02,$01,$02,$7C,_      ;V   102-107
   $7E,$01,$0E,$01,$7E,_      ;W   107-112
   $63,$14,$08,$14,$63,_      ;X   112-117
   $70,$08,$07,$08,$70,_      ;Y   117-122
   $61,$51,$49,$45,$43,_      ;Z   122-127
   $00,$00,$00,$00,$00,_      ;bosluk   127-132
   $3E,$51,$49,$45,$3E,_      ;0   132-137
   $01,$7F,$21,_              ;1   137-140
   $31,$49,$45,$43,$21,_      ;2   140-145   
   $46,$69,$51,$41,$42,_      ;3   145-150
   $04,$7F,$24,$14,$0C,_      ;4   150-155
   $4E,$51,$51,$51,$72,_      ;5   155-160
   $06,$49,$49,$29,$1E,_      ;6   160-165
   $60,$50,$48,$47,$40,_      ;7   165-170
   $36,$49,$49,$49,$36,_      ;8   170-175
   $3C,$4A,$49,$49,$30,_      ;9   175-180
   $00,$00,$00,$00,$01,_      ;.   
   $24,$42,$43,$42,$3c,_      ;Ç   185-190
   $16,$65,$61,$61,$1e,_      ;Ğ   190-195
   $21,$7f,$21,_              ;İ   195-198
   $1e,$61,$21,$61,$1e,_      ;Ö   198-203
   $1e,$41,$01,$41,$1e,_      ;Ü   203-208
   $26,$49,$4b,$49,$32],VERI  ;Ş   208-213
RETURN
END         
   


Daha önce birkaç defa uyguladım devrenin orjinal halini. Tabi küçük çaplarda. Bu yazılımın orjinal hali 96 sütün. Benim ondan işim yok.
KAYDIR:
s1=8:s2=7   
         for s3= 0 to 7
          sutun[s1] = sutun[s2]
          s1=s1-1 : s2=s2-1
         next
         PAUSEUS 1000
     sutun [s1]=veri 
RETURN

Kaydırma bölümünde bu şekilde bir yazılım parçası kullanmışsınız. Eğer vaktiniz varsa Bana şu kısmı açıklarsanız çok sevinirim. Yazılımın Bloğunu çıkarırsak İşlemler hangi sırayla yapılıyor.

Not: Bu konu daha önce çok tartışılmıştı biliyorum fakat bir türlü bulamadım asıl konuyu. Belkide eski forumda kalmıştır.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Döngüde ne yapıldığını teker teker yazarsan ne olduğunu daha kolay anlarsın. Ama mademki sordun açıklayayım.
Başlangıçta S1=8 ve S2=7 olduğuna göre 0-7 aralığındaki döngüde yapılanlar şunlar;
Sutun(8)=Sutun(7)
Sutun(7)=Sutun(6)
Sutun(6)=Sutun(5)
Sutun(5)=Sutun(4)
Sutun(4)=Sutun(3)
Sutun(3)=Sutun(2)
Sutun(2)=Sutun(1)
Sutun(1)=Sutun(0)
Buraya kadar bütün sütün bilgileri sola doğru kaymış oldu. Eskiden 7 sütunda gösterilen bilgi şimdi 8. sutunda, 6. sütunda gösterilen 7. sütunda... şeklinde devam edip gidiyor.
Bu döngü sonunda değer alamayan tek bir sütun bilgisi varki oda Sütun(0) oluyor. Kendi bilgisini Sütun(1)'e veriyor ancak kendisi boşta kalıyor. Peki döngüden sonra ne yapılmış?, Sütun(S1)=Veri şeklinde bir komut verilmiş.
Döngü sonunda S1=0 olacağı için oraya direk Sütun(0) da yazılabilirdi. SOnuç olarak Sütun(0)'a da okunan yeni değer olarak Veri değeri verilmektedir. Böylece tüm bilgi kaydırıldıkça zincirin sonuna eklenmektedir.

Temel kaydırma faktöründe bir önceki bilgi bir sonrakine aktarılmaktadır. Değişkenler yer değiştirince otomatikman bilgi kaymış olmaktadır. Kaydırma yönü kimin kime verildiğine bağlı elbette. Yukarıdaki işlemi tersine yapsa idik yazı soldan sağa doğru kayardı.

Forumda Meyer isimli üyemizin devam ettirdiği  ve zaman zaman müdahale ettiğim bir kayan yazı projesi var. Onuda incelemeni tavsiye ederim. Bu projede hemen her yöne kaydırma yaptık.

Kaydırma işlemi sistemede büyük ölçüde bağlı bulunmaktadır. Sütun taramalı sistemlerde yazı kaydırmak sütunların bir birlerine aktarılması ile son derece kolay yapılır. Ama satır taramalı sistemde bilgi satırdan verileceği için kaydırmada başka yöntem kullanmak gerekecektir. Bunun için yeni projeye bakmanı öneriyorum. Orada bunu uyguladık.

Ete


Mucit23

#89
Neden kayan yazı devrelerinden nefret ettiğinizi anlıyorum şimdi. Kayan yazı devreleri gerçekten çok konsantre olmayı gerektiren devreler.  Hele birde program size ait olmadımı gerçekten adamın canını sıkıyor.
Şimdi devreyi kısmen çalıştırdım fakat veri yerleştirmede biraz sorunlar. Görüntüde düzgün gelmiyor zaten. Programı yavaşlatınca ne olup bittiğini anlıyorum az çok. Zaten hızlandırınca her şey birbirine giriyor.

Şemada birkaç değişiklik yaptım. Tarama şeklini değiştirdim. Şimdi kısmen çalıştı fakat en sağdaki sütün hiç kullanılmıyor ve yazı 8 satıra dayalı olarak kayıyor. Sorun nerde araştırıyorum. Bu akşam yazılımdaki düzenlemeleri bitirirsem hemen deneyeceğim.
Hocam eğer vaktiniz varsa sizde bir göz gezdirebilirmisiniz.
Dosyaları buraya yükledim.
http://hotfile.com/dl/143391727/27fecf9/8x8kayan_yaz.rar.html

Akılda soru işareti kalmasın. Şemayı ben kurduğum için bağlantıları açıklayayım.
Yeni Devre şeması aşağıdaki gibi

image hosting gif
Aslında şema düzenlenebilir. Çünkü ben birkaç farklı çalışma kombinasyonu denedim ve en uygun bu şekilde çalışıyor.
Şemada Sat1 yazan yer 1.satır soldan sağa doğru satır sayısı artıyor. Yani RB7 1. satıra,RB0 28 satıra bağlı.
Sütünlarda aynı şekilde RC0 1.sütüna, RC7 8. sütüna bağlı.

Bu isisteki dotmatrixlerede anlam veremiyorum Bağlantı şekilleri çok kafa karıştırıyor.

Hocam Yazılımı bende inceliyorum şimdi eğersizinde vaktiniz varsa yazılımı bi inceleyip gözünüze takılan hatalarımı söylerseniz sevinirim.

yazılımın son halide bu şekilde

DEFINE OSC 4
@ DEVICE pic16F876
@ DEVICE pic16F876, WDT_ON
@ DEVICE pic16F876, PWRT_ON
@ DEVICE pic16F876, PROTECT_OFF
@ DEVICE pic16F876, XT_OSC

ADCON1=7
;___________________________PROGRAMDA KULLANILAN DEĞİŞKEN TANIMLAMALARI________________
                                                                                       ;
SUTUN        VAR BYTE[7]                                                               ;
VERI         VAR BYTE
YRDPORT      VAR BYTE
GONDER       VAR BYTE                                                                  ;
KARAKTER     VAR BYTE                                                                   ;
SAYICI       VAR BYTE                                                                   ;
SIRA_NO      VAR BYTE                                                                   ;
SUTUN_SAYISI VAR BYTE                                                                   ;
SUTUN_SAYAC  VAR BYTE                                                                 ;
OFSET        VAR BYTE                                                                   ;
LINE         VAR BYTE                                                                   ;
J            var byte                                                                   ;
I            var byte
s1           var byte
s2           var byte
s3           var byte


A VAR BYTE                                                   ;
       '"*****************************************************************************************************************************"
;DATA @0,"ETE PICMAN KAYAN YAZI PROGRAMI DENEME YAZISIDIR. TOPLAM KAREKTER ADEDI 127 ADET OLABILIR. MATRIKS SAYISI ARTIRILABILMEKTEDIR",5

DATA @0,"KAYAN YAZI DEVRESI ",5
;______________________________________________________________________________________;

;______________TIMER INTERRUPT IÇİN OPTION VE INTCON REGISTERLERI KURULUYOR____________
                                                                                       ;
'           OPTION_REG = $15 ;Option registeri kur                                                          ;
'           INTCON = $a0     ;TMR0 interrupt aktif                                                          ;
'           ON INTERRUPT GOTO TMR_INT                                                  ;
;______________________________________________________________________________________;

;_________________________PORT AYAR VE DEĞİŞKEN İLK DEĞER ATAMALARI____________________                     
  TRISA=0              ;porta çıkış olarak ayarlanıyor
  TRISB=0              ;portb çıkış olarak ayarlanıyor
  TRISC=0
  PORTC=0
  PORTB=0              ;portb yi sıfırla
  PORTA=0              ;porta yı sıfırla
  J=0                  ;j değişkenini sıfırla
  I=0                  ;ı değişkenini sıfırla
  SUTUN_SAYISI=0       ; sutun sayısı değişkenini sıfırla       
  SUTUN_SAYAC=0        ;sutun sayac değişkenini sıfırla

MAIN:                    ;program başlangıcı
    GOSUB SUTUN_TEMIZLE  ;sutun değişkenlerini temizleme alt programına git
BASLA:                   ;ana döngü etiketi             
    GOSUB TARA           ;sutun tarama alt programına git
    gosub VERI_GOSTER
GOTO BASLA              ;tarama işleminin sürekliliği için başla etiketine git

;_______________________SUTUN TEMİZLEME ALT NPROGRAMI___________________________
SUTUN_TEMIZLE:
  FOR I = 0 TO 7         ;8 sutun için döngü
    SUTUN[I]=0           ;her döngüde i degisken degerine göre bir sutun temizlenir
  NEXT I                 ; döngü başına git
  RETURN                 ;sutun temizleme alt programından çık
;_______________________________________________________________________________

;_________________________SUTUN TARAMA ALT PROGRAMI_____________________________
TARA:
  PORTC=128       
  FOR I = 0 TO 7       ;sutun taraması için döngü
     PORTB=SUTUN[I]
     PORTC=PORTC/2
     PAUSE 5
   NEXT I                 ;döngü başına git
   PORTC=0
   PORTB=0                ;PORTB yi sıfırla
   I=0                    ;i degişkenini sıfırla
RETURN       

;_______________________________________________________________________________

;_______________________________TMR0 INTERRUPT ALT PROGRAMI_____________________
'DISABLE                 ;bütün kesmeleri geçersiz yap
' TMR_INT:
'  SAYICI=SAYICI+1       ;sayıcı değişkenini bir artır
'  IF SAYICI <= 11 THEN  INT_CIK  ;sayıcı 30 mu? değilse ınt_cık etiketine git
'  SAYICI=0              ; evet sayıcıyı sıfırla
'  GOSUB VERI_GOSTER     ;veri göster alt programına git
'  INT_CIK:              ; sayıcı 30 a eşit değilse program buraya yönlenir
'  INTCON.2=0            ;
'  RESUME                ;timer interrupt alt programından çık
'ENABLE
'return
;_______________________________________________________________________________
   
VERI_GOSTER:;___________________________________________________________________
  GOSUB KARAKTER_AL                           ;TABLODAN KARAKTER AL                                                                         ;
  GOSUB SENTEZ                                ;SENTEZ ALT PROGRAMINA GIT                      ;
  IF ( SUTUN_SAYAC = SUTUN_SAYISI ) THEN      ;sutun sayac , sutun sayısı na eşitmi
      GOSUB KAYDIR                            ; evet , kaydır alt programına git                           ;
      SUTUN[0]=0                              ;sutun0 ı sıfırla                                                  ;                                                                              ;
      SUTUN_SAYAC=0                           ;sutun sayac değişkenini sıfırla                                                 ;
      LINE=0                                                                                     ;
      J=J+1                                                                                      ;
   ENDIF
'  pause 200                                                                                      ;
RETURN;______________________________________________________________________________________;     
 
KARAKTER_AL:;_______________J DEGİSKEN DEGERİNE GÖRE KARAKTER ALINIYOR________________________
    READ J,KARAKTER                                                        ;
RETURN;______________________________________________________________________________________; 

SENTEZ:;_________________________________ALINAN KARAKTER BİLGİSİ KARŞILAŞTIRILIYOR____________
  IF KARAKTER=5 THEN SON_KARAKTER
 
  SELECT CASE KARAKTER
    CASE 65: SIRA_NO=4     ;A
    CASE 66: SIRA_NO=9     ;B
    CASE 67: SIRA_NO=14    ;C
    CASE 68: SIRA_NO=19    ;D
    CASE 69: SIRA_NO=24    ;E
    CASE 70: SIRA_NO=29    ;F
    CASE 71: SIRA_NO=34    ;G
    CASE 72: SIRA_NO=39    ;H
    CASE 73: SIRA_NO=42    ;I
    CASE 74: SIRA_NO=47    ;J
    CASE 75: SIRA_NO=52    ;K
    CASE 76: SIRA_NO=57    ;L
    CASE 77: SIRA_NO=62    ;M
    CASE 78: SIRA_NO=67    ;N
    CASE 79: SIRA_NO=72    ;O
    CASE 80: SIRA_NO=77    ;P
    CASE 81: SIRA_NO=82    ;Q
    CASE 82: SIRA_NO=87    ;R
    CASE 83: SIRA_NO=92    ;S 
    CASE 84: SIRA_NO=97    ;T 
    CASE 85: SIRA_NO=102   ;U 
    CASE 86: SIRA_NO=107   ;V
    CASE 87: SIRA_NO=112   ;W
    CASE 88: SIRA_NO=117   ;X
    CASE 89: SIRA_NO=122   ;Y
    CASE 90: SIRA_NO=127   ;Z
    CASE 32: SIRA_NO=132 ;BOSLUK   
    CASE 48: SIRA_NO=137 ;0 
    CASE 49: SIRA_NO=140 ;1
    CASE 50: SIRA_NO=145 ;2
    CASE 51: SIRA_NO=150 ;3
    CASE 52: SIRA_NO=155 ;4
    CASE 53: SIRA_NO=160 ;5
    CASE 54: SIRA_NO=165 ;6 
    CASE 55: SIRA_NO=170 ;7
    CASE 56: SIRA_NO=175 ;8 
    CASE 57: SIRA_NO=180 ;9
    CASE 46: SIRA_NO=185 ;.
    CASE 199:SIRA_NO=190 ;Ç
    case 208:sira_no=195 ;Ğ
    case 221:sira_no=198 ;İ
    case 214:sira_no=203 ;Ö
    case 220:sira_no=208 ;Ü
    case 222:sira_no=213 ;Ş

  end select   
  IF ((KARAKTER=49) OR (KARAKTER=73) OR (karakter=221)) THEN
    SUTUN_SAYISI=3
   ELSE
    SUTUN_SAYISI=5
  ENDIF
  SUTUN_SAYAC=SUTUN_SAYAC+1     
  GOSUB ORT_ISLM
RETURN

SON_KARAKTER:
     VERI=0 : SUTUN_SAYISI=0 :  LINE=0 : SUTUN_SAYAC=0 : KARAKTER=0 : SUTUN_SAYISI=0 : J=0
RETURN
     ;__________________________________SENTEZ ALT PROGRAM SONU_______________________ 
 
ORT_ISLM:
  OFSET= SIRA_NO-LINE
  GOSUB TABLO
  GOSUB KAYDIR
  LINE=LINE+1
RETURN

KAYDIR:
s1=7:s2=6 
         for s3= 0 to 6       ;7 DEFA DÖNGÜ KURULDU.
          sutun[s1] = sutun[s2]
          s1=s1-1 : s2=s2-1
         next
         PAUSEUS 1000
     sutun [s1]=veri 
RETURN

;SUTUN7=SUTUN6
;SUTUN6=SUTUN5
;SUTUN5=SUTUN4
;SUTUN4=SUTUN3
;SUTUN3=SUTUN2
;SUTUN2=SUTUN1
;SUTUN1=SUTUN0
;SUTUN0=veri
TABLO:
   LOOKUP OFSET,[_
   $3F,$48,$48,$48,$3F,_      ;A   0-4
   $36,$49,$49,$49,$7F,_      ;B   4-9
   $22,$41,$41,$41,$3E,_      ;C   9-14
   $3E,$41,$41,$41,$7F,_      ;D   14-19
   $41,$49,$49,$49,$7F,_      ;E   19-24
   $40,$48,$48,$48,$7F,_      ;F   24-29
   $2E,$49,$49,$41,$3E,_      ;G   29-34
   $7F,$08,$08,$08,$7F,_      ;H   34-39
   $41,$7F,$41,_              ;I   39-42
   $40,$7E,$41,$01,$02,_      ;J   42-47
   $41,$22,$14,$08,$7F,_      ;K   47-52
   $01,$01,$01,$01,$7F,_      ;L   52-57
   $7F,$20,$10,$20,$7F,_      ;M   57-62
   $7F,$04,$08,$10,$7F,_      ;N   62-67
   $3E,$41,$41,$41,$3E,_      ;O   67-72
   $30,$48,$48,$48,$7F,_      ;P   72-77
   $3D,$42,$45,$41,$3E,_      ;Q   77-82
   $31,$4A,$4C,$48,$7F,_      ;R   82-87
   $26,$49,$49,$49,$32,_      ;S   87-92
   $40,$40,$7F,$40,$40,_      ;T   92-97
   $7E,$01,$01,$01,$7E,_      ;U   97-102
   $7C,$02,$01,$02,$7C,_      ;V   102-107
   $7E,$01,$0E,$01,$7E,_      ;W   107-112
   $63,$14,$08,$14,$63,_      ;X   112-117
   $70,$08,$07,$08,$70,_      ;Y   117-122
   $61,$51,$49,$45,$43,_      ;Z   122-127
   $00,$00,$00,$00,$00,_      ;bosluk   127-132
   $3E,$51,$49,$45,$3E,_      ;0   132-137
   $01,$7F,$21,_              ;1   137-140
   $31,$49,$45,$43,$21,_      ;2   140-145   
   $46,$69,$51,$41,$42,_      ;3   145-150
   $04,$7F,$24,$14,$0C,_      ;4   150-155
   $4E,$51,$51,$51,$72,_      ;5   155-160
   $06,$49,$49,$29,$1E,_      ;6   160-165
   $60,$50,$48,$47,$40,_      ;7   165-170
   $36,$49,$49,$49,$36,_      ;8   170-175
   $3C,$4A,$49,$49,$30,_      ;9   175-180
   $00,$00,$00,$00,$01,_      ;.   
   $24,$42,$43,$42,$3c,_      ;Ç   185-190
   $16,$65,$61,$61,$1e,_      ;Ğ   190-195
   $21,$7f,$21,_              ;İ   195-198
   $1e,$61,$21,$61,$1e,_      ;Ö   198-203
   $1e,$41,$01,$41,$1e,_      ;Ü   203-208
   $26,$49,$4b,$49,$32],VERI  ;Ş   208-213
RETURN
   
END   
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Powered by EzPortal