registro PCL en pic16f84a

Soy muy principiante en esto, lo que quiero hacer es un contador con 2 display de 7 seg....
al presionar un boton en RA:0, se ponga en marcha el conteo, y con dos transistores 2n222a se pongan a conmutar los display por los puertos de B

y creo k el registro PCL es l k falla, alguna mirada por ahi que se encuentre mal??

los tiempos son los de menos, creo que son casi 1 seg

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0X0C
contador1
contador2
unidades
decenas
clock1
clock2
clock3
punta1
punta2
ENDC
ORG 0
_configuracion
bsf STATUS,RP0
clrw
movwf PORTB
movlw b'00000001'
movwf PORTA
bcf STATUS,RP0
_variables
clrw
movwf unidades
movwf decenas
movwf punta1
movwf punta2
movlw .9
movwf contador1
movwf contador2
_prueba
movlw b'00000010'
movwf PORTB
bsf PORTA,1
bcf PORTA,1
bsf PORTA,2
bcf PORTA,2
btfss PORTA,0
goto _prueba
_inicio
movf punta1,W
call _seleccion
movwf unidades
incf punta1,F
call _segundo
decfsz contador1,F
goto _inicio
movlw .9
movwf contador1
movf punta2,W
call _seleccion
movwf decenas
incf punta2,F
clrf punta1
decfsz contador2,F
goto _inicio
goto _variables
_segundo
movlw .247
movwf clock1
movlw .5
movwf clock3
movlw .217
movwf clock2
_tiempo
bcf PORTA,2
movf unidades
movwf PORTB
bsf PORTA,1
bcf PORTA,1
movf decenas
movwf PORTB
bsf PORTA,2
decfsz clock1,F
goto _tiempo
decfsz clock2,F
goto _tiempo
decfsz clock3,F
goto _tiempo
return
_seleccion
addwf PCL,F
retlw b'00000010' ;0
retlw b'01001111' ;1
retlw b'00010001' ;2
retlw b'00000101' ;3
retlw b'00001101' ;4
retlw b'00100100' ;5
retlw b'01100000' ;6
retlw b'00001111' ;7
retlw b'00000000' ;8
retlw b'00001100' ;9
end



solo muestra algo en los dos display y es lo mismo en ambos......y no cambia
 
Última edición:
Atrás
Arriba