Les adjunto el asm usado:
LIST P=16F628, F=INHX8M
include "P16F628.inc"
__CONFIG 0x3D30
ORG 0x0000
GOTO Label_0001
Label_0019 MOVLW 0x08
MOVWF 0x26
MOVF 0x37 , W
MOVWF FSR
MOVF 0x35 , W
BTFSC 0x33 , 02
CALL Label_0002
BTFSS 0x33 , 02
CALL Label_0003
MOVF 0x36 , W
MOVWF FSR
BSF FSR , 07
COMF 0x34 , W
ANDWF INDF , f
MOVF 0x26 , W
BTFSC STATUS , Z
GOTO Label_0004
BTFSC 0x33 , 00
CALL Label_0005
Label_0007 MOVF 0x36 , W
MOVWF FSR
RRF 0x21 , f
RRF 0x20 , f
MOVF INDF , W
IORWF 0x34 , W
BTFSS STATUS , C
XORWF 0x34 , W
MOVWF INDF
CALL Label_0006
DECFSZ 0x26 , f
GOTO Label_0007
GOTO Label_0004
Label_0006 MOVF 0x37 , W
MOVWF FSR
MOVF 0x35 , W
XORWF INDF , f
NOP
XORWF INDF , f
RETURN
Label_0002 IORWF INDF , f
GOTO Label_0008
Label_0003 XORLW 0xFF
ANDWF INDF , f
GOTO Label_0009
Label_0008 XORLW 0xFF
Label_0009 BSF FSR , 07
ANDWF INDF , f
GOTO Label_0004
Label_0018 BSF STATUS , IRP
Label_000A CLRF INDF
INCF FSR , f
ADDLW 0xFF
BTFSS STATUS , Z
GOTO Label_000A
GOTO Label_0004
Label_001B CLRF 0x23
MOVWF 0x22
Label_000C MOVLW 0xFF
ADDWF 0x22 , f
BTFSS STATUS , C
ADDWF 0x23 , f
BTFSS STATUS , C
GOTO Label_0004
MOVLW 0x03
MOVWF 0x21
MOVLW 0xDF
CALL Label_000B
GOTO Label_000C
CLRF 0x21
Label_000B ADDLW 0xE8
MOVWF 0x20
COMF 0x21 , f
MOVLW 0xFC
BTFSS STATUS , C
GOTO Label_000D
Label_000E ADDWF 0x20 , f
BTFSC STATUS , C
GOTO Label_000E
Label_000D ADDWF 0x20 , f
CLRWDT
INCFSZ 0x21 , f
GOTO Label_000E
BTFSC 0x20 , 00
GOTO Label_000F
Label_000F BTFSS 0x20 , 01
GOTO Label_0010
NOP
GOTO Label_0010
Label_0010 RETURN
Label_0022 ADDLW 0x01
MOVWF 0x27
MOVLW 0x0A
MOVWF 0x22
CLRF 0x23
Label_0012 CALL Label_0011
DECFSZ 0x27 , f
GOTO Label_0012
MOVF 0x24 , W
RETURN
Label_0005 CLRF 0x22
CLRF 0x23
GOTO Label_0013
Label_0014 RRF 0x21 , f
RRF 0x20 , f
RLF 0x22 , f
RLF 0x23 , f
Label_0013 ADDLW 0xFF
BTFSC STATUS , C
GOTO Label_0014
MOVF 0x23 , W
MOVWF 0x21
MOVF 0x22 , W
MOVWF 0x20
GOTO Label_0004
Label_001F MOVWF 0x22
MOVLW 0x05
MOVWF 0x28
MOVF 0x23 , W
SUBWF 0x21 , W
BTFSS STATUS , Z
GOTO Label_0015
MOVF 0x22 , W
SUBWF 0x20 , W
Label_0015 MOVLW 0x04
BTFSC STATUS , C
MOVLW 0x01
BTFSC STATUS , Z
MOVLW 0x02
ANDWF 0x28 , W
BTFSS STATUS , Z
MOVLW 0xFF
GOTO Label_0004
Label_0011 CLRF 0x25
CLRF 0x24
MOVLW 0x10
MOVWF 0x26
Label_0017 RLF 0x21 , W
RLF 0x24 , f
RLF 0x25 , f
MOVF 0x22 , W
SUBWF 0x24 , f
MOVF 0x23 , W
BTFSS STATUS , C
INCFSZ 0x23 , W
SUBWF 0x25 , f
BTFSC STATUS , C
GOTO Label_0016
MOVF 0x22 , W
ADDWF 0x24 , f
MOVF 0x23 , W
BTFSC STATUS , C
INCFSZ 0x23 , W
ADDWF 0x25 , f
BCF STATUS , C
Label_0016 RLF 0x20 , f
RLF 0x21 , f
DECFSZ 0x26 , f
GOTO Label_0017
MOVF 0x20 , W
GOTO Label_0004
Label_0004 BCF STATUS , IRP
BCF STATUS , RP1
BCF STATUS , RP0
CLRWDT
RETURN
;****************************************
Label_0001 MOVLW 0x07
MOVWF CMCON
BSF STATUS , RP0
MOVLW 0xFC
MOVWF TRISB
MOVF TRISB , W
BCF STATUS , RP0
MOVWF PORTB
MOVLW 0x20
MOVWF FSR
MOVLW 0x60
CALL Label_000A
MOVLW 0xA0
MOVWF FSR
MOVLW 0x50
CALL Label_000A
MOVLW 0x20
MOVWF FSR
MOVLW 0x30
CALL Label_0018
MOVLW 0x06
MOVWF 0x36
MOVLW 0x02
MOVWF 0x34
MOVLW 0x06
MOVWF 0x37
MOVLW 0x01
MOVWF 0x35
CLRF 0x33
MOVLW 0xFC
MOVWF 0x20
CLRF 0x21
CALL Label_0019
MOVLW 0xFC
MOVWF 0x20
CLRF 0x21
CALL Label_0019
MOVLW 0xFC
MOVWF 0x20
CLRF 0x21
CALL Label_0019
Label_0021 CLRWDT
BTFSC PORTA , 01
GOTO Label_001A
MOVLW 0xFA
CALL Label_001B
GOTO Label_001C
MOVLW 0xE6
MOVWF 0x3D
Label_001C INCF 0x38 , f
BTFSC STATUS , Z
INCF 0x39 , f
CALL Label_001D
Label_001A CLRWDT
BTFSC PORTA , 00
GOTO Label_001E
MOVLW 0xFA
CALL Label_001B
CLRF 0x20
CLRF 0x21
MOVF 0x39 , W
MOVWF 0x23
MOVF 0x38 , W
CALL Label_001F
BTFSS STATUS , Z
GOTO Label_0020
MOVLW 0xE8
MOVWF 0x38
MOVLW 0x03
MOVWF 0x39
Label_0020 MOVLW 0x01
SUBWF 0x38 , f
MOVLW 0x00
BTFSS STATUS , C
ADDLW 0x01
SUBWF 0x39 , f
CALL Label_001D
Label_001E GOTO Label_0021
Label_001D MOVF 0x38 , W
MOVWF 0x20
MOVF 0x39 , W
MOVWF 0x21
MOVLW 0x00
CALL Label_0022
MOVWF 0x3D
MOVF 0x3D , W
SUBLW 0x09
BTFSS STATUS , C
GOTO Label_0023
CALL Label_0024
MOVWF 0x3A
GOTO Label_0023
Label_0024 MOVLW 0x01
MOVWF PCLATH
MOVF 0x3D , W
ADDLW 0x09
BTFSC STATUS , C
INCF PCLATH , f
MOVWF PCL
RETLW 0xFC
RETLW 0x60
RETLW 0xDA
RETLW 0xF2
RETLW 0x66
RETLW 0xB6
RETLW 0xBE
RETLW 0xE0
RETLW 0xFE
RETLW 0xF6
Label_0023 MOVF 0x38 , W
MOVWF 0x20
MOVF 0x39 , W
MOVWF 0x21
MOVLW 0x01
CALL Label_0022
MOVWF 0x3D
MOVF 0x3D , W
SUBLW 0x09
BTFSS STATUS , C
GOTO Label_0025
CALL Label_0026
MOVWF 0x3B
GOTO Label_0025
Label_0026 MOVLW 0x01
MOVWF PCLATH
MOVF 0x3D , W
ADDLW 0x28
BTFSC STATUS , C
INCF PCLATH , f
MOVWF PCL
RETLW 0xFC
RETLW 0x60
RETLW 0xDA
RETLW 0xF2
RETLW 0x66
RETLW 0xB6
RETLW 0xBE
RETLW 0xE0
RETLW 0xFE
RETLW 0xF6
Label_0025 MOVF 0x38 , W
MOVWF 0x20
MOVF 0x39 , W
MOVWF 0x21
MOVLW 0x02
CALL Label_0022
MOVWF 0x3D
MOVF 0x3D , W
SUBLW 0x09
BTFSS STATUS , C
GOTO Label_0027
CALL Label_0028
MOVWF 0x3C
GOTO Label_0027
Label_0028 MOVLW 0x01
MOVWF PCLATH
MOVF 0x3D , W
ADDLW 0x47
BTFSC STATUS , C
INCF PCLATH , f
MOVWF PCL
RETLW 0xFC
RETLW 0x60
RETLW 0xDA
RETLW 0xF2
RETLW 0x66
RETLW 0xB6
RETLW 0xBE
RETLW 0xE0
RETLW 0xFE
RETLW 0xF6
Label_0027 MOVLW 0x06
MOVWF 0x36
MOVLW 0x02
MOVWF 0x34
MOVLW 0x06
MOVWF 0x37
MOVLW 0x01
MOVWF 0x35
CLRF 0x33
MOVF 0x3A , W
MOVWF 0x20
CLRF 0x21
CALL Label_0019
MOVF 0x3B , W
MOVWF 0x20
CLRF 0x21
CALL Label_0019
MOVF 0x3C , W
MOVWF 0x20
CLRF 0x21
CALL Label_0019
RETURN
Label_0029 SLEEP
GOTO Label_0029
END
este el circuito, en la protoborad se ponen todos a 8 y no se muve, supercomprobado el circuito