kayan yazıda degişiklik

Başlatan babali, 03 Ocak 2007, 07:12:33

babali

d32 ler illaki 32 ile son mu bulacak yosa daha devam edebilirmiyiz teknoloji yerine kayan yazı deneme  diye bişey yazssam bu d32 degişikligi olur demi



'pic 16F628 ile 8X32 Matrix Pano Kayan Yazı Grafik
'Hazırlayan: Mehmet Yılmaz - mehmet.yilmaz@teknomerkez.net
'Tarih: 5 Nisan 2005
'Dosya adı: 8x32-d1.bas
'Kullanılan değişken fazlalığından dolayı PIC16F628 kullanıldı.
'd1-d32 değişkenlerini PORTB de gösterirseniz gerekli değişiklikleri
'yaparak PIC16F84 kullanabilirsiniz
'-------------------------------------------------------
'PROTON Compiler kullanıyorsanız alt satırın başındaki tırnağı kaldırın
'DEVICE 16F628
'=====Değişkenler tanımlanıyor=====
i VAR BYTE
i1 VAR BYTE
p1 VAR BYTE
p2 VAR BYTE
'PORTA değişkenleri
pa1 VAR BYTE
pa2 VAR BYTE
pa3 VAR BYTE
pa4 VAR BYTE
pa5 VAR BYTE
pa6 VAR BYTE
pa7 VAR BYTE
pa8 VAR BYTE
pa9 VAR BYTE
pa10 VAR BYTE
pa11 VAR BYTE
pa12 VAR BYTE
pa13 VAR BYTE
pa14 VAR BYTE
pa15 VAR BYTE
pa16 VAR BYTE
pa17 VAR BYTE
pa18 VAR BYTE
pa19 VAR BYTE
pa20 VAR BYTE
pa21 VAR BYTE
pa22 VAR BYTE
pa23 VAR BYTE
pa24 VAR BYTE
pa25 VAR BYTE
pa26 VAR BYTE
pa27 VAR BYTE
pa28 VAR BYTE
pa29 VAR BYTE
pa30 VAR BYTE
pa31 VAR BYTE
pa32 VAR BYTE
'şekil değişkenleri
d1 VAR BYTE
d2 VAR BYTE
d3 VAR BYTE
d4 VAR BYTE
d5 VAR BYTE
d6 VAR BYTE
d7 VAR BYTE
d8 VAR BYTE
d9 VAR BYTE
d10 VAR BYTE
d11 VAR BYTE
d12 VAR BYTE
d13 VAR BYTE
d14 VAR BYTE
d15 VAR BYTE
d16 VAR BYTE
d17 VAR BYTE
d18 VAR BYTE
d19 VAR BYTE
d20 VAR BYTE
d21 VAR BYTE
d22 VAR BYTE
d23 VAR BYTE
d24 VAR BYTE
d25 VAR BYTE
d26 VAR BYTE
d27 VAR BYTE
d28 VAR BYTE
d29 VAR BYTE
d30 VAR BYTE
d31 VAR BYTE
d32 VAR BYTE
'=====port giriş çıkış ayarları=====
TRISA=%00000000 'tüm portlar çıkışa ayarlandı
TRISB=%00000000 'zaten geride boş port kalmadı
PORTB=0 'PORTB başlangıçta 0 olacak
PORTA=1 '74HC154 tarama işleminde lojik 0 çıkışlı tarama yapar
'bu durumda başlangıç için PORTA=1 olmalı
'=====Sayıcıların ayarı=====
i=0 'Bu değer sabit kalsın
i1=8 'kayma hızını belirliyor(İSTEDİĞİNİZ HIZI BELİRLEYEBİLİRSİNİZ)
'=====Bekleme ayarları=====
p1=1 'sütun geçişleri arasındaki bekleme(TİTREMEYİ ÖNLEYECEK DEĞER)
'=====Görüntü oluşturan değişkenler tanımlanıyor=====
'görünmesini istediğiniz şekli oluşturmak için,
'görünen için=1 siyah kalan için=0 olarak değer verin.
'değerlerin anlaşılabilir olması açısından binary
'olarak verilmiştir.
'Teknoloji
d1=%00000001
d2=%00000001
d3=%01111111
d4=%00000001
d5=%00111001
d6=%01010100
d7=%01011000
d8=%00000000
d9=%01111111
d10=%00010000
d11=%00101000
d12=%01000100
d13=%00000000
d14=%01111100
d15=%00000100
d16=%01111000
d17=%00000000
d18=%00111000
d19=%01000100
d20=%00111000
d21=%00000000
d22=%01111111
d23=%00000000
d24=%00111000
d25=%01000100
d26=%00111000
d27=%00000000
d28=%10000000
d29=%01111101
d30=%00000000
d31=%01111101
d32=%00000000
'PORTA tanımlaması
pa1=0
pa2=1
pa3=2
pa4=3
pa5=4
pa6=5
pa7=6
pa8=7
pa9=8
pa10=9
pa11=10
pa12=11
pa13=12
pa14=13
pa15=14
pa16=15
pa17=16
pa18=17
pa19=18
pa20=19
pa21=20
pa22=21
pa23=22
pa24=23
pa25=24
pa26=25
pa27=26
pa28=27
pa29=28
pa30=29
pa31=30
pa32=31
'Değerlerin Portlara gönderilmesi işlemi yapılıyor.
basla:
i=i+1
IF i=i1 Then kaydir
PORTA=pa1
PORTB=d1
Pause p1
PORTA=pa2
PORTB=d2
Pause p1
PORTA=pa3
PORTB=d3
Pause p1
PORTA=pa4
PORTB=d4
Pause p1
PORTA=pa5
PORTB=d5
Pause p1
PORTA=pa6
PORTB=d6
Pause p1
PORTA=pa7
PORTB=d7
Pause p1
PORTA=pa8
PORTB=d8
Pause p1
PORTA=pa9
PORTB=d9
Pause p1
PORTA=pa10
PORTB=d10
Pause p1
PORTA=pa11
PORTB=d11
Pause p1
PORTA=pa12
PORTB=d12
Pause p1
PORTA=pa13
PORTB=d13
Pause p1
PORTA=pa14
PORTB=d14
Pause p1
PORTA=pa15
PORTB=d15
Pause p1
PORTA=pa16
PORTB=d16
Pause p1
PORTA=pa17
PORTB=d17
Pause p1
PORTA=pa18
PORTB=d18
Pause p1
PORTA=pa19
PORTB=d19
Pause p1
PORTA=pa20
PORTB=d20
Pause p1
PORTA=pa21
PORTB=d21
Pause p1
PORTA=pa22
PORTB=d22
Pause p1
PORTA=pa23
PORTB=d23
Pause p1
PORTA=pa24
PORTB=d24
Pause p1
PORTA=pa25
PORTB=d25
Pause p1
PORTA=pa26
PORTB=d26
Pause p1
PORTA=pa27
PORTB=d27
Pause p1
PORTA=pa28
PORTB=d28
Pause p1
PORTA=pa29
PORTB=d29
Pause p1
PORTA=pa30
PORTB=d30
Pause p1
PORTA=pa31
PORTB=d31
Pause p1
PORTA=pa32
PORTB=d32
Pause p1
GoTo basla 'Göstermeye yeniden başla
'=====Kaydırma işlemi yapılıyor=====
kaydir:
PORTA=1
PORTB=0
i=0
'PORTA sıralaması değişimi
pa1=pa1-1
pa2=pa2-1
pa3=pa3-1
pa4=pa4-1
pa5=pa5-1
pa6=pa6-1
pa7=pa7-1
pa8=pa8-1
pa9=pa9-1
pa10=pa10-1
pa11=pa11-1
pa12=pa12-1
pa13=pa13-1
pa14=pa14-1
pa15=pa15-1
pa16=pa16-1
pa17=pa17-1
pa18=pa18-1
pa19=pa19-1
pa20=pa20-1
pa21=pa21-1
pa22=pa22-1
pa23=pa23-1
pa24=pa24-1
pa25=pa25-1
pa26=pa26-1
pa27=pa27-1
pa28=pa28-1
pa29=pa29-1
pa30=pa30-1
pa31=pa31-1
pa32=pa32-1
GoTo basla 'kaydırma işlemi sona erdiğinde başa
'döner ve işlem sürekli tekrarlanır
End 'Program sonu

babali

bi fikri olan varsa baylaşırmı arkadaşlar bu nu yapmalıyımda

ilker_32

pic basic anlamam ama tahminimle d32 artırarak belki sütun sayısını arttırabilirsin.

babali

ilker asm ile kayan yazıya nasıl yapıyorsun burda anlata bilirmisin ve yada örnek varsa bu raya koyarmısın benim koydugum gibi

ilker_32

;Tübitağa ait olan bilim ve teknik kayan yazının asm'dir. Sadece karakter
;adedi arttırılmıştır.
;ÖRNEK asm


PROCESSÖR 16F628A
INCLUDE <P16F628A.INC>
LRAM_0x0A EQU 0x0A
LRAM_0x1F EQU 0x1F
LRAM_0x20 EQU 0x20
LRAM_0x21 equ 0x21
LRAM_0x22 equ 0x22
LRAM_0x23 equ 0x23
LRAM_0x24 equ 0x24
LRAM_0x25 equ 0x25
LRAM_0x26 equ 0x26
LRAM_0x37 equ 0x37 
LRAM_0x70 equ 0x70 
LRAM_0x71 equ 0x71
LRAM_0x72 equ 0x72
LRAM_0x20 equ 0x20
LRAM_0x21 equ 0x21
LRAM_0x22 equ 0x22
LRAM_0x23 equ 0x23
LRAM_0x38 equ 0x38
LRAM_0x39 equ 0x39
LRAM_0x3A equ 0x3A
LRAM_0x3B equ 0x3B
LRAM_0x3C equ 0x3C
LRAM_0x3D equ 0x3D
LRAM_0x3E equ 0x3E
LRAM_0x3F equ 0x3F
LRAM_0x40 equ 0x40
LRAM_0x41 equ 0x41
LRAM_0x42 equ 0x42
LRAM_0x43 equ 0x43
LRAM_0x44 equ 0x44
LRAM_0x45 equ 0x45
LRAM_0x46 equ 0x46
LRAM_0x47 equ 0x47
LRAM_0x48 equ 0x48
LRAM_0x49 equ 0x49
LRAM_0x4A equ 0x4A
LRAM_0x4B equ 0x4B
LRAM_0x4C equ 0x4C
LRAM_0x4D equ 0x4D
LRAM_0x4E equ 0x4E
LRAM_0x4F equ 0x4F
LRAM_0x50 equ 0x50
LRAM_0x51 equ 0x51
LRAM_0x52 equ 0x52
LRAM_0x53 equ 0x53
LRAM_0x54 equ 0x54
LRAM_0x55 equ 0x55
LRAM_0x56 equ 0x56
LRAM_0x57 equ 0x57
LRAM_0x58 equ 0x58
LRAM_0x59 equ 0x59
LRAM_0x5A equ 0x5A
LRAM_0x5C equ 0x5C
LRAM_0x5D equ 0x5D
LRAM_0x5E equ 0x5E
LRAM_0x5F equ 0x5F
LRAM_0x60 equ 0x60
LRAM_0x61 equ 0x61
LRAM_0x62 equ 0x62
LRAM_0x63 equ 0x63
LRAM_0x64 equ 0x64
LRAM_0x65 equ 0x65
LRAM_0x66 equ 0x66
LRAM_0x67 equ 0x67
LRAM_0x68 equ 0x68
LRAM_0x69 equ 0x69
LRAM_0x6A equ 0x6A
LRAM_0x6B equ 0x6B
LRAM_0x6C EQU 0x6C
LRAM_0x6D EQU 0x6D
LRAM_0x6E EUQ 0x6E
LRAM_0x6F EQU 0x6F
LRAM_0x70 EQU 0x70
LRAM_0x71 EQU 0x71
LRAM_0x72 EQU 0x72
LRAM_0x73 EUQ 0x73
LRAM_0x74 EUQ 0x74
LRAM_0x75 EUQ 0x75
LRAM_0x76 EUQ 0x76
LRAM_0x77 EQU 0x77
LRAM_0x78 EQU 0x78
LRAM_0x79 EQU 0x79
LRAM_0x7A EQU 0x7A
LRAM_0x7B EQU 0x7B 
Org 0x0000 
CLRF STATUS
MOVLW 0x00
MOVWF LRAM_0x0A
GOTO LADR_0x0004
LADR_0x0004
CLRF STATUS
GOTO LADR_0x076D
LADR_0x0006
ADDWF PCL,F
RETLW 0x84
RETLW 0xFD
RETLW 0x84
RETLW 0x00 ;İ
RETLW 0xFF
RETLW 0x80
RETLW 0x80
RETLW 0x80
RETLW 0x80
RETLW 0x00 ;L
RETLW 0xFF
RETLW 0x18
RETLW 0x24
RETLW 0x42
RETLW 0x81
RETLW 0x00 ;K
RETLW 0xFF
RETLW 0x89
RETLW 0x89
RETLW 0x89
RETLW 0x81
RETLW 0x00 ;E
RETLW 0x81
RETLW 0xFF
RETLW 0x89
RETLW 0x19
RETLW 0x29
RETLW 0x49
RETLW 0x86
RETLW 0x00 ;R
RETLW 0x00
RETLW 0x00
RETLW 0x00
RETLW 0x00 ; BOŞLUK
RETLW 0xFF
RETLW 0x89
RETLW 0x89
RETLW 0x89
RETLW 0x81
RETLW 0x00 ;E
RETLW 0xFF
RETLW 0x18
RETLW 0x24
RETLW 0x42
RETLW 0x81
RETLW 0x00 ;K
RETLW 0xFF
RETLW 0x89
RETLW 0x89
RETLW 0x89
RETLW 0x81
RETLW 0x00 ;E
RETLW 0xFF
RETLW 0x04
RETLW 0x08
RETLW 0x10
RETLW 0xFF
RETLW 0x00 ;N
RETLW 0xFF
RETLW 0x89
RETLW 0x89
RETLW 0x89
RETLW 0x81
RETLW 0x00 ;E
RETLW 0x81
RETLW 0xFF
RETLW 0x89
RETLW 0x19
RETLW 0x29
RETLW 0x49
RETLW 0x86
RETLW 0x00 ;R
RETLW 0x00
RETLW 0x00
RETLW 0x00
RETLW 0x00 
RETLW 0x00
RETLW 0x00
RETLW 0x00
RETLW 0x00  
RETLW 0x00
RETLW 0x00
RETLW 0x00
RETLW 0x00  
Org 0x075F
BCF STATUS,RP0       
BCF STATUS,RP1       
MOVWF LRAM_0x20
LADR_0x0762
MOVLW 0x04
MOVWF LRAM_0x21
LADR_0x0764
MOVLW 0x53
MOVWF LRAM_0x22
LADR_0x0766
DECFSZ LRAM_0x22,F
GOTO LADR_0x0766
DECFSZ LRAM_0x21,F
GOTO LADR_0x0764
DECFSZ LRAM_0x20,F
GOTO LADR_0x0762
RETURN
LADR_0x076D
    MOVLW 0x50
    BCF STATUS,RP0       
    BCF STATUS,RP1       
    MOVWF LRAM_0x21
    BSF STATUS,RP0       
    CLRF PORTB           
    CLRF PORTA           
    MOVLW 0x07
    BCF STATUS,RP0       
    MOVWF LRAM_0x1F
    CLRF PORTB           
    CLRF LRAM_0x22
LADR_0x0779
    MOVF LRAM_0x22,W
    ADDLW 0x27
    MOVWF FSR
    BCF STATUS,IRP
    CLRF INDF
    INCF LRAM_0x22,F
    MOVLW 0x10
    SUBWF LRAM_0x22,W
    BTFSS STATUS,C
    GOTO LADR_0x0779
    MOVLW 0xF2
    MOVWF LRAM_0x23
    MOVLW 0xFF
    MOVWF LRAM_0x24
LADR_0x0787
    MOVF LRAM_0x21,W
    MOVWF LRAM_0x70
    CLRF LRAM_0x71
    MOVF LRAM_0x71,W
    XORLW 0x80
    MOVWF LRAM_0x72
    MOVF LRAM_0x24,W
    XORLW 0x80
    SUBWF LRAM_0x72,W
    BTFSS STATUS,Z
    GOTO LADR_0x0794
    MOVF LRAM_0x23,W
    SUBWF LRAM_0x70,W
LADR_0x0794
    BCF STATUS,RP0       
    BCF STATUS,RP1       
    CLRF LRAM_0x22
    BTFSS STATUS,C
    GOTO LADR_0x0779
LADR_0x0799
    MOVF LRAM_0x22,W
    ADDWF LRAM_0x23,W
    MOVWF LRAM_0x25
    MOVF LRAM_0x24,W
    BTFSC STATUS,C
    INCF LRAM_0x24,W
    MOVWF LRAM_0x26
    BTFSS LRAM_0x26,7
    GOTO LADR_0x07A7
    MOVF LRAM_0x22,W
    ADDLW 0x27
    MOVWF FSR
    BCF STATUS,IRP
    CLRF INDF
LADR_0x07A7
    BTFSC LRAM_0x26,7
    GOTO LADR_0x07C7
    MOVF LRAM_0x21,W
    MOVWF LRAM_0x70
    CLRF LRAM_0x71
    MOVLW 0xFF
    ADDWF LRAM_0x70,F
    BTFSS STATUS,C
    ADDWF LRAM_0x71,F
    MOVF LRAM_0x71,W
    XORLW 0x80
    MOVWF LRAM_0x72
    MOVF LRAM_0x26,W
    XORLW 0x80
    SUBWF LRAM_0x72,W
    BTFSS STATUS,Z
    GOTO LADR_0x07BA
    MOVF LRAM_0x25,W
    SUBWF LRAM_0x70,W
LADR_0x07BA
    BCF STATUS,RP0       
    BCF STATUS,RP1       
    BTFSS STATUS,C
    GOTO LADR_0x07C9
    MOVF LRAM_0x22,W
    ADDLW 0x27
    MOVWF FSR
    BCF STATUS,IRP
    MOVLW 0x00
    MOVWF LRAM_0x0A
    MOVF LRAM_0x25,W
    CALL LADR_0x0006
    MOVWF INDF
LADR_0x07C7
    BCF STATUS,RP0       
    BCF STATUS,RP1       
LADR_0x07C9
    MOVF LRAM_0x21,W
    MOVWF LRAM_0x70
    CLRF LRAM_0x71
    MOVF LRAM_0x71,W
    XORLW 0x80
    MOVWF LRAM_0x72
    MOVF LRAM_0x26,W
    XORLW 0x80
    SUBWF LRAM_0x72,W
    BTFSS STATUS,Z
    GOTO LADR_0x07D6
    MOVF LRAM_0x25,W
    SUBWF LRAM_0x70,W
LADR_0x07D6
    BTFSC STATUS,C
    GOTO LADR_0x07DF
    MOVF LRAM_0x22,W
    ADDLW 0x27
    MOVWF FSR
    BCF STATUS,IRP
    CLRF INDF
    BCF STATUS,RP0       
    BCF STATUS,RP1       
LADR_0x07DF
    INCF LRAM_0x22,F
    MOVLW 0x10
    SUBWF LRAM_0x22,W
    BTFSS STATUS,C
    GOTO LADR_0x0799
    CLRF LRAM_0x20
LADR_0x07E5
    CLRF LRAM_0x22
LADR_0x07E6
    MOVF LRAM_0x22,W
    ADDLW 0x27
    MOVWF FSR
    BCF STATUS,IRP
    MOVF INDF,W
    MOVWF PORTB          
    MOVF LRAM_0x22,W
    MOVWF PORTA          
    MOVLW 0x43
    MOVWF LRAM_0x37
LADR_0x07F0 ; İLKER , 0x07F0 DÖN
    DECFSZ LRAM_0x37,F
    GOTO LADR_0x07F0
    INCF LRAM_0x22,F
    MOVLW 0x10
    SUBWF LRAM_0x22,W
    BTFSS STATUS,C
    GOTO LADR_0x07E6
    INCF LRAM_0x20,F
    MOVLW 0x06
    SUBWF LRAM_0x20,W
    BTFSS STATUS,C
    GOTO LADR_0x07E5
    INCF LRAM_0x23,F
    BTFSC STATUS,Z
    INCF LRAM_0x24,F
    GOTO LADR_0x0787
    END


;ASM DİLİ DIĞER dillere göre bence çok ağır bir dil şimdiki aklım
;olsaydı bu işe bulaşmazdım. 6-7 senedir asm dili kullanıyorum
;bazen takıldığım yerler bile oluyor. diğer dillerle bir bağım olmasa bilene
;bazı yerleri anlayabiliyorum.


CODE TAG kullanalim, daha anlasilir olur  :  [ c o d e ]  ...kod...  [ / c o d e ]    

babali

asm cok agır baya bi ögrendim ama buraktım şimdi basic ögrenmeye calışıyorum

akkuzu1969

İlker kardeş vermiş olduğun asm kodları çok karışık olmuş.biraz daha anlaşılır ve açık yazsan iyi olmazmı.bu kadar işi zora sokmanın ne anlamı var anlamıyorum.daha anlaşılır yazarsan herkes daha iyi anlayabilir.
yardımların için teşekkür ederim.

ilker_32

Alıntı yapılan: "akkuzu1969"İlker kardeş vermiş olduğun asm kodları çok karışık olmuş.biraz daha anlaşılır ve açık yazsan iyi olmazmı.bu kadar işi zora sokmanın ne anlamı var anlamıyorum.daha anlaşılır yazarsan herkes daha iyi anlayabilir.
yardımların için teşekkür ederim.

görünüm biçimi olarak karışık görünebilir. belki 10 farklı çeşitle kodları yazmaya başlarsın ama ne kadar yazmaya çalışsanda kodları yine kullanıcaksın. sonuç değişmeyecektir. kodları yazmayı bitirdiğinde ortaya yine zor denilebilecek bir durum çıkacaktır.
----------------------------------------
herkeze başarılar... :P