Está en la página 1de 2

PROCESSOR 16F628A

#include "p16f628a.inc"

; CONFIG
;__config 0xFF09
__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _BOREN_OFF & _LVP_OFF &
_CPD_OFF & _CP_OFF

;ESPACIO DE MEMORIA DEDICADO PARA ALMACENAR VARIABLES


CBLOCK 0X20;LA VARIABLE SE LLAMARA AUX
UNIDAD
DECENA
CONTADOR
AUX
AUX1
AUX2
ENDC
;FINALIZACION DE LA VARIABLE

ORG 0X00

BSF STATUS,5
BCF STATUS,6

MOVLW B'00000000'
MOVWF TRISB
BCF TRISA,1
BCF TRISA,2

;SE DIRECCIONA EL BANCO 0 PARA ESTABLECER CONDICIONES DE SALIDA


BCF STATUS,5
BCF STATUS,6

MOVLW 0x07
MOVWF CMCON

MOVLW D'0'
MOVWF UNIDAD
MOVLW D'0'
MOVWF DECENA
GOTO NUMERO

INICIO
INCF UNIDAD,1
MOVLW D'11'
SUBWF UNIDAD,0 ;RESTA W DE UNDIAD
BTFSS STATUS,Z
GOTO NUMERO
GOTO INICIO1
INICIO1
MOVLW B'00000000'
MOVWF UNIDAD

INCF DECENA,1
MOVLW D'11'
SUBWF DECENA,0 ;RESTA W DE DECENA
BTFSS STATUS,Z
GOTO NUMERO
GOTO INICIO2
INICIO2
MOVLW B'00000000'
MOVWF DECENA

NUMERO
MOVLW D'20'
MOVWF CONTADOR
;RA1 UNIDADES(DERECHA)
;RA2 DECENAS(IZQUIERDA)
MOSTRARDISPLAY
BSF PORTA,1
BCF PORTA,2
MOVFW UNIDAD
CALL TABLA
MOVWF PORTB
CALL RETARDO5ms

BSF PORTA,2
BCF PORTA,1
MOVFW DECENA
CALL TABLA
MOVWF PORTB
CALL RETARDO5ms

DECFSZ CONTADOR,1
GOTO MOSTRARDISPLAY
GOTO INICIO

TABLA
ADDWF PCL,1
NOP
RETLW B'010000000' ;ENCIENDO 0
RETLW B'11110010' ;1 TODO EN LOGICA NEGATIVA
RETLW B'01001000' ;2
RETLW B'01100000' ;3
RETLW B'00110010' ;4
RETLW B'00100100' ;5
RETLW B'00000100' ;6
RETLW B'11110000' ;7
RETLW B'00000000' ;8
RETLW B'00110000' ;9

RETARDO5ms
MOVLW D'5'
MOVWF AUX1
MOVLW D'250'
MOVWF AUX2
NOP
DECFSZ AUX2,F
GOTO $-.2
DECFSZ AUX1,F
GOTO $-.6
RETURN
END
END

También podría gustarte