avatar_ete

Kayan Yazı Öğreniyoruz

Başlatan ete, 23 Ocak 2012, 10:00:26

Mucit23

Hocam kafayı yiyecem resmen. Artık yazılım da sorun yok diyebilirim. Yazılımı epeyce sadeleştirdim. Önceden Harf dataları biraz farklıydı. 8. bite dayalı olarak geliyordu. Ekstra bazı işlemler yapmak zorunda kalıyordum. Onları sildim. Komple Dataları yeniden girdim. Artık tüm dataları 5 sütün harf datası 1 sütün boşlukolacak şekilde yaptım. Önceden bazı karakterler,(İ, 1, . Gibi) 3 sütün olarak ayarlanıyordu. Bunu gerek görmedim. İşleri birazdaha karmaşıklaştırıyordu.Artık tüm harfler eşit aralıkta çıkacak.  Herşey iyi ama nedense yazılar yarım yamalak çıkıyor. Sorun nerde olabilir. Gerçekten bu sefer biraz yardıma ihtiyacım var. Aynı problemi 74154 ile taradığımdada görüyorum. Yani taramayla ilgisi olmasa gerek.
Gerçi şimdi harf dataları değişti karakterler daha saçma sapan olmaya başladı. Önceden harflerin yarısı çıkıyordu. Bazı karakterler tam çıkıyordu. Şimdi hepsi yarım yamalak çıkıyor.
DEFINE OSC 4
@ DEVICE pic16F876
@ DEVICE pic16F876, WDT_ON
@ DEVICE pic16F876, PWRT_ON
@ DEVICE pic16F876, PROTECT_OFF
@ DEVICE pic16F876, XT_OSC

;_______________________________SETUP___________________________________________
  TRISA=0              ;Tüm portlar çıkış
  TRISB=0       
  TRISC=0
  PORTC=0
  PORTB=0         
  PORTA=0
ADCON1 = 7
;DEFINE SHIFT_PAUSEUS 1000
ON INTERRUPT GoTo KESME   
OPTION_REG=%00000011  ;Bölme oranı 1/16
INTCON=%00100000 
symbol GIEH = INTCON.7
TMR0=131              ;2ms kesme için tmr0 ön değeri
SYMBOL DTA=PORTC.0
SYMBOL CLK=PORTC.1
SYMBOL KLT=PORTC.2
;____________________PROGRAMDA KULLANILAN DEĞİŞKEN TANIMLAMALARI________________
   Z            VAR WORD
   SDATA        VAR WORD                                                                                       
   SUTUN        VAR BYTE[15]                                                             
   VERI         VAR BYTE
   SYC          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
   X            VAR BYTE                                                           
   J            var byte                                                           
   I            var byte
   s1           var byte
   s2           var byte
   s3           var byte                                       
DATA @0,"8X8 KAYAN YAZI DEVRESIDIR. 8",5

;_________________________PORT AYAR VE DEĞİŞKEN İLK DEĞER ATAMALARI____________________                                   ;porta yı sıfırla
  J=0           
  I=0         
  SUTUN_SAYISI=0             
  SUTUN_SAYAC=0               
MAIN:                 
    GOSUB SUTUN_TEMIZLE
GIEH=1  ;Tüm kesmeler açıldı 

BASLA:                           
      GOSUB KARAKTER_AL                                                                           ;
      GOSUB SENTEZ
        IF ( SUTUN_SAYAC = 5 ) THEN     
          SUTUN_SAYAC=0                                                   
          LINE=0                                                                                     
          J=J+1                                                                                     
        ENDIF
      GOSUB ORT_ISLM
      GOSUB DELAY   
GOTO BASLA             

;_______________________SUTUN TEMİZLEME ALT NPROGRAMI___________________________
SUTUN_TEMIZLE:
  FOR I = 0 TO 15         ;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
 
DELAY:
FOR Z=0 TO 1500:PAUSEUS 1:NEXT ;bu gecikme yazı hızını belirler.
RETURN

DISABLE
KESME:
  SYC=SYC+1
  IF SYC=>16 THEN SYC=0
SELECT CASE SYC
CASE 0
  SHIFTOUT DTA,CLK,1,[%10000000,%00000000]
  PORTB=SUTUN[0]
  PULSOUT KLT,1
CASE 1
  SHIFTOUT DTA,CLK,1,[%01000000,%00000000]
  PORTB=SUTUN[1]
  PULSOUT KLT,1
CASE 2
  SHIFTOUT DTA,CLK,1,[%00100000,%00000000]
  PORTB=SUTUN[2]
  PULSOUT KLT,1
CASE 3
  SHIFTOUT DTA,CLK,1,[%00010000,%00000000]
  PORTB=SUTUN[3]
  PULSOUT KLT,1
CASE 4
  SHIFTOUT DTA,CLK,1,[%00001000,%00000000]
  PORTB=SUTUN[4]
  PULSOUT KLT,1
CASE 5
  SHIFTOUT DTA,CLK,1,[%00000100,%00000000]
  PORTB=SUTUN[5]
  PULSOUT KLT,1
CASE 6
  SHIFTOUT DTA,CLK,1,[%00000010,%00000000]
  PORTB=SUTUN[6]
  PULSOUT KLT,1
CASE 7
  SHIFTOUT DTA,CLK,1,[%00000001,%00000000]
  PORTB=SUTUN[7]
  PULSOUT KLT,1
CASE 8
  SHIFTOUT DTA,CLK,1,[%00000000,%10000000]
  PORTB=SUTUN[8]
  PULSOUT KLT,1
CASE 9
  SHIFTOUT DTA,CLK,1,[%00000000,%01000000]
  PORTB=SUTUN[9]
  PULSOUT KLT,1
CASE 10
  SHIFTOUT DTA,CLK,1,[%00000000,%00100000]
  PORTB=SUTUN[10]
  PULSOUT KLT,1
CASE 11
  SHIFTOUT DTA,CLK,1,[%00000000,%00010000]
  PORTB=SUTUN[11]
  PULSOUT KLT,1
CASE 12
  SHIFTOUT DTA,CLK,1,[%00000000,%00001000]
  PORTB=SUTUN[12]
  PULSOUT KLT,1
CASE 13
  SHIFTOUT DTA,CLK,1,[%00000000,%00000100]
  PORTB=SUTUN[13]
  PULSOUT KLT,1
CASE 14
  SHIFTOUT DTA,CLK,1,[%00000000,%00000010]
  PORTB=SUTUN[14]
  PULSOUT KLT,1
CASE 15
  SHIFTOUT DTA,CLK,1,[%00000000,%00000001]
  PORTB=SUTUN[15]
  PULSOUT KLT,1
END SELECT
INTCON.2=0        ;İnterrupt flağı temizlendi
TMR0=131          ;TMR0 ön değeri yüklendi
RESUME
ENABLE

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=5     ;A
    CASE 66: SIRA_NO=11     ;B
    CASE 67: SIRA_NO=17    ;C
    CASE 68: SIRA_NO=23    ;D
    CASE 69: SIRA_NO=29    ;E
    CASE 70: SIRA_NO=35    ;F
    CASE 71: SIRA_NO=41    ;G
    CASE 72: SIRA_NO=47    ;H
    CASE 73: SIRA_NO=53    ;I
    CASE 74: SIRA_NO=59    ;J
    CASE 75: SIRA_NO=65    ;K
    CASE 76: SIRA_NO=71    ;L
    CASE 77: SIRA_NO=77    ;M
    CASE 78: SIRA_NO=83    ;N
    CASE 79: SIRA_NO=89    ;O
    CASE 80: SIRA_NO=95    ;P
    CASE 81: SIRA_NO=101    ;Q
    CASE 82: SIRA_NO=107    ;R
    CASE 83: SIRA_NO=113    ;S 
    CASE 84: SIRA_NO=119    ;T 
    CASE 85: SIRA_NO=125   ;U 
    CASE 86: SIRA_NO=131   ;V
    CASE 87: SIRA_NO=137   ;W
    CASE 88: SIRA_NO=143   ;X
    CASE 89: SIRA_NO=149   ;Y
    CASE 90: SIRA_NO=155   ;Z
    CASE 32: SIRA_NO=161 ;BOSLUK   
    CASE 48: SIRA_NO=167 ;0 
    CASE 49: SIRA_NO=173 ;1
    CASE 50: SIRA_NO=179 ;2
    CASE 51: SIRA_NO=185 ;3
    CASE 52: SIRA_NO=191 ;4
    CASE 53: SIRA_NO=197 ;5
    CASE 54: SIRA_NO=203 ;6 
    CASE 55: SIRA_NO=209 ;7
    CASE 56: SIRA_NO=215 ;8 
    CASE 57: SIRA_NO=221 ;9
    CASE 46: SIRA_NO=227 ;.
    CASE 199:SIRA_NO=233 ;Ç
    case 221:sira_no=239 ;İ
    case 214:sira_no=245 ;Ö
    case 220:sira_no=251 ;Ü
  end select   
  SUTUN_SAYAC=SUTUN_SAYAC+1     
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:
         sutun[15]=SUTUN[14]
         sutun[14]=SUTUN[13]
         SUTUN[13]=SUTUN[12]
         sutun[12]=SUTUN[11]
         SUTUN[11]=SUTUN[10]
         sutun[10]=SUTUN[9]
         SUTUN[9]=SUTUN[8]
         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]
         sutun[0]=veri
         PAUSEUS 1000 
RETURN

TABLO:
   LOOKUP OFSET,[_
   $7E,$11,$11,$11,$7E,$00,_      ;A   0-5
   $7F,$49,$49,$49,$36,$00,_      ;B   5-11
   $3E,$41,$41,$41,$22,$00,_      ;C   11-17
   $7F,$41,$41,$22,$1C,$00,_      ;D   17-23
   $7F,$49,$49,$49,$41,$00,_      ;E   23-29
   $7F,$09,$09,$09,$01,$00,_      ;F   29-35
   $3E,$41,$49,$49,$7A,$00,_      ;G   35-41
   $7F,$08,$08,$08,$7F,$00,_      ;H   41-47
   $00,$41,$7F,$41,$00,$00,_      ;I   47-53
   $20,$40,$41,$3F,$01,$00,_      ;J   53-59
   $7F,$08,$14,$22,$41,$00,_      ;K   59-65
   $7F,$40,$40,$40,$40,$00,_      ;L   65-71
   $7F,$40,$40,$40,$40,$00,_      ;M   71-77
   $7F,$04,$08,$10,$7F,$00,_      ;N   77-83
   $3E,$41,$41,$41,$3E,$00,_      ;O   83-89
   $7F,$09,$09,$09,$06,$00,_      ;P   89-95
   $3E,$41,$51,$21,$5E,$00,_      ;Q   95-101
   $7F,$09,$19,$29,$46,$00,_      ;R   101-107
   $46,$49,$49,$49,$31,$00,_      ;S   107-113
   $01,$01,$7F,$01,$01,$00,_      ;T   113-119
   $3F,$40,$40,$40,$3F,$00,_      ;U   119-125
   $1F,$20,$40,$20,$1F,$00,_      ;V   125-131
   $3F,$40,$38,$40,$3F,$00,_      ;W   131-137
   $63,$14,$08,$14,$63,$00,_      ;X   137-143
   $07,$08,$70,$08,$07,$00,_      ;Y   143-149
   $61,$51,$49,$45,$43,$00,_      ;Z   149-155
   $00,$00,$00,$00,$00,$00,_      ;bosluk   155-161
   $3E,$51,$49,$45,$3E,$00,_      ;0   161-167
   $00,$42,$7F,$40,$00,$00,_      ;1   167-173
   $42,$61,$51,$49,$46,$00,_      ;2   173-179   
   $21,$41,$45,$4B,$31,$00,_      ;3   179-185
   $18,$14,$12,$7F,$10,$00,_      ;4   185-191
   $27,$45,$45,$45,$39,$00,_      ;5   191-197
   $3C,$4A,$49,$49,$30,$00,_      ;6   197-203
   $01,$71,$09,$05,$03,$00,_      ;7   203-209
   $36,$49,$49,$49,$36,$00,_      ;8   209-215
   $06,$49,$49,$49,$3E,$00,_      ;9   215-221
   $40,$00,$00,$00,$00,$00,_      ;.   221-227
   $1E,$21,$61,$21,$12,$00,_      ;Ç   227-233
   $00,$42,$7F,$42,$00,$00,_      ;İ   233-239
   $38,$45,$44,$45,$38,$00,_      ;Ö   239-245
   $3C,$41,$40,$41,$3C,$00],VERI  ;Ü   245-251 
RETURN
END

Yeni program ve harf dataları yukarıdaki gibi.

Birde hocam PicBasicde Kodları adım adım çalıştırmak için neler yapılması gerekiyor. Daha önce bunu anlatmıştınız ama Forumda sabit kalmayınca kaybolup gidiyor işte. Bulamadım. Onuda anlatırsanız sevinirim. Hatta yine bir başlık açıp foruma sabitleyebilirsiniz
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ELZEMEFE

#16
sıfırdan başla derim ben  :D  (benim gibi)

ete

Mucit23,
Sistemde hala hata var gibime geliyor. Bilgi sütunlardan 8 bit olarak satır şeklinde verilmeli. Bunun için en iyisi bu bilgiyi vermek için 74HC595 kullanmalısın. Yan yana dizilmiş 595 lerin bütün bitleri sütunları oluşturmalı.
Bir anda 595 ler üzerinden ilk satırı luşturan bilgi matriks ledlere verilmeli ardından o satır aktif edilmelidir.
Yeterli süre (1ms) ekranda bekledikten sonra  satır kapatılmalı ve bu sefere 2 . satır bilgisi sütunlardan verilmelidir.
Sonra 2 satır aktif edilmeli ve yeterince bekleyip satır kapatılmalıdır. Sonra 3. satır ve devamla 8 satır bu şekilde ekranda gösterilmelidiri. Gösterilme sayısı aynı zamanda kayma hızını ayarlamalıdır. 10 defa gösterip sonra kaydırırsam ekran hızlı kayacaktır. Ama 20 defa gösterip sonra kaydırırsam ekran biraz daha yavaş kayacaktır.
En iyi sistem budur. Tabiiki benim bildiğim ve gördüğüm. BU şekilde kurulmuş bir sistemde istediğin yöne kaydırma yapabilirsin. Satır bilgilerini yukarı doğru kaydırırsan yazı yuları doğru kayar. Aşağı kaydırırsan aşağı doğru kayar.
Bitleri sola kaydırırsan yazı sola doğru kayar. Sağa kaydırırsan sağa doğru kaya. Bir kere işin ilmini alırsanız gerisi artık çorap söküğü gibi gelecektir.

Ete

Mucit23

ozaman hocam displayler anot olmalı. (Gerçi anot katot farketmiyor ama board üzerine döşediğim için motajda sıkıntı oluyor) 74595lerle ilk satırın bilgisi verildikten sonra ilk satır negatif yapılacak. Sonra aynı işlem ikinci, üçüncü satırlar içinde tekrarlanacak. Hoçam şuanda aklımda iki adet problem var.
1. Si neden ilk yaptığım sitem düzgün çalıştıramadım.
Diğer bir problem ise benim harf datalarım önceden dikey şekilde alındığı için şimdi hepsinin en üst bitlerini almak zorunda kalıcam. Ozaman işleri kolaylaştırmak için dataları yenidenmi girmem gerekir.
Yada yeniden girmeye gerek yok.
Önceden ne yapıyorduk. En sağdan harfin en sol sütününu okuyup gösteriyorduk. Sonra gösterdiğimiz sutun bilgisini bir adet soldaki sütüna verip biz yeni bir bilgi alıyorduk.
Şimdi benim aklıma gelen sistem şudur.

8 satır 16 Adet sütünümuz olduğu için 8 Adet Word uzunluğunda satır değişkenimiz olsun. Bu değişkenler Her satırın bilgisini tutacak.
Her bir harf datasının 8 bitini sırasıyla satır değişkenlerinin 0. bitine yerleştirilecek. Sonra Her seferinde satır bilgisi <<1 komutuyla 1 adet sola kaydırılacak. Bu şekilde bir döngü kurmam gerekiyor. Yani ben böyle düşündüm. Ancak bu şekilde harf datalarıyla oynamaya gerek kalmaz. Hocam siz nasıl düşünüyorsunuz. Yapsaydınız eğer veri seçip yerleştirme düzenleme işini nasıl yapardınız.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Kaydırma işini en sona bırak. Ayrıca kaydırmayı kesinlikle bit kaydırarak yapma. (a>>1 şeklinde) bunun yerine;
Temp=Satır(0) (word)
ELimizdeki bitler;
Temp.byte0,0
Temp.byte0,1
temp.byte0,2
...
temp.byte1,15 şeklindedir.
Ara=temp.byte0.0  'komutları olması gerektiği gibi yamzıyorum anlaşılması için bu şekilde yazıyorum)
Temp.byte0,0=temp.byte0.1   (bir nolu biti sıfır nolu bite eşitledik.)
temp.byte0,1=temp.byte0,2   (iki nolu biti bir nolu bite eşitledik)
...
temp.byte.1,14=temp.byte1,15
temp.byte1.,15=ara
her seferinde bu işi yaparsan bütün bitler bir daire çizer gibi yer değiştirirler. Bu sayede bitleri ekrana koyduğun zaman data kaymış olur.
Şayet aynı işi ">>" komut ile yaparsan ard arda aynı datayı ekrana koyamazsın. Çünki ekrana koyabildiğin bilgi satır bilgisidir. "<<" komutu ile yalnızca bir kere bu bilgiyi ekrana taşırsın.

Aynı işi tersine yaparsan bu seferde bilgi ters yöne kaymış olmazmı sence.

Ete


Mucit23

Hocam siz yazarken Bende uğraşıyordum.
Ben şu şekilde yaptım. Bişeyler kaydırmayı başardım Ama harfler yine saçma sapan çıkıyor.
Düzenlediğim program budur
DEFINE OSC 4
@ DEVICE pic16F876
@ DEVICE pic16F876, WDT_ON
@ DEVICE pic16F876, PWRT_ON
@ DEVICE pic16F876, PROTECT_OFF
@ DEVICE pic16F876, XT_OSC

;_______________________________SETUP___________________________________________
  TRISA=0              ;Tüm portlar çıkış
  TRISB=0       
  TRISC=0
  PORTC=0
  PORTB=0         
  PORTA=0
ADCON1 = 7
;DEFINE SHIFT_PAUSEUS 1000
ON INTERRUPT GoTo KESME   
OPTION_REG=%00000011  ;Bölme oranı 1/16
INTCON=%00100000 
symbol GIEH = INTCON.7
TMR0=131              ;2ms kesme için tmr0 ön değeri
SYMBOL DTA=PORTC.0
SYMBOL CLK=PORTC.1
SYMBOL KLT=PORTC.2
;____________________PROGRAMDA KULLANILAN DEĞİŞKEN TANIMLAMALARI________________
   Z            VAR WORD
   SDATA1       VAR WORD
   SDATA2       VAR WORD
   SDATA3       VAR WORD
   SDATA4       VAR WORD
   SDATA5       VAR WORD
   SDATA6       VAR WORD
   SDATA7       VAR WORD
   SDATA8       VAR WORD                                                                                       
   SUTUN        VAR BYTE[15]                                                             
   VERI         VAR BYTE
   SYC          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
   X            VAR BYTE                                                           
   J            var byte                                                           
   I            var byte
   s1           var byte
   s2           var byte
   s3           var byte                                       
DATA @0,"8X8 KAYAN YAZI DEVRESIDIR. 8",5

;_________________________PORT AYAR VE DEĞİŞKEN İLK DEĞER ATAMALARI____________________                                   ;porta yı sıfırla
  J=0           
  I=0         
  SUTUN_SAYISI=0             
  SUTUN_SAYAC=0               
MAIN:                 
    GOSUB SUTUN_TEMIZLE
GIEH=1  ;Tüm kesmeler açıldı 

BASLA:                           
      GOSUB KARAKTER_AL                                                                           ;
      GOSUB SENTEZ
        IF ( SUTUN_SAYAC = 5 ) THEN     
          SUTUN_SAYAC=0                                                   
          LINE=0                                                                                     
          J=J+1                                                                                     
        ENDIF
      GOSUB ORT_ISLM
      GOSUB DELAY   
GOTO BASLA             

;_______________________SUTUN TEMİZLEME ALT NPROGRAMI___________________________
SUTUN_TEMIZLE:
  FOR I = 0 TO 15         ;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
 
DELAY:
FOR Z=0 TO 1500:PAUSEUS 1:NEXT ;bu gecikme yazı hızını belirler.
RETURN

DISABLE
KESME:
syc=syc+1
IF SYC=>8 THEN SYC=0
  SELECT CASE SYC
CASE 0
  SHIFTOUT DTA,CLK,0,[SDATA1.LOWBYTE,SDATA1.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-1
CASE 1
  SHIFTOUT DTA,CLK,0,[SDATA2.LOWBYTE,SDATA2.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-2
CASE 2
  SHIFTOUT DTA,CLK,0,[SDATA3.LOWBYTE,SDATA3.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-4
CASE 3
  SHIFTOUT DTA,CLK,0,[SDATA4.LOWBYTE,SDATA4.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-8
CASE 4
  SHIFTOUT DTA,CLK,0,[SDATA5.LOWBYTE,SDATA5.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-16
CASE 5
  SHIFTOUT DTA,CLK,0,[SDATA6.LOWBYTE,SDATA6.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-32
CASE 6
  SHIFTOUT DTA,CLK,0,[SDATA7.LOWBYTE,SDATA7.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-64
CASE 8
  SHIFTOUT DTA,CLK,0,[SDATA8.LOWBYTE,SDATA8.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-128
END SELECT
INTCON.2=0        ;İnterrupt flağı temizlendi
TMR0=131          ;TMR0 ön değeri yüklendi
RESUME
ENABLE

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=5     ;A
    CASE 66: SIRA_NO=11     ;B
    CASE 67: SIRA_NO=17    ;C
    CASE 68: SIRA_NO=23    ;D
    CASE 69: SIRA_NO=29    ;E
    CASE 70: SIRA_NO=35    ;F
    CASE 71: SIRA_NO=41    ;G
    CASE 72: SIRA_NO=47    ;H
    CASE 73: SIRA_NO=53    ;I
    CASE 74: SIRA_NO=59    ;J
    CASE 75: SIRA_NO=65    ;K
    CASE 76: SIRA_NO=71    ;L
    CASE 77: SIRA_NO=77    ;M
    CASE 78: SIRA_NO=83    ;N
    CASE 79: SIRA_NO=89    ;O
    CASE 80: SIRA_NO=95    ;P
    CASE 81: SIRA_NO=101    ;Q
    CASE 82: SIRA_NO=107    ;R
    CASE 83: SIRA_NO=113    ;S 
    CASE 84: SIRA_NO=119    ;T 
    CASE 85: SIRA_NO=125   ;U 
    CASE 86: SIRA_NO=131   ;V
    CASE 87: SIRA_NO=137   ;W
    CASE 88: SIRA_NO=143   ;X
    CASE 89: SIRA_NO=149   ;Y
    CASE 90: SIRA_NO=155   ;Z
    CASE 32: SIRA_NO=161 ;BOSLUK   
    CASE 48: SIRA_NO=167 ;0 
    CASE 49: SIRA_NO=173 ;1
    CASE 50: SIRA_NO=179 ;2
    CASE 51: SIRA_NO=185 ;3
    CASE 52: SIRA_NO=191 ;4
    CASE 53: SIRA_NO=197 ;5
    CASE 54: SIRA_NO=203 ;6 
    CASE 55: SIRA_NO=209 ;7
    CASE 56: SIRA_NO=215 ;8 
    CASE 57: SIRA_NO=221 ;9
    CASE 46: SIRA_NO=227 ;.
    CASE 199:SIRA_NO=233 ;Ç
    case 221:sira_no=239 ;İ
    case 214:sira_no=245 ;Ö
    case 220:sira_no=251 ;Ü
  end select   
  SUTUN_SAYAC=SUTUN_SAYAC+1     
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
  GOSUB DOSE
  LINE=LINE+1
RETURN

DOSE:
  SDATA1.0=VERI.0       ;Alınan sütün bilgisi satırlara yerleştiriliyor.
  SDATA2.0=VERI.1
  SDATA3.0=VERI.2
  SDATA4.0=VERI.3
  SDATA5.0=VERI.4
  SDATA6.0=VERI.5
  SDATA7.0=VERI.6
  SDATA8.0=VERI.7
RETURN

KAYDIR:
  SDATA1=SDATA1<<1        ;Tüm satır verileri 1 bit sola kaydırılıyor.
  SDATA2=SDATA2<<1
  SDATA3=SDATA3<<1
  SDATA4=SDATA4<<1
  SDATA5=SDATA5<<1
  SDATA6=SDATA6<<1
  SDATA7=SDATA7<<1
  SDATA8=SDATA8<<1
RETURN

TABLO:
   LOOKUP OFSET,[_
   $7E,$11,$11,$11,$7E,$00,_      ;A   0-5
   $7F,$49,$49,$49,$36,$00,_      ;B   5-11
   $3E,$41,$41,$41,$22,$00,_      ;C   11-17
   $7F,$41,$41,$22,$1C,$00,_      ;D   17-23
   $7F,$49,$49,$49,$41,$00,_      ;E   23-29
   $7F,$09,$09,$09,$01,$00,_      ;F   29-35
   $3E,$41,$49,$49,$7A,$00,_      ;G   35-41
   $7F,$08,$08,$08,$7F,$00,_      ;H   41-47
   $00,$41,$7F,$41,$00,$00,_      ;I   47-53
   $20,$40,$41,$3F,$01,$00,_      ;J   53-59
   $7F,$08,$14,$22,$41,$00,_      ;K   59-65
   $7F,$40,$40,$40,$40,$00,_      ;L   65-71
   $7F,$40,$40,$40,$40,$00,_      ;M   71-77
   $7F,$04,$08,$10,$7F,$00,_      ;N   77-83
   $3E,$41,$41,$41,$3E,$00,_      ;O   83-89
   $7F,$09,$09,$09,$06,$00,_      ;P   89-95
   $3E,$41,$51,$21,$5E,$00,_      ;Q   95-101
   $7F,$09,$19,$29,$46,$00,_      ;R   101-107
   $46,$49,$49,$49,$31,$00,_      ;S   107-113
   $01,$01,$7F,$01,$01,$00,_      ;T   113-119
   $3F,$40,$40,$40,$3F,$00,_      ;U   119-125
   $1F,$20,$40,$20,$1F,$00,_      ;V   125-131
   $3F,$40,$38,$40,$3F,$00,_      ;W   131-137
   $63,$14,$08,$14,$63,$00,_      ;X   137-143
   $07,$08,$70,$08,$07,$00,_      ;Y   143-149
   $61,$51,$49,$45,$43,$00,_      ;Z   149-155
   $00,$00,$00,$00,$00,$00,_      ;bosluk   155-161
   $3E,$51,$49,$45,$3E,$00,_      ;0   161-167
   $00,$42,$7F,$40,$00,$00,_      ;1   167-173
   $42,$61,$51,$49,$46,$00,_      ;2   173-179   
   $21,$41,$45,$4B,$31,$00,_      ;3   179-185
   $18,$14,$12,$7F,$10,$00,_      ;4   185-191
   $27,$45,$45,$45,$39,$00,_      ;5   191-197
   $3C,$4A,$49,$49,$30,$00,_      ;6   197-203
   $01,$71,$09,$05,$03,$00,_      ;7   203-209
   $36,$49,$49,$49,$36,$00,_      ;8   209-215
   $06,$49,$49,$49,$3E,$00,_      ;9   215-221
   $40,$00,$00,$00,$00,$00,_      ;.   221-227
   $1E,$21,$61,$21,$12,$00,_      ;Ç   227-233
   $00,$42,$7F,$42,$00,$00,_      ;İ   233-239
   $38,$45,$44,$45,$38,$00,_      ;Ö   239-245
   $3C,$41,$40,$41,$3C,$00],VERI  ;Ü   245-251 
RETURN
END   


Burada Burada döşe adında bir alt program ekledim.
DOSE:
  SDATA1.0=VERI.0       ;Alınan sütün bilgisi satırlara yerleştiriliyor.
  SDATA2.0=VERI.1
  SDATA3.0=VERI.2
  SDATA4.0=VERI.3
  SDATA5.0=VERI.4
  SDATA6.0=VERI.5
  SDATA7.0=VERI.6
  SDATA8.0=VERI.7
RETURN

Bu fonksiyonda tablodan alınan veriyi satırlara bölüyorum. Birinci satırın 0. bitine tablodan aldığım değerin 0. bitini, ikinci satırın 0. bitine tablodan okunan verinin 1. bitini sırasıyla yerleştiriyorum.

Sonra kaydırma bölümüne gelip dataları bir adet sola kaydırıyorum.
KAYDIR:
  SDATA1=SDATA1<<1        ;Tüm satır verileri 1 bit sola kaydırılıyor.
  SDATA2=SDATA2<<1        ;Sdatalar word uzunluğunda
  SDATA3=SDATA3<<1
  SDATA4=SDATA4<<1
  SDATA5=SDATA5<<1
  SDATA6=SDATA6<<1
  SDATA7=SDATA7<<1
  SDATA8=SDATA8<<1
RETURN

Fakat siz kaydırma(<<)komutunu kullanma demişsiniz.  Kaydırma komutunu kullandığımız zaman mesela sola kaydırıyorken 0.bit 1. bit oluyor. Peki 7. bit tekrar 0. bitmi oluyor. Eğer öyleyse o yüzden gelen harfler yarım yamalak çıkıyordur.
Ozaman tüm satırları teker teker kaydırmak gerekecek. Epeyce bir iş çıktı.

Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Mucit23

Hocam Yeni birşey keşfettim. Bundan önceki program için şöyle bir yazılım yazdım bu programda bile görüntü çıkmıyor.
SUTUN[0]=%01111110 
SUTUN[1]=%00001001
SUTUN[2]=%00001001
SUTUN[3]=%00001001
SUTUN[4]=%01111110 

BASLA:
  SHIFTOUT DTA,CLK,1,[%10000000,%00000000]
  PORTB=SUTUN[0]
  PULSOUT KLT,1
  PAUSE 5
  SHIFTOUT DTA,CLK,1,[%01000000,%00000000]
  PORTB=SUTUN[1]
  PULSOUT KLT,1
  PAUSE 5
  SHIFTOUT DTA,CLK,1,[%00100000,%00000000]
  PORTB=SUTUN[2]
  PULSOUT KLT,1
  PAUSE 5
  SHIFTOUT DTA,CLK,1,[%00010000,%00000000]
  PORTB=SUTUN[3]
  PULSOUT KLT,1
  PAUSE 5
  SHIFTOUT DTA,CLK,1,[%00001000,%00000000]
  PORTB=SUTUN[4]
  PULSOUT KLT,1
  PAUSE 5 
GOTO BASLA


Artık simülasyonun azizliğine uğruyorum gibi geldi.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Mucit23

Hocam deneye deneye çözdüm işi ama açıkçası satır taramalıdan pek verim alamadım. yine yazılımsal birkaç sorun vardı. Bir türlü çözemedim onu. Şimdi  birde 75154 lü olanı deneyeceğim.
Siz satır taramalı konusunda bir yerde haklısınız. ama sütün sayısı az olduğu için problem olacağını düşünmüyorum. Sizin dediğiniz yöntemde mutlaka satırlar bir transistör ile sürülmeli Aksi halde picin Sink Akımıyla fazla bir parlaklık alınamıyor. Bendede zaten çok sönük kaldılar.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

Yaptığın 2 matriks led li çalışmayı deneme çalışması olarak düşündüğüm için ileride çok matriksli sistemi mutlaka yaparsın diye düşünüyordum. Yalnızca 2 led gurubu kullanacaksan sütun taramalı sistem yap kurtul bu işten bence. Yoksa kafayı bozabilirsin.
Derslerimde 13 nolu derste 8 sütunda açıkladığım uygulamayı 16 sütuna çıkaracaksın . Dersi bir kez daha okusan fena olmaz herhalde.

Satır taramada çok sütunlu sistemlerde bir satır aktif edildiği zaman sütun sayısı kadar led'in ortak ucunu oradan süreceksin demektir. Bu nedenle satır taramada satırlar ULN serisi bir entegre ile sürülmesi en doğru hareket olacaktır.

Ete

Mucit23

Ben yine bildiğim yoldan şaşmıyayım. En iyisi dediğiniz gibi. 74154 de istediğim gibi olmadı. Ben yine Satır taramalı sisteme döndüm.
Birçok sorun vardı.
Bunlardan birkaçı şöyle.

Harf datalarında problem vardı. İlk başta harf datalarını düzenlemek zorunda kalmıştım. Çünkü eski programlarda veri satırdan verilip sütünlar taranıyordu. Veri 7. bite dayalı olarak geliyordu. Benbunları birkaç ek işlemle kullanılabilir hale getirmiştim ama programın çalışma yapısınıda değiştirince değiştirmek zorunda kaldım. Zaten bahane alıyordum. Harf datalarını istediğim gibi yapınca programa biraz daha hakim olacağımı düşündüm.
Fakat harflerin 5 sütün olduğunu düşünürsek önceden harfin dataları 5-4-3-2-1 diye alınıyordu. Hal böyle olunca harfin ayna görüntü ekranda çıkıyordu. Bunu Tam tersi olacak şekilde düzelttim. Bu problemide bu şekilde çözdüm.

Diğer bir problem ise Sütünları tarama kısmında karşıma çıktı. Özellikle displayi tarama kısmına azami şekilde dikkat edilmeli bence. Ekrana yeni bir veri gönderilmeden önce eski veri maskelenmesi gerekiyor. Yani displayi kapatıp yeni veri gönderilip sütünlara aktarıldıktan display açılmalı. Sonra yeni veri gönderilmeden tekrar display kapatılıp veri gönderildikten sonra tekrar açılmalı. Böyle yapılmayınca herşey birbirine karışıyor. Aslında tarama sisteminin bir kuralıdır bu. Ben neden böyle bir hataya düştüm bilmiyorum. Böyle bir işe girerseniz buna özellikle dikkat edin.

Nerden baksanız 3-4 defa boardı bozup yeniden dizdim. Gerçekten artık moralim bozulmaya başlamıştı. Neyseki tam zamanında doğru dürüst çalıştırdım devreyi.Yoksa sabaha kadar uğraşmaya kararlıydım. Bence artık devrenin tek eksiği sadece sayı ve harflerden oluşması ama Kavyedeki tüm karakterleri ekranda göstermek isteridim ama karakter tablosu Max. 255 adet data alıyor.   Harflerle sayılarla ve diğer karakterlerle birlikte 42 adet karakter sığdırabildim. Aslında harf dataları değiştirmeden önce 3-4 harf daha fazla sığabiliyordu tüm datalarını 6 sütün olacak şekilde değiştirdikten sonra biraz azalma oldu.
Ben zaten çoğunlukla tecrübe kazanmak için yaptığım bir uygulamaydı. Bu konuda daha önce hiç tecrübem yoktu ama artık bişeyler yapabilecek kadar tecrübem var diyebilirim.
Çok matrixli kayan yazılar yapmak istiyorum ama bu tür kayan yazılarda PC arayüzü ile yazı animasyon vs yüklenmediği zaman bu iki gündür uğraştığım deneme çalışmasından ileriye gidemez benim gözümde. PC arayüzü yazmak için VB, Delphi C# vs öğrenirsem kesib böyle bir işe girerdim.

İleride 64X32 Bicolor(Çift Renkli) Matrix ekran projem var ama bu projede tüm ekranı sürme Daha doğrusu pic ile sürme picden çok beni yorar. Bu yüzden HT1632 Çipleriyle displayi kontrol etmeyi planlıyorum. Kendisinin baya iyi özellikleri var. 16 level PWM, 32X8 veya 16X24 kontrol özelliği var.
Sure Electronic 'in HT1632 kullanarak yapmış olduğu led displayler var. Aşağıdaki gibi
http://www.ebay.com/itm/P4-32X16-RG-Bicolor-LED-Dot-Matrix-Unit-Display-Board-HT1632C-/230734061706?pt=LH_DefaultDomain_0&hash=item35b8d2608a#ht_4690wt_960
Böyle bir işe girmeden önce bu ekranlardan alıp ilk önce HT1632 yi anlamaya çalışmalıyım. En mantıklısı böyle. En yakın zamandada Sure electronicin ekranlarından ve şu Ht1632 lerden 15-20 adet almayı planlıyorum.

Her neyse İlgilenenler için yeni güncel yazılımı Ve devre Şemasını vereyim.

adult image hosting
Kodlar
DEFINE OSC 4
@ DEVICE pic16F876
@ DEVICE pic16F876, WDT_ON
@ DEVICE pic16F876, PWRT_ON
@ DEVICE pic16F876, PROTECT_OFF
@ DEVICE pic16F876, XT_OSC

;_______________________________SETUP___________________________________________
  TRISA=0              ;Tüm portlar çıkış
  TRISB=0       
  TRISC=0
  PORTC=0
  PORTB=0         
  PORTA=0
ADCON1 = 7
;DEFINE SHIFT_PAUSEUS 1000
ON INTERRUPT GoTo KESME   
OPTION_REG=%00000011  ;Bölme oranı 1/16
INTCON=%00100000 
symbol GIEH = INTCON.7
TMR0=131              ;2ms kesme için tmr0 ön değeri
SYMBOL DTA=PORTC.0
SYMBOL CLK=PORTC.1
SYMBOL KLT=PORTC.2
SYMBOL OE =PORTC.3
;____________________PROGRAMDA KULLANILAN DEĞİŞKEN TANIMLAMALARI________________
   Z            VAR WORD
   SDATA1       VAR WORD
   SDATA2       VAR WORD
   SDATA3       VAR WORD
   SDATA4       VAR WORD
   SDATA5       VAR WORD
   SDATA6       VAR WORD
   SDATA7       VAR WORD
   SDATA8       VAR WORD                                                                                       
   SUTUN        VAR BYTE[15]                                                             
   VERI         VAR BYTE
   SYC          VAR BYTE                                                             
   KARAKTER     VAR BYTE                                                                                                                                   
   SIRA_NO      VAR BYTE                                                                   
   SUTUN_SAYISI VAR BYTE                                                                 
   SUTUN_SAYAC  VAR BYTE                                                                 
   OFSET        VAR BYTE                                                                 
   LINE         VAR BYTE
   X            VAR BYTE                                                           
   J            var byte                                                           
   I            var byte                                     
DATA @0," KAYAN YAZI DENEME DEVRESIDIR  ",5

;_________________________PORT AYAR VE DEĞİŞKEN İLK DEĞER ATAMALARI____________________                                   ;porta yı sıfırla
  J=0           
  I=0         
  SUTUN_SAYISI=0             
  SUTUN_SAYAC=0           
MAIN:
      GOSUB SUTUN_TEMIZLE
GIEH=1  ;Tüm kesmeler açıldı                     
BASLA:             
      GOSUB KARAKTER_AL                                                                           
      GOSUB SENTEZ
        IF ( SUTUN_SAYAC => 7 ) THEN     
          SUTUN_SAYAC=0                                                 
          LINE=0                                                                                     
          J=J+1
          GOSUB KARAKTER_AL:GOSUB SENTEZ                                                                                     
        ENDIF
      GOSUB ORT_ISLM
      GOSUB DELAY
GOTO BASLA             

;_______________________SUTUN TEMİZLEME ALT NPROGRAMI___________________________
SUTUN_TEMIZLE:
  SDATA1=0:SDATA2=0:SDATA3=0:SDATA4=0
  SDATA5=0:SDATA6=0:SDATA6=0:SDATA8=0
RETURN                 ;sutun temizleme alt programından çık
 
DELAY:
FOR Z=0 TO 1300:PAUSEUS 1:NEXT ;bu gecikme yazı hızını belirler.
RETURN

DISABLE
KESME:
syc=syc+1
IF SYC=>8 THEN SYC=0
  SELECT CASE SYC
CASE 0
  PORTB=255
  SHIFTOUT DTA,CLK,0,[SDATA1.LOWBYTE,SDATA1.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-1
CASE 1
  PORTB=255
  SHIFTOUT DTA,CLK,0,[SDATA2.LOWBYTE,SDATA2.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-2
CASE 2
  PORTB=255
  SHIFTOUT DTA,CLK,0,[SDATA3.LOWBYTE,SDATA3.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-4
CASE 3
  PORTB=255
  SHIFTOUT DTA,CLK,0,[SDATA4.LOWBYTE,SDATA4.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-8
CASE 4
  PORTB=255
  SHIFTOUT DTA,CLK,0,[SDATA5.LOWBYTE,SDATA5.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-16
CASE 5
  PORTB=255
  SHIFTOUT DTA,CLK,0,[SDATA6.LOWBYTE,SDATA6.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-32
CASE 6
  PORTB=255
  SHIFTOUT DTA,CLK,0,[SDATA7.LOWBYTE,SDATA7.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-64
CASE 8
  PORTB=255
  SHIFTOUT DTA,CLK,0,[SDATA8.LOWBYTE,SDATA8.HIGHBYTE]
  PULSOUT KLT,1
  PORTB=255-128
END SELECT
INTCON.2=0        ;İnterrupt flağı temizlendi
TMR0=131          ;TMR0 ön değeri yüklendi
RESUME
ENABLE
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=0     ;A
    CASE 66: SIRA_NO=6     ;B
    CASE 67: SIRA_NO=12   ;C
    CASE 68: SIRA_NO=18    ;D
    CASE 69: SIRA_NO=24    ;E
    CASE 70: SIRA_NO=30    ;F
    CASE 71: SIRA_NO=36    ;G
    CASE 72: SIRA_NO=42    ;H
    CASE 73: SIRA_NO=48    ;I
    CASE 74: SIRA_NO=54    ;J
    CASE 75: SIRA_NO=60    ;K
    CASE 76: SIRA_NO=66    ;L
    CASE 77: SIRA_NO=72    ;M
    CASE 78: SIRA_NO=78    ;N
    CASE 79: SIRA_NO=84    ;O
    CASE 80: SIRA_NO=90    ;P
    CASE 81: SIRA_NO=96    ;Q
    CASE 82: SIRA_NO=102    ;R
    CASE 83: SIRA_NO=108    ;S 
    CASE 84: SIRA_NO=114    ;T 
    CASE 85: SIRA_NO=120   ;U 
    CASE 86: SIRA_NO=126   ;V
    CASE 87: SIRA_NO=132   ;W
    CASE 88: SIRA_NO=138   ;X
    CASE 89: SIRA_NO=144   ;Y
    CASE 90: SIRA_NO=150   ;Z
    CASE 32: SIRA_NO=156 ;BOSLUK   
    CASE 48: SIRA_NO=162 ;0 
    CASE 49: SIRA_NO=168 ;1
    CASE 50: SIRA_NO=174 ;2
    CASE 51: SIRA_NO=180 ;3
    CASE 52: SIRA_NO=186 ;4
    CASE 53: SIRA_NO=192 ;5
    CASE 54: SIRA_NO=198 ;6 
    CASE 55: SIRA_NO=204 ;7
    CASE 56: SIRA_NO=210 ;8 
    CASE 57: SIRA_NO=216 ;9
    CASE 46: SIRA_NO=222 ;.
    CASE 199:SIRA_NO=228 ;Ç
    case 221:sira_no=234 ;İ
    case 214:sira_no=240 ;Ö
    case 220:sira_no=246 ;Ü
  end select   
  SUTUN_SAYAC=SUTUN_SAYAC+1     
RETURN

SON_KARAKTER:
   LINE=0 : VERI=0 : SUTUN_SAYISI=0 : SUTUN_SAYAC=0 : SUTUN_SAYISI=0 : J=0
RETURN
     ;__________________________________SENTEZ ALT PROGRAM SONU_______________________ 
 
ORT_ISLM:
  OFSET= SIRA_NO+LINE
  GOSUB TABLO
  GOSUB KAYDIR
  GOSUB DOSE
  LINE=LINE+1
  IF LINE=>6 THEN LINE=0
RETURN

DOSE:
  SDATA1.0=VERI.0       ;Alınan sütün bilgisi satırlara yerleştiriliyor.
  SDATA2.0=VERI.1
  SDATA3.0=VERI.2
  SDATA4.0=VERI.3
  SDATA5.0=VERI.4
  SDATA6.0=VERI.5
  SDATA7.0=VERI.6
  SDATA8.0=VERI.7
RETURN

KAYDIR:
  SDATA1=SDATA1<<1        ;Tüm satır verileri 1 bit sola kaydırılıyor.
  SDATA2=SDATA2<<1
  SDATA3=SDATA3<<1
  SDATA4=SDATA4<<1
  SDATA5=SDATA5<<1
  SDATA6=SDATA6<<1
  SDATA7=SDATA7<<1
  SDATA8=SDATA8<<1
RETURN

TABLO:
   LOOKUP OFSET,[_
   $7E,$11,$11,$11,$7E,$00,_      ;A   0-5
   $7F,$49,$49,$49,$36,$00,_      ;B   5-11
   $3E,$41,$41,$41,$22,$00,_      ;C   11-17
   $7F,$41,$41,$22,$1C,$00,_      ;D   17-23
   $7F,$49,$49,$49,$41,$00,_      ;E   23-29
   $7F,$09,$09,$09,$01,$00,_      ;F   29-35
   $3E,$41,$49,$49,$7A,$00,_      ;G   35-41
   $7F,$08,$08,$08,$7F,$00,_      ;H   41-47
   $00,$41,$7F,$41,$00,$00,_      ;I   47-53
   $20,$40,$41,$3F,$01,$00,_      ;J   53-59
   $7F,$08,$14,$22,$41,$00,_      ;K   59-65
   $7F,$40,$40,$40,$40,$00,_      ;L   65-71
   $7F,$40,$40,$40,$40,$00,_      ;M   71-77
   $7F,$04,$08,$10,$7F,$00,_      ;N   77-83
   $3E,$41,$41,$41,$3E,$00,_      ;O   83-89
   $7F,$09,$09,$09,$06,$00,_      ;P   89-95
   $3E,$41,$51,$21,$5E,$00,_      ;Q   95-101
   $7F,$09,$19,$29,$46,$00,_      ;R   101-107
   $46,$49,$49,$49,$31,$00,_      ;S   107-113
   $01,$01,$7F,$01,$01,$00,_      ;T   113-119
   $3F,$40,$40,$40,$3F,$00,_      ;U   119-125
   $1F,$20,$40,$20,$1F,$00,_      ;V   125-131
   $3F,$40,$38,$40,$3F,$00,_      ;W   131-137
   $63,$14,$08,$14,$63,$00,_      ;X   137-143
   $07,$08,$70,$08,$07,$00,_      ;Y   143-149
   $61,$51,$49,$45,$43,$00,_      ;Z   149-155
   $00,$00,$00,$00,$00,$00,_      ;bosluk   155-161
   $3E,$51,$49,$45,$3E,$00,_      ;0   161-167
   $00,$42,$7F,$40,$00,$00,_      ;1   167-173
   $42,$61,$51,$49,$46,$00,_      ;2   173-179   
   $21,$41,$45,$4B,$31,$00,_      ;3   179-185
   $18,$14,$12,$7F,$10,$00,_      ;4   185-191
   $27,$45,$45,$45,$39,$00,_      ;5   191-197
   $3C,$4A,$49,$49,$30,$00,_      ;6   197-203
   $01,$71,$09,$05,$03,$00,_      ;7   203-209
   $36,$49,$49,$49,$36,$00,_      ;8   209-215
   $06,$49,$49,$49,$3E,$00,_      ;9   215-221
   $40,$00,$00,$00,$00,$00,_      ;.   221-227
   $1E,$21,$61,$21,$12,$00,_      ;Ç   227-233
   $00,$42,$7F,$42,$00,$00,_      ;İ   233-239
   $38,$45,$44,$45,$38,$00,_      ;Ö   239-245
   $3C,$41,$40,$41,$3C,$00],VERI  ;Ü   245-251 
RETURN
END   


Displaylerin parlaklığı yeterli derecede ama yetmez diyenler satırları uln 2803 ile sürsün. Tabi tarama şeklinide Terslemeniz gerekecek.
Artık bu defteri kapatıyorum.

Hocam siz bir aralar isiste basic kodlarını nasıl adım adım çalıştıracağımızı göstermiştiniz. Karmaşık bir yolu vardı. Hatırlamıyorum. Tekrar anlatabilirmisiniz.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

ete

İsis de adım adım çalıştırma yapılamıyor. Bu proton için geçerli bir özellik diye biliyorum.
Şayet böyle bir şey dedi isem şu anda unuttum onu demektir. Hatırlamıyorum çünki.

Ete

Mucit23

Valla hocam böyle birşey dediğinizi çok iyi hatırlıyorum. Hatta belki hatırlarsınız ben basicde olmuyor demiştim. Ardından siz nasıl yapılacağını anlatmıştınız. Bi araştırayım bakayım belki bişeyler bulurum
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

Mucit23

#27
Valla hocam bi ipucu buldum ama çok kuru
http://elektrobilim.org/forum/pic-yazilim/7898-proton-proteus-paslasmasi.html
Artık kesinlikle eminim böyle birşey olduğuna. Acaba sizin eski forumda olabilirmi? Siz ilk forumu ne zaman kullanıma açmıştınız.
-----------
Googleyi baştan sonra taradım. Googledede yok. Denemediğim kelime kombinasyonu kalmadı. Eski Forumda olabilir hocam. Ulaşmamız mümkünmü?
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

kotan04

#28
Alıntı yapılan: Mucit23 - 27 Ocak 2012, 21:27:49
Valla hocam bi ipucu buldum ama çok kuru
http://elektrobilim.org/forum/pic-yazilim/7898-proton-proteus-paslasmasi.html
Artık kesinlikle eminim böyle birşey olduğuna. Acaba sizin eski forumda olabilirmi? Siz ilk forumu ne zaman kullanıma açmıştınız.
-----------
Googleyi baştan sonra taradım. Googledede yok. Denemediğim kelime kombinasyonu kalmadı. Eski Forumda olabilir hocam. Ulaşmamız mümkünmü?
merhaba  mucit dediğin konuyu yanlış hatırlamıyorsam değişkenlerin aldığı değerleri görebiliyordun ete hoca bunu tarif etmişti ama ayrıca bahsettiğin şehi bende yapmaya çalışıyorum ete hocam bu konuyla ilgili bir çalışma yapmamız mümkünmü adım adım programın işleyişini görebilmeyi çok istiyorum keşke bunun çözümü olsa

F®T

.cof dosyasından bahsediliyordu sanırım.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Powered by EzPortal