Primero que todo buenas tardes a todos. Estoy tratando de hacer un contador ascendente/descendente con el PIC16f873A.
Hasta el momento logré hacer que cuente de forma ascenderte, pero no he logrado hacer que cuente de forma descendente.
Agradezco si alguien sabe cómo hacerlo y que me de una mano.
Gracias de ante mano.
PD: adjunto el circuito en proteus y el proyecto en MPLAB
Hasta el momento logré hacer que cuente de forma ascenderte, pero no he logrado hacer que cuente de forma descendente.
Agradezco si alguien sabe cómo hacerlo y que me de una mano.
Gracias de ante mano.
PD: adjunto el circuito en proteus y el proyecto en MPLAB
Código:
LIST P=16F873A
#INCLUDE <P16F873A.INC>
CONTADOR1 EQU 0X20
CONTADOR2 EQU 0X21
PDel0 EQU 0X22
PDel1 EQU 0X23
ORG 00
BANKSEL TRISB
CLRF TRISB
CLRF TRISC
BSF TRISB,7; RB7 ENTRADA
BSF TRISC,7; RC7 ENTRADA
BANKSEL PORTB
INICIO: CLRF CONTADOR1
CLRF CONTADOR2
CUENTA1: MOVF CONTADOR1,W
CALL TABLA
MOVWF PORTB
CUENTA: MOVF CONTADOR2,W
CALL TABLA
MOVWF PORTC
BTFSC PORTB,7
GOTO $-1
BTFSS PORTB,7
GOTO $-1
CALL ESPERA
INCF CONTADOR2,1
MOVF CONTADOR2,W
XORLW .10
BTFSS STATUS,Z
GOTO CUENTA
CLRF CONTADOR2
INCF CONTADOR1,1
MOVF CONTADOR1,W
XORLW .10
BTFSS STATUS,Z
GOTO CUENTA1
GOTO INICIO
ESPERA:
movlw .8
movwf PDel0
PLoop1 movlw .249
movwf PDel1
PLoop2 clrwdt
clrwdt
decfsz PDel1, 1
goto PLoop2
decfsz PDel0, 1
goto PLoop1
PDelL1 goto PDelL2
PDelL2 clrwdt
return
TABLA:
ADDWF PCL,1
RETLW B'1000000'
RETLW B'1111001'
RETLW B'0100100'
RETLW B'0110000'
RETLW B'0011001'
RETLW B'0010010'
RETLW B'0000011'
RETLW B'1111000'
RETLW B'0000000'
RETLW B'0011000'
END
Adjuntos
Última edición por un moderador: