    
#include "p16f84a.inc"

 __CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _CP_OFF

varA   EQU 0x0c
varB   EQU 0x0d 
varC   EQU 0x0e
varD   EQU 0x0f
cont1   EQU 0x10 
cont2   EQU 0x11   
   
    ORG 0                 ; inicio del programa 
    
    CLRF     PORTB        ; limpio el puerto b  
    BSF      STATUS, RP0  ; configuro el puerto b como salida
    MOVLW    B'00000000'
    MOVWF    TRISB
    BCF      STATUS, RP0
    clrf     cont1
    clrf     PORTB
    movlw    D'9'
    movwf    cont2
    
cambia:
    incf     cont1,1
    movf     cont1,0
    call     tabla          
    movwf    PORTB
    call     retardo1s
    decfsz   cont2,F
    goto     cambia
    sleep
    
tabla:
    addwf PCL,1
    retlw 0x3f
    retlw 0x06
    retlw 0x5b
    retlw 0x4f
    retlw 0x66
    retlw 0x6d
    retlw 0x7d
    retlw 0x07
    retlw 0x7f
    retlw 0x6f
    
retardo1s:
    MOVLW   D'4'
    MOVWF   varC
bucleext2:
    MOVLW   D'252'
    MOVWF   varB
bucleext:
    MOVLW   D'247'
    MOVWF   varA
bucleint:
    NOP
    DECFSZ  varA,F
    GOTO    bucleint
    DECFSZ  varB,F
    GOTO    bucleext
    DECFSZ  varC,F      
    GOTO    bucleext2
    MOVLW   D'13'    
    MOVWF   varD
regfina:               
    DECFSZ  varD,F
    GOTO    regfina
    NOP
    NOP
    RETURN
    
    END