Hola intento hacer un conteo binario del puerto b en el pic16f628A, uso como indicadores leds en todo el puerto B, pero cuando corro el programa solo me muestra un led encendido, el programa debe consistir, que al principio todo el puerto B este apagado menos un bit (00000001), al momento de presionar un boton en el puerto A, que se baya incrementando el puerto B, hasta llegar a 250 intente hacerlo con INCF, pero no supe muy bien como usar este comando, a si que use el siguiente código, no se si me puedan ayudar a corregir el programa, o ayudarme en poder usar el INCF GRACIAS 
Código:
list p=16f628a
#include <p16f628a.inc>
__CONFIG _CP_OFF& _WDT_OFF& _PWRTE_ON& _MCLRE_ON& _LVP_OFF& _INTOSC_OSC_NOCLKOUT
REC1 EQU 0X20
INC EQU 0X22
REC2 EQU 0x21
INC2 EQU 0X23
org 0
goto CONFIG_PUERTOS
org 5
CONFIG_PUERTOS
CLRF PORTA
CLRF PORTB
bcf STATUS,RP1
bCf STATUS,RP0
movlw 0x07
movwf CMCON
bcf STATUS,RP1
bSf STATUS,RP0
movlw b'11111111'
movwf TRISA
movlw 0x00
movwf TRISB
bcf STATUS,RP1
bCf STATUS,RP0
;EL PROGRAMA COMIENZA SIN PRESIONAR PORTA,0
INICIO
BTFSS PORTA,0
GOTO APAGADO
CALL RETARDO;MANDO LLAMAR LA SUBRRUTINA PARA ELIMINAR REBOTES
MOVLW .250
MOVWF INC2
RETARDO2
MOVLW .250
MOVWF INC
RETARDO3
MOVLW .1 ; le doy a w el valor de 1
ADDWF PORTB ; sumo lo que hay en el puerto b con w
movwf PORTB
NOP
DECFSZ INC,1
GOTO RETARDO3
NOP
DECFSZ INC2,1
GOTO RETARDO2
GOTO INICIO
APAGADO
MOVLW B'00000001'
MOVWF PORTB
GOTO INICIO
;;;;;;;;;;;; subrrutina
RETARDO
MOVLW .100
MOVWF REC1
OTRO2
MOVLW .100
MOVWF REC2
OTRO1
DECFSZ REC2,1
GOTO OTRO1
DECFSZ REC1,1
GOTO OTRO2
RETURN
END
Última edición por un moderador: