Voila mon code si vous pouvez m'éclairer
processor 16F84A
#include <P16F84A.INC>
__config _CP_OFF & _PWRTE_ON & _WDT_ON & _XT_OSC ; 0x3D75
; RAM-Variable
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
LRAM_0x28 equ 0x28
LRAM_0x35 equ 0x35
LRAM_0x36 equ 0x36
LRAM_0x38 equ 0x38
LRAM_0x3A equ 0x3A
LRAM_0x3B equ 0x3B
; Program
Org 0x0000
; Reset-Vector
GOTO LADR_0x00CE
LADR_0x0001
MOVWF LRAM_0x36
BSF FSR,7
IORWF INDF,F
; Interrupt-Vector
BCF FSR,7
CLRF LRAM_0x22
BTFSS LRAM_0x20,0
MOVWF LRAM_0x22
MOVF LRAM_0x36,W
XORWF LRAM_0x22,F
MOVLW 0x01
MOVWF LRAM_0x20
CLRF LRAM_0x21
LADR_0x000D
MOVF INDF,W
ANDWF LRAM_0x36,W
XORWF LRAM_0x22,W
BTFSS STATUS,Z
RETURN
INCF LRAM_0x20,F
BTFSC STATUS,Z
INCFSZ LRAM_0x21,F
GOTO LADR_0x000D
RETURN
CLRF LRAM_0x25
LADR_0x0018
MOVWF LRAM_0x24
BSF LRAM_0x35,7
MOVLW 0x27
MOVWF LRAM_0x23
MOVLW 0x10
CALL LADR_0x002A
MOVLW 0x03
MOVWF LRAM_0x23
MOVLW 0xE8
CALL LADR_0x002A
CLRF LRAM_0x23
MOVLW 0x64
CALL LADR_0x002A
CLRF LRAM_0x23
MOVLW 0x0A
CALL LADR_0x002A
MOVF LRAM_0x24,W
GOTO LADR_0x0035
LADR_0x002A
MOVWF LRAM_0x22
MOVF LRAM_0x25,W
MOVWF LRAM_0x21
MOVF LRAM_0x24,W
MOVWF LRAM_0x20
CALL LADR_0x00AD
MOVF LRAM_0x20,W
BTFSS STATUS,Z
BCF LRAM_0x35,7
BTFSC LRAM_0x35,7
RETURN
LADR_0x0035
ADDLW 0x30
LADR_0x0036
MOVWF LRAM_0x26
MOVF LRAM_0x38,W
MOVWF FSR
MOVLW 0x09
MOVWF LRAM_0x27
BCF STATUS,C
LADR_0x003C
CALL LADR_0x0042
RRF LRAM_0x26,F
DECFSZ LRAM_0x27,F
GOTO LADR_0x003C
BSF STATUS,C
GOTO LADR_0x0042
LADR_0x0042
BCF FSR,7
BTFSS LRAM_0x35,3
GOTO LADR_0x0051
MOVF INDF,W
IORWF LRAM_0x36,W
BTFSS LRAM_0x35,2
XORWF LRAM_0x36,W
MOVWF INDF
BSF FSR,7
MOVF INDF,W
IORWF LRAM_0x36,W
BTFSS STATUS,C
XORWF LRAM_0x36,W
MOVWF INDF
GOTO LADR_0x005C
LADR_0x0051
MOVF INDF,W
IORWF LRAM_0x36,W
BTFSS STATUS,C
XORWF LRAM_0x36,W
BTFSC LRAM_0x35,2
XORWF LRAM_0x36,W
MOVWF INDF
BSF FSR,7
COMF LRAM_0x36,W
ANDWF INDF,F
GOTO LADR_0x005C
LADR_0x005C
RLF LRAM_0x35,W
ANDLW 0x06
MOVWF LRAM_0x20
CALL LADR_0x0065
MOVWF LRAM_0x21
INCF LRAM_0x20,F
CALL LADR_0x0065
NOP
GOTO LADR_0x007F
LADR_0x0065
MOVLW 0x00
MOVWF PCLATH ; !!Bank Program-Page-Select
MOVF LRAM_0x20,W
ADDWF PCL,F
RETLW 0x01
RETLW 0x90
RETLW 0x03
RETLW 0x30
RETLW 0x00
RETLW 0x57
RETLW 0x0C
RETLW 0xF4
LADR_0x0071
CLRF LRAM_0x23
LADR_0x0072
MOVWF LRAM_0x22
LADR_0x0073
MOVLW 0xFF
ADDWF LRAM_0x22,F
BTFSS STATUS,C
ADDWF LRAM_0x23,F
BTFSS STATUS,C
GOTO LADR_0x00C9
MOVLW 0x03
MOVWF LRAM_0x21
MOVLW 0xE5
CALL LADR_0x007F
GOTO LADR_0x0073
CLRF LRAM_0x21
LADR_0x007F
ADDLW 0xF6
MOVWF LRAM_0x20
COMF LRAM_0x21,F
BTFSS STATUS,C
GOTO LADR_0x008A
LADR_0x0084
MOVLW 0xFE
LADR_0x0085
NOP
ADDWF LRAM_0x20,F
BTFSC STATUS,C
GOTO LADR_0x0085
ADDWF LRAM_0x20,F
LADR_0x008A
CLRWDT
INCFSZ LRAM_0x21,F
GOTO LADR_0x0084
NOP
BTFSC LRAM_0x20,0
GOTO LADR_0x0090
LADR_0x0090
BTFSC LRAM_0x20,0
GOTO LADR_0x0092
LADR_0x0092
RETURN
LADR_0x0093
BCF STATUS,C
RLF LRAM_0x20,F
RLF LRAM_0x21,F
LADR_0x0096
ADDLW 0xFF
BTFSC STATUS,C
GOTO LADR_0x0093
MOVF LRAM_0x20,W
GOTO LADR_0x00C9
LADR_0x009B
MOVWF LRAM_0x22
MOVLW 0x05
MOVWF LRAM_0x28
MOVF LRAM_0x23,W
SUBWF LRAM_0x21,W
BTFSS STATUS,Z
GOTO LADR_0x00A4
MOVF LRAM_0x22,W
SUBWF LRAM_0x20,W
LADR_0x00A4
MOVLW 0x04
BTFSC STATUS,C
MOVLW 0x01
BTFSC STATUS,Z
MOVLW 0x02
ANDWF LRAM_0x28,W
BTFSS STATUS,Z
MOVLW 0xFF
GOTO LADR_0x00C9
LADR_0x00AD
MOVLW 0x10
MOVWF LRAM_0x26
CLRF LRAM_0x25
CLRF LRAM_0x24
LADR_0x00B1
RLF LRAM_0x21,W
RLF LRAM_0x24,F
RLF LRAM_0x25,F
MOVF LRAM_0x22,W
SUBWF LRAM_0x24,F
MOVF LRAM_0x23,W
BTFSS STATUS,C
INCFSZ LRAM_0x23,W
SUBWF LRAM_0x25,F
BTFSC STATUS,C
GOTO LADR_0x00C3
MOVF LRAM_0x22,W
ADDWF LRAM_0x24,F
MOVF LRAM_0x23,W
BTFSC STATUS,C
INCFSZ LRAM_0x23,W
ADDWF LRAM_0x25,F
BCF STATUS,C
LADR_0x00C3
RLF LRAM_0x20,F
RLF LRAM_0x21,F
DECFSZ LRAM_0x26,F
GOTO LADR_0x00B1
MOVF LRAM_0x20,W
GOTO LADR_0x00C9
LADR_0x00C9
BCF STATUS,IRP
BCF STATUS,RP1 ; !!Bank Register-Bank(2/3)-Select
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
CLRWDT
RETURN
LADR_0x00CE
BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
MOVLW 0x04
MOVWF PORTA ; !!Bank!! PORTA - TRISA
CLRF PORTB ; !!Bank!! PORTB - TRISB
BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
BCF PORTB,0 ; !!Bank!! PORTB - TRISB
BCF PORTB,2 ; !!Bank!! PORTB - TRISB
BCF PORTB,1 ; !!Bank!! PORTB - TRISB
MOVLW 0x03
MOVWF LRAM_0x23
MOVLW 0xE8
CALL LADR_0x0072
LADR_0x00DA
BSF PORTB,0 ; !!Bank!! PORTB - TRISB
MOVLW 0x01
CALL LADR_0x0071
BSF PORTB,1 ; !!Bank!! PORTB - TRISB
CLRF LRAM_0x20
MOVLW 0x05
MOVWF FSR
MOVLW 0x04
CALL LADR_0x0001
MOVF LRAM_0x20,W
MOVWF LRAM_0x3A
MOVF LRAM_0x21,W
MOVWF LRAM_0x3B
BCF PORTB,0 ; !!Bank!! PORTB - TRISB
BCF PORTB,1 ; !!Bank!! PORTB - TRISB
MOVF LRAM_0x3A,W
MOVWF LRAM_0x20
MOVF LRAM_0x3B,W
MOVWF LRAM_0x21
CLRF LRAM_0x23
MOVLW 0x00
CALL LADR_0x009B
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
BTFSS STATUS,Z
GOTO LADR_0x0110
BCF PCLATH,3 ; !!Bank Program-Page-Select
BCF PCLATH,4 ; !!Bank Program-Page-Select
MOVLW 0x06
MOVWF LRAM_0x38
MOVLW 0x80
MOVWF LRAM_0x36
MOVLW 0x06
MOVWF LRAM_0x35
MOVLW 0x50
CALL LADR_0x0036
MOVLW 0x61
CALL LADR_0x0036
MOVLW 0x73
CALL LADR_0x0036
MOVLW 0x20
CALL LADR_0x0036
MOVLW 0x64
CALL LADR_0x0036
MOVLW 0x27
CALL LADR_0x0036
MOVLW 0x65
CALL LADR_0x0036
MOVLW 0x63
CALL LADR_0x0036
MOVLW 0x68
CALL LADR_0x0036
MOVLW 0x6F
CALL LADR_0x0036
LADR_0x0110
MOVF LRAM_0x3A,W
MOVWF LRAM_0x20
MOVF LRAM_0x3B,W
MOVWF LRAM_0x21
MOVLW 0x02
CALL LADR_0x0096
MOVWF LRAM_0x3A
MOVF LRAM_0x21,W
MOVWF LRAM_0x3B
MOVLW 0xE8
ADDWF LRAM_0x3A,F
MOVLW 0x03
BTFSC STATUS,C
ADDLW 0x01
ADDWF LRAM_0x3B,F
MOVLW 0x06
MOVWF LRAM_0x38
MOVLW 0x80
MOVWF LRAM_0x36
MOVLW 0x06
MOVWF LRAM_0x35
MOVF LRAM_0x3B,W
MOVWF LRAM_0x25
MOVF LRAM_0x3A,W
CALL LADR_0x0018
MOVLW 0x0D
CALL LADR_0x0036
MOVLW 0x07
MOVWF LRAM_0x23
MOVLW 0xD0
CALL LADR_0x0072
CLRF LRAM_0x3A
CLRF LRAM_0x3B
GOTO LADR_0x00DA
LADR_0x0132
SLEEP
GOTO LADR_0x0132
End