Está en la página 1de 3

LIST P=16F84a

include "P16F84a.inc"

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

CONTA1 equ 010h


CONTA2 equ 020h
CONTA3 equ H'0C'
CONTA4 equ H'0D'
MOSTRAR equ 030h
COMPARADOR EQU 00H
reg1 equ 11h
reg2 equ 12h
reg3 equ 13h

reset ORG 0x0000


GOTO INICIO
ORG 0x0005

;...........................................................

INICIO BSF STATUS,RP0 ;se dirige al banco1 con rp0 en 1


MOVLW B'00011000' ;se configura el puerto A como entrada y salida
MOVWF TRISA
MOVLW B'00000000';se configura el puerto B todas como salida
MOVWF TRISB
BCF STATUS,RP0 ;se vuelve al banco 0

CLRF PORTB
CLRF CONTA1
CLRF CONTA2
CLRF CONTA3
CLRF CONTA4
CLRF MOSTRAR

MOVLW 0H
MOVWF CONTA2
MOVLW 0H
MOVWF CONTA4

BCF PORTA,2
CLRF PORTA
MOSTRAR_DIGITOS
MOVF CONTA1,W
MOVWF PORTB
SWAPF CONTA2,W
ADDWF PORTB
CALL RETARDO
; BTFSS PORTA,3
; GOTO SALTAR_PULSO1
; BTFSS PORTA,4
; GOTO SALTAR_PULSO1
; GOTO MOSTRAR_DIGITOS
SALTAR_PULSO1 BTFSS PORTA,4
GOTO SALTAR_PULSO2
GOTO VERIFICAR
SALTAR_PULSO2 BTFSS PORTA,3
GOTO SALTAR_PULSO1
GOTO CONTINUA2
;----------------------VERIFICAR SI COINCIDEN-----------------

VERIFICAR
; CLRF PORTB
;movf CONTA3,W
; MOVWF PORTB
MOVF CONTA1,W
XORWF CONTA3,0;0AH
BTFSS STATUS,Z
GOTO CONTINUAR
MOVF CONTA2,W
XORWF CONTA4,0;1H
BTFSS STATUS,Z
GOTO CONTINUAR
BSF PORTA,2

REINICIO BTFSS PORTA,1


GOTO REINICIO
CLRF CONTA1
CLRF CONTA2
CLRF CONTA3
CLRF CONTA4
GOTO INICIO
;---------------------------------------------------------------

PROSIGUE
;SALTAR_PULSO1 BTFSS PORTA,4
; GOTO SALTAR_PULSO2
; GOTO VERIFICAR
;SALTAR_PULSO2 BTFSS PORTA,3
; GOTO SALTAR_PULSO1
; GOTO CONTINUA2

CONTINUAR

INCF CONTA1
MOVF CONTA1,W
XORLW 0AH;CONTA3;0AH
BTFSS STATUS,Z
GOTO MOSTRAR_DIGITOS
CLRF CONTA1

INCF CONTA2
MOVF CONTA2,W
XORLW 0AH
BTFSS STATUS,Z
GOTO MOSTRAR_DIGITOS
CLRF CONTA2
CLRF CONTA1
GOTO VERIFICAR
GOTO MOSTRAR_DIGITOS
CONTINUA2
; MOVF CONTA3,W
; MOVWF PORTB
; SWAPF CONTA4,W
; ADDWF COMPARADOR
; CALL RETARDO

INCF CONTA3
MOVF CONTA3,W
XORLW 0AH
BTFSS STATUS,Z
GOTO MOSTRAR_DIGITOS
CLRF CONTA3

INCF CONTA4
MOVF CONTA4,W
XORLW 0AH
BTFSS STATUS,Z
GOTO MOSTRAR_DIGITOS
CLRF CONTA4
CLRF CONTA3
GOTO MOSTRAR_DIGITOS

RETARDO MOVLW D'250'


MOVWF reg1
CONTINUAR2 MOVLW D'250'
MOVWF reg2
CONTINUAR1 NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ reg2
GOTO CONTINUAR1
DECFSZ reg1
GOTO CONTINUAR2
RETURN

End

También podría gustarte