holas gracias por ofrecerse a ayudar
Aca dejo el diseño del circuito
la idea es ocuparlo para el intercambio de un jugador y digitalizar el número del jugador en unos displays gigantes por medio de transistores, y luego de pulsarlos realizar un retardo de 10 a 20 segundos por el número pulsado.
;teclado matricial y display de 7seg con pic 16f84
LIST P=16F84A
#INCLUDE<P16F84A.INC>
;DECLARACION DE VARIABLES
MEMORIA EQU 10
REG1 EQU 11
REG2 EQU 12
REG3 EQU 13
ORG 00
GOTO INICIO
RETARDO MOVLW .9
MOVWF REG1
DEC3 MOVLW .9
MOVWF REG2
DEC2 MOVLW .5
MOVWF REG3
DEC1 DECFSZ REG3,1
GOTO DEC1
DECFSZ REG2,1
GOTO DEC2
DECFSZ REG1,1
GOTO DEC3
RETURN
;CONFIGURACION DE PUERTOS
INICIO
BSF STATUS,5
MOVLW 0F
MOVWF PORTA
CLRF PORTB
BCF STATUS,5
CLRF PORTA
CLRF PORTB
COLUMNA
CLRF PORTB
BSF PORTB,0
BTFSC PORTB,4
GOTO UNO
BTFSC PORTB,5
GOTO DOS
BTFSC PORTB,6
GOTO TRES
CLRF PORTB
BSF PORTB,1
BTFSC PORTB,4
GOTO CUATRO
BTFSC PORTB,5
GOTO CINCO
BTFSC PORTB,6
GOTO SEIS
CLRF PORTB
BSF PORTB,2
BTFSC PORTB,4
GOTO SIETE
BTFSC PORTB,5
GOTO OCHO
BTFSC PORTB,6
GOTO NUEVE
CLRF PORTB
BSF PORTB,3
BTFSC PORTB,1
GOTO CERO
GOTO COLUMNA
UNO MOVLW b'0001'
GOTO MOSTRAR
CUATRO MOVLW b'0100'
GOTO MOSTRAR
SIETE MOVLW b'0111'
GOTO MOSTRAR
DOS MOVLW b'0010'
GOTO MOSTRAR
CINCO MOVLW b'0101'
GOTO MOSTRAR
OCHO MOVLW b'1000'
GOTO MOSTRAR
CERO MOVLW 0
GOTO MOSTRAR
TRES MOVLW b'0011'
GOTO MOSTRAR
SEIS MOVLW b'0110'
GOTO MOSTRAR
NUEVE MOVLW b'1001'
GOTO MOSTRAR
MOSTRAR
MOVWF PORTA
CALL RETARDO
GOTO COLUMNA
END
saludos.