Está en la página 1de 2

;PROGRAMA DE 7 SEGMENTOS ANODO COMUN

;-------------------------------------------------------------------------------
-----------------------
;DECLARACION DE VARIABLES
I EQU 20H ;REGISTRO I
J EQU 21H ;REGISTRO J
K EQU 22H ;REGISTRO K
PORTA EQU 05H
PORTB EQU 06H
TRISA EQU 85H
TRISB EQU 86H
STATUS EQU 03H
CTE EQU .63
RP0 EQU .5
RP1 EQU .6
ANSEL EQU 188H
ANSELH EQU 189H
F EQU 1
W EQU 0
;-------------------------------------------------------------------------------
-----------------------
;CONFIGURACION DE PUERTOS
BSF STATUS,RP0 ;CAMBIO A BANCO 1
CLRF TRISB ;CONFIGURA EL PUERTO B A SALIDAS OSEA PASA LOS 1
QUE TRAE POR DEFAULT A 0
BSF STATUS,RP1 ;CAMBIO A BANCO 3
CLRF ANSEL ;DESHABILITAR SEALES ANALOGICAS
CLRF ANSELH ;DESHABILITAR SEALES ANALOGICAS
BCF STATUS,RP0 ;CAMBIO A BANCO 2
BCF STATUS,RP1 ;CAMBIO A BANCO 0
;-------------------------------------------------------------------------------
-----------------------
;PROGRAMA PRINCIPAL
MOVLW B'11111111';LIMPIO PARA ANODO COMUN
BOTON BTFSS PORTA,.0
GOTO BOTON
TABLA NOP
CLRF PORTB
MOVLW B'01000000' ;0
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'01111001' ;1
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00100100' ;2
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00110000' ;3
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00011001' ;4
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00010010' ;5
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00000010' ;6
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'01111000' ;7
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00000000' ;8
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00011000' ;9
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00001000' ;A
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00000011' ;B
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'01000110' ;C
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00100001' ;D
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00000110' ;E
MOVWF PORTB
CALL RETARDO
CLRF PORTB
MOVLW B'00001110' ;F
MOVWF PORTB
CALL RETARDO
CLRF PORTB
GOTO BOTON
RETARDO NOP
MOVLW CTE ;MUEVE LA CONSTANTE A W
MOVWF I ;MUEVE LO QUE HAY EN W AL REGISTRO I
OTRO3 MOVLW CTE ;MUEVE LA CONSTANTE A W
MOVWF J ;MUEVE LO QUE HAY EN W AL REGISTRO J
OTRO2 MOVLW CTE ;MUEVE LA CONSTANTE A W
MOVWF K ;MUEVE LO QUE HAY EN W AL REGISTRO K
NUEVO NOP ;TAG
DECFSZ K,F ;DECREMENTA EN 1 EL REGISTRO INDICADO
GOTO NUEVO ;REGRESA AL TAG
NUEVO2 NOP ;TAG
DECFSZ J,F ;DECREMENTA EN 1 EL REGISTRO INDICADO
GOTO OTRO2 ;REGRESA AL TAG
DECFSZ I,F ;DECREMENTA EN 1 EL REGISTRO INDICADO
GOTO OTRO3 ;REGRESA AL TAG
RETURN
END

También podría gustarte