3 kanallı rf alici verici asm yardim

Başlatan istanbullugenc, 04 Kasım 2008, 23:10:47

istanbullugenc

6 kanallı rf alici verici hex ini buldum ama 1 kac degişiklik yapmak istiyorum ugrasdim ama yapamadim :S yardim edermisiniz ? benim buldum programda 1. butona basdimda 1.role 2. butona basdimda 2. role... 6.butona basimda 5. role  aktif oluyor  benim istedim 1. butona basdim da 1. role aktif olicak 2. buna basdim da 1.role aktif olmicak 2. aktif olicak 3. butona basdim da 2 side aktif olmicak 4 5  bos yani  yardim ederseniz büyük bir iyilik yapmiş olursunuz


http://img221.imageshack.us/my.php?image=adsz2yy1.png
program

alici
 
processor 16F84A
    #include <P16F84A.INC>
    __config _CP_OFF & _PWRTE_OFF & _WDT_ON & _XT_OSC ; 0x3FFD

; RAM-Variable
LRAM_0x0C equ 0x0C
LRAM_0x0D equ 0x0D
LRAM_0x0E equ 0x0E
LRAM_0x0F equ 0x0F

; Program

    Org 0x0000

;   Reset-Vector
    GOTO LADR_0x0028
LADR_0x0001
    CLRF LRAM_0x0F
    MOVWF LRAM_0x0E
LADR_0x0003
    MOVLW 0xFF
;   Interrupt-Vector
    ADDWF LRAM_0x0E,F
    BTFSS STATUS,C
    ADDWF LRAM_0x0F,F
    BTFSS STATUS,C
    GOTO LADR_0x0023
    MOVLW 0x03
    MOVWF LRAM_0x0D
    MOVLW 0xDF
    CALL LADR_0x000F
    GOTO LADR_0x0003
    CLRF LRAM_0x0D
LADR_0x000F
    ADDLW 0xE8
    MOVWF LRAM_0x0C
    COMF LRAM_0x0D,F
    MOVLW 0xFC
    BTFSS STATUS,C
    GOTO LADR_0x0018
LADR_0x0015
    ADDWF LRAM_0x0C,F
    BTFSC STATUS,C
    GOTO LADR_0x0015
LADR_0x0018
    ADDWF LRAM_0x0C,F
    CLRWDT
    INCFSZ LRAM_0x0D,F
    GOTO LADR_0x0015
    BTFSC LRAM_0x0C,0
    GOTO LADR_0x001E
LADR_0x001E
    BTFSS LRAM_0x0C,1
    GOTO LADR_0x0022
    NOP
    GOTO LADR_0x0022
LADR_0x0022
    RETURN
LADR_0x0023
    BCF STATUS,IRP
    BCF STATUS,RP1       ; !!Bank Register-Bank(2/3)-Select
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CLRWDT
    RETURN
LADR_0x0028
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CLRF PORTB           ; !!Bank!! PORTB - TRISB
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CLRF PORTB           ; !!Bank!! PORTB - TRISB
    CLRF PORTA           ; !!Bank!! PORTA - TRISA
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    MOVLW 0x01
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
LADR_0x0031
    CLRWDT
    BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x0036
    GOTO LADR_0x0037
    GOTO LADR_0x0037
LADR_0x0036
    GOTO LADR_0x0031
LADR_0x0037
    MOVLW 0x0C
    CALL LADR_0x0001
    CLRWDT
    BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x003E
    GOTO LADR_0x003F
    GOTO LADR_0x003F
LADR_0x003E
    GOTO LADR_0x0047
LADR_0x003F
    MOVLW 0x01
    XORWF PORTB,F        ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x14
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    GOTO LADR_0x0031
LADR_0x0047
    MOVLW 0x0A
    CALL LADR_0x0001
    CLRWDT
    BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x004E
    GOTO LADR_0x004F
    GOTO LADR_0x004F
LADR_0x004E
    GOTO LADR_0x0057
LADR_0x004F
    MOVLW 0x02
    XORWF PORTB,F        ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,1          ; !!Bank!! PORTB - TRISB
    MOVLW 0x50
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    GOTO LADR_0x0031
LADR_0x0057
    MOVLW 0x0A
    CALL LADR_0x0001
    CLRWDT
    BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x005E
    GOTO LADR_0x005F
    GOTO LADR_0x005F
LADR_0x005E
    GOTO LADR_0x0067
LADR_0x005F
    MOVLW 0x04
    XORWF PORTB,F        ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,2          ; !!Bank!! PORTB - TRISB
    MOVLW 0x50
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    GOTO LADR_0x0031
LADR_0x0067
    MOVLW 0x0A
    CALL LADR_0x0001
    CLRWDT
    BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x006E
    GOTO LADR_0x006F
    GOTO LADR_0x006F
LADR_0x006E
    GOTO LADR_0x0077
LADR_0x006F
    MOVLW 0x08
    XORWF PORTB,F        ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,3          ; !!Bank!! PORTB - TRISB
    MOVLW 0x50
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    GOTO LADR_0x0031
LADR_0x0077
    MOVLW 0x14
    CALL LADR_0x0001
    CLRWDT
    BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x007E
    GOTO LADR_0x007F
    GOTO LADR_0x007F
LADR_0x007E
    GOTO LADR_0x0031
LADR_0x007F
    MOVLW 0x10
    XORWF PORTB,F        ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,4          ; !!Bank!! PORTB - TRISB
    MOVLW 0x50
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    GOTO LADR_0x0031

    End


verici

processor 16F84A
    #include <P16F84A.INC>
    __config _CP_OFF & _PWRTE_OFF & _WDT_ON & _XT_OSC ; 0x3FFD

; RAM-Variable
LRAM_0x0C equ 0x0C
LRAM_0x0D equ 0x0D
LRAM_0x0E equ 0x0E
LRAM_0x0F equ 0x0F
LRAM_0x14 equ 0x14
LRAM_0x1E equ 0x1E
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_0x27 equ 0x27

; Program

    Org 0x0000

;   Reset-Vector
    GOTO LADR_0x0041
LADR_0x0001
    CLRF LRAM_0x0F
    MOVWF LRAM_0x0E
LADR_0x0003
    MOVLW 0xFF
;   Interrupt-Vector
    ADDWF LRAM_0x0E,F
    BTFSS STATUS,C
    ADDWF LRAM_0x0F,F
    BTFSS STATUS,C
    GOTO LADR_0x003C
    MOVLW 0x03
    MOVWF LRAM_0x0D
    MOVLW 0xDF
    CALL LADR_0x000F
    GOTO LADR_0x0003
    CLRF LRAM_0x0D
LADR_0x000F
    ADDLW 0xE8
    MOVWF LRAM_0x0C
    COMF LRAM_0x0D,F
    MOVLW 0xFC
    BTFSS STATUS,C
    GOTO LADR_0x0018
LADR_0x0015
    ADDWF LRAM_0x0C,F
    BTFSC STATUS,C
    GOTO LADR_0x0015
LADR_0x0018
    ADDWF LRAM_0x0C,F
    CLRWDT
    INCFSZ LRAM_0x0D,F
    GOTO LADR_0x0015
    BTFSC LRAM_0x0C,0
    GOTO LADR_0x001E
LADR_0x001E
    BTFSS LRAM_0x0C,1
    GOTO LADR_0x0022
    NOP
    GOTO LADR_0x0022
LADR_0x0022
    RETURN
LADR_0x0023
    CLRF LRAM_0x0D
    CLRF LRAM_0x0F
    MOVWF LRAM_0x0E
    MOVLW 0x02
    GOTO LADR_0x0028
LADR_0x0028
    MOVWF LRAM_0x14
    MOVF LRAM_0x0F,W
    SUBWF LRAM_0x0D,W
    BTFSS STATUS,Z
    GOTO LADR_0x002F
    MOVF LRAM_0x0E,W
    SUBWF LRAM_0x0C,W
LADR_0x002F
    MOVLW 0x04
    BTFSC STATUS,C
    MOVLW 0x01
    BTFSC STATUS,Z
    MOVLW 0x02
    ANDWF LRAM_0x14,W
    BTFSS STATUS,Z
    MOVLW 0xFF
    GOTO LADR_0x003C
LADR_0x0038
    IORWF FSR,W
    BTFSS STATUS,Z
    MOVLW 0xFF
    GOTO LADR_0x003C
LADR_0x003C
    BCF STATUS,IRP
    BCF STATUS,RP1       ; !!Bank Register-Bank(2/3)-Select
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CLRWDT
    RETURN
LADR_0x0041
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CLRF PORTB           ; !!Bank!! PORTB - TRISB
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CLRF PORTB           ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    MOVLW 0x1F
    MOVWF PORTA          ; !!Bank!! PORTA - TRISA
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CLRF PORTA           ; !!Bank!! PORTA - TRISA
LADR_0x004A
    CLRF PORTB           ; !!Bank!! PORTB - TRISB
    CLRF PORTA           ; !!Bank!! PORTA - TRISA
    MOVLW 0x00
    BTFSC PORTA,0        ; !!Bank!! PORTA - TRISA
    MOVLW 0x01
    MOVWF LRAM_0x0C
    MOVLW 0x01
    CALL LADR_0x0023
    MOVWF LRAM_0x1E
    MOVLW 0x00
    BTFSC PORTA,1        ; !!Bank!! PORTA - TRISA
    MOVLW 0x01
    MOVWF LRAM_0x0C
    MOVLW 0x01
    CALL LADR_0x0023
    MOVWF LRAM_0x20
    MOVF LRAM_0x1E,W
    MOVWF FSR
    MOVF LRAM_0x20,W
    CALL LADR_0x0038
    MOVWF LRAM_0x20
    MOVWF LRAM_0x21
    MOVLW 0x00
    BTFSC PORTA,2        ; !!Bank!! PORTA - TRISA
    MOVLW 0x01
    MOVWF LRAM_0x0C
    MOVLW 0x01
    CALL LADR_0x0023
    MOVWF LRAM_0x22
    MOVF LRAM_0x20,W
    IORWF LRAM_0x21,W
    MOVWF FSR
    MOVF LRAM_0x22,W
    CALL LADR_0x0038
    MOVWF LRAM_0x22
    MOVWF LRAM_0x23
    MOVLW 0x00
    BTFSC PORTA,3        ; !!Bank!! PORTA - TRISA
    MOVLW 0x01
    MOVWF LRAM_0x0C
    MOVLW 0x01
    CALL LADR_0x0023
    MOVWF LRAM_0x24
    MOVF LRAM_0x22,W
    IORWF LRAM_0x23,W
    MOVWF FSR
    MOVF LRAM_0x24,W
    CALL LADR_0x0038
    MOVWF LRAM_0x24
    MOVWF LRAM_0x25
    MOVLW 0x00
    BTFSC PORTA,4        ; !!Bank!! PORTA - TRISA
    MOVLW 0x01
    MOVWF LRAM_0x0C
    MOVLW 0x01
    CALL LADR_0x0023
    MOVWF LRAM_0x26
    MOVF LRAM_0x24,W
    IORWF LRAM_0x25,W
    MOVWF FSR
    MOVF LRAM_0x26,W
    CALL LADR_0x0038
    MOVWF LRAM_0x26
    MOVWF LRAM_0x27
    CLRWDT
    MOVF LRAM_0x26,W
    IORWF LRAM_0x27,W
    BTFSC STATUS,Z
    GOTO LADR_0x0091
    GOTO LADR_0x004A
    GOTO LADR_0x0092
LADR_0x0091
    GOTO LADR_0x0092
LADR_0x0092
    CLRF PORTB           ; !!Bank!! PORTB - TRISB
    CLRWDT
    BTFSS PORTA,0        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x0098
    GOTO LADR_0x00B1
    GOTO LADR_0x0099
LADR_0x0098
    GOTO LADR_0x0099
LADR_0x0099
    CLRWDT
    BTFSS PORTA,1        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x009E
    GOTO LADR_0x00C4
    GOTO LADR_0x009F
LADR_0x009E
    GOTO LADR_0x009F
LADR_0x009F
    CLRWDT
    BTFSS PORTA,2        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x00A4
    GOTO LADR_0x00DB
    GOTO LADR_0x00A5
LADR_0x00A4
    GOTO LADR_0x00A5
LADR_0x00A5
    CLRWDT
    BTFSS PORTA,3        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x00AA
    GOTO LADR_0x00F2
    GOTO LADR_0x00AB
LADR_0x00AA
    GOTO LADR_0x00AB
LADR_0x00AB
    CLRWDT
    BTFSS PORTA,4        ; !!Bank!! PORTA - TRISA
    GOTO LADR_0x00B0
    GOTO LADR_0x0109
    GOTO LADR_0x00B1
LADR_0x00B0
    GOTO LADR_0x0092
LADR_0x00B1
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x01
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x0A
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x02
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    GOTO LADR_0x004A
LADR_0x00C4
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x01
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x14
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x02
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    GOTO LADR_0x004A
LADR_0x00DB
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x01
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x1E
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x02
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    GOTO LADR_0x004A
LADR_0x00F2
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x01
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x28
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x02
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    GOTO LADR_0x004A
LADR_0x0109
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x01
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x3C
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BSF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    MOVLW 0x02
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    CALL LADR_0x0001
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BSF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    BCF PORTB,0          ; !!Bank!! PORTB - TRISB
    BCF STATUS,RP0       ; !!Bank Register-Bank(0/1)-Select
    GOTO LADR_0x004A
    End

ilker_32

Seni kandırmışlar, hayatını zorluyorsun :lol:

istanbullugenc

:D baya bi arayişdan sonra aradimi buldum

ilker_32

Alıntı yapılan: "istanbullugenc":D baya bi arayişdan sonra aradimi uldum
İyi hoş fakat bu .Hex'ten .Asm'ye dönme kodlarla sen dahil kimse uğrarşmaz ki nasıl değiştirmeyi düşünüyorsun. Bu devrenin asıl kaynak kodlarını bulman gerekiyor.

istanbullugenc

hım anladim yani internetten buldumuz programı degistirmemiz zor diyorsun

Tagli

Hayır. Doğru şekilde açıklamalar içermeyen, hex dosyalarından dönüştürülmüş (ki açıklama içermeyişinin sebebi de odur) kodların anlaşılması çok zor. İnternetten bulunmuş olmasıyla bir ilgisi yok. Gerçi açıklama içermeyen her kodda bu sorun vardır ama değişken isimleri bile belli olmayan bir asm kodunun nasıl çalıştığını anlamak çok zordur (imkansız desem yeridir, gerçi teorik olarak imkansız değildir). Kodu anlamaya çalışmaktansa yenisini yazmak çok daha kolay olacaktır.

İçinde PIC olan bir projeyle ciddi anlamda uğraşmak istiyorsan öyle ya da böyle PIC programlamayı öğrenmen gerekir. Üzülerek görüyorum ki bu konuya hiç ilgi göstermemişsin veya araştırmamışsın, yoksa buraya koyduğun kodun anlaşılmasının imkansıza yakın olduğunu kendin de farkederdin.
Gökçe Tağlıoğlu

istanbullugenc

ben programda istedime yakin degişiklik yaptim  pic programlamayı az biliyorum internette her verilen programın degiştirilebilceni saniyordum  ama simdi olayi daha iyi anladim  teşekkur ederim