You are on page 1of 16

LIST P=16F877A

INCLUDE <P16F877A.INC>

;DECLARACION DE VARIABLES A UTILIZAR

CO EQU B'11110000'

CBLOCK 0x25 ;asigna espacio de mamoria en orden desde el 25 a odas las variables

TE,N1,N2,N3,N4,N5,N6,N7,VAL1,VAL2,VAL3,VAL4,VAL5,VAL6,R1,R2,R3,R4,R5,R6,CONT,CON,CON1,C
ON2 ;CAMBIAR VARIABLES

ENDC

T1 EQU 0x24

T2 EQU 0x23

ORG 00

GOTO INICIO

ORG 05

;dECLARAMOS SALIDAS Y ENTRADAS DEL PIC SEGUN NUESTRAS NESESIDADES

INICIO

bsf STATUS,RP0

bcf OPTION_REG,NOT_RBPU

movlw B'11110000'

movwf TRISB

clrf TRISC

clrf TRISD

bcf STATUS,RP0

CLRF PORTB

CLRF PORTC
MOVLW H'FF'

MOVWF PORTD

CLRF CONT

CLRF N1

CLRF N2

CLRF N3

CLRF N4

CLRF N5

CLRF N6

CLRF N7

;PROGRAMA PRINCIPAL

PRINCIPAL

CALL TECLADO

GOTO PRINCIPAL

;SUBRUTINA DE TECLADO

TECLADO

movlw CO

movwf TRISB

SIGUE

CALL RETARDO

MOVFW TRISB

SUBLW CO

BTFSS STATUS,Z

GOTO SIGUE

ORDEN

CLRF TE ;tecla
MOVLW B'00001110'

MOVWF PORTB

;VISUALIZA EN LOS DISPLAYS

CALL NS0

CALL RETARDO

CALL NS1

CALL RETARDO

CALL NS2

CALL RETARDO

CALL NS3

CALL RETARDO

;_________________________________

COLUMN

BTFSS PORTB,4

GOTO VISUALIZAR

INCF TE,F

BTFSS PORTB,5

GOTO VISUALIZAR

INCF TE,F

BTFSS PORTB,6

GOTO VISUALIZAR

INCF TE,F

BTFSS PORTB,7

GOTO VISUALIZAR
INCF TE,F

MOVLW d'16'

SUBWF TE,W

BTFSC STATUS,Z

GOTO ORDEN

BSF STATUS,C

RLF PORTB,F

GOTO COLUMN

;SUBRUTINA DE ALMACENAR NUMEROS

VISUALIZAR

MOVF TE,W

CALL TABLA

;MOVWF CON

MOVLW 0H

;SUBWF CON,W

BTFSC STATUS,Z

GOTO NU1

INCF CONT,F

MOVLW D'1'

SUBWF CONT,W

BTFSC STATUS,Z

CALL NU1O1

MOVLW D'2'

SUBWF CONT,W

BTFSC STATUS,Z

CALL NU1O2

MOVLW D'3'
SUBWF CONT,W

BTFSC STATUS,Z

CALL NU1O3

MOVLW D'4'

SUBWF CONT,W

BTFSC STATUS,Z

CALL NU1O4

MOVLW D'5'

SUBWF CONT,W

BTFSC STATUS,Z

CALL NU1O5

MOVLW D'6'

SUBWF CONT,W

BTFSC STATUS,Z

CALL NU1O6

MOVLW D'7'

SUBWF CONT,W

BTFSC STATUS,Z

CLRF CONT

NU1

RETURN

;ALMACENA NUMEROS EN OTRAS VARIABLES

NU1O1

MOVF TE,W
CALL TABLA

MOVWF N1

MOVF TE,W

CALL TABLA1

MOVWF VAL1

NS0

MOVFW N1

BSF PORTD,2

MOVWF PORTC

BCF PORTD,5

RETURN

NU1O2

MOVF TE,W

CALL TABLA

MOVWF N2

MOVF TE,W

CALL TABLA1

MOVWF VAL2

CALL DESPLAZAR2

NS1

MOVFW N2

BSF PORTD,5

MOVWF PORTC

BCF PORTD,4

RETURN

NU1O3

MOVF TE,W

CALL TABLA

MOVWF N3
MOVF TE,W

CALL TABLA1

MOVWF VAL3

CALL DESPLAZAR3

NS2

MOVFW N3

BSF PORTD,4

MOVWF PORTC

BCF PORTD,3

RETURN

NU1O4

MOVF TE,W

CALL TABLA

MOVWF N4

MOVF TE,W

CALL TABLA1

MOVWF VAL4

CALL DESPLAZAR4

NS3

MOVFW N4

BSF PORTD,3

MOVWF PORTC

BCF PORTD,2

RETURN

NU1O5

MOVF TE,W

CALL TABLA

MOVWF N5
MOVF TE,W

CALL TABLA1

MOVWF VAL5

CALL DESPLAZAR5

NU1O6

MOVF TE,W

CALL TABLA

MOVWF N6

MOVF TE,W

CALL TABLA1

MOVWF VAL6

CALL DESPLAZAR6

;___________________________

TABLA

ADDWF PCL,F

DT 7H,7FH,67H,77H

DT 66H,6DH,7DH,7CH

DT 06H,5BH,4FH,39H

DT 71H,3FH,79H,5EH

RETURN

TABLA1

ADDWF PCL,F

DT D'7',D'8',D'9',D'0'

DT D'4',D'5',D'6',D'0'

DT D'1',D'2',D'3',D'0'

DT D'0',D'0',D'0',D'0'

RETURN
;NUEVOS VALORES PARA LOS DISPLAYS

TABLA2

MOVWF CON2

MOVLW D'0'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO ZERO

GOTO ZERO1

ZERO

MOVLW 3FH

RETURN

ZERO1

;________________________

MOVLW D'1'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO UNO

GOTO UNO1

UNO

MOVLW 06H

RETURN

UNO1

;___________________________

MOVLW D'2'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO DOS

GOTO DOS1

DOS

MOVLW 5BH
RETURN

DOS1

;________________________

MOVLW D'3'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO TRES

GOTO TRES1

TRES

MOVLW 4FH

RETURN

TRES1

;________________________

MOVLW D'4'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO CUATRO

GOTO CUATRO1

CUATRO

MOVLW 66H

RETURN

CUATRO1

;________________________

MOVLW D'5'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO CINCO

GOTO CINCO1

CINCO

MOVLW 6DH

RETURN
CINCO1

;________________________

MOVLW D'6'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO SEIS

GOTO SEIS1

SEIS

MOVLW 7DH

RETURN

SEIS1

;________________________

MOVLW D'7'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO SIETE

GOTO SIETE1

SIETE

MOVLW 7H

RETURN

SIETE1

;________________________

MOVLW D'8'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO OCHO

GOTO OCHO1

OCHO

MOVLW 7FH

RETURN

OCHO1
;________________________

MOVLW D'9'

SUBWF CON2,W

BTFSC STATUS,Z

GOTO NUEVE

GOTO NUEVE1

NUEVE

MOVLW 67H

RETURN

NUEVE1

;________________________

RETURN

;SE REALIZA EL DESPLAZAMIENTO DE VALORES EN EL DISPLAYS

DESPLAZAR6

MOVFW N5

MOVWF CON1

MOVFW N4

MOVWF N5

MOVFW N3

MOVWF N4

MOVFW N2

MOVWF N3

MOVFW N1

MOVWF N2

MOVFW N6

MOVWF N1

MOVFW CON1

MOVWF N6
MOVFW VAL5

MOVWF CON1

MOVFW VAL4

MOVWF VAL5

MOVFW VAL3

MOVWF VAL4

MOVFW VAL2

MOVWF VAL3

MOVFW VAL1

MOVWF VAL2

MOVFW VAL6

MOVWF VAL1

MOVFW CON1

MOVWF VAL6

RETURN

DESPLAZAR5

MOVFW N4

MOVWF CON1

MOVFW N3

MOVWF N4

MOVFW N2

MOVWF N3

MOVFW N1

MOVWF N2

MOVFW N5

MOVWF N1

MOVFW CON1

MOVWF N5
MOVFW VAL4

MOVWF CON1

MOVFW VAL3

MOVWF VAL4

MOVFW VAL2

MOVWF VAL3

MOVFW VAL1

MOVWF VAL2

MOVFW VAL5

MOVWF VAL1

MOVFW CON1

MOVWF VAL5

RETURN

DESPLAZAR4

MOVFW N3

MOVWF CON1

MOVFW N2

MOVWF N3

MOVFW N1

MOVWF N2

MOVFW N4

MOVWF N1

MOVFW CON1

MOVWF N4

MOVFW VAL3

MOVWF CON1

MOVFW VAL2

MOVWF VAL3

MOVFW VAL1
MOVWF VAL2

MOVFW VAL4

MOVWF VAL1

MOVFW CON1

MOVWF VAL4

RETURN

DESPLAZAR3

MOVFW N2

MOVWF CON1

MOVFW N1

MOVWF N2

MOVFW N3

MOVWF N1

MOVFW CON1

MOVWF N3

MOVFW VAL2

MOVWF CON1

MOVFW VAL1

MOVWF VAL2

MOVFW VAL3

MOVWF VAL1

MOVFW CON1

MOVWF VAL3

RETURN

DESPLAZAR2

MOVFW N1

MOVWF CON1

MOVFW N2
MOVWF N1

MOVFW CON1

MOVWF N2

MOVFW VAL1

MOVWF CON1

MOVFW VAL2

MOVWF VAL1

MOVFW CON1

MOVWF VAL2

RETURN

;SUBRUTINA DE RETARDO

RETARDO:

BUCLE3: decfsz T1,1

goto BUCLE4

BUCLE4: decfsz T2,1

goto BUCLE3

return

END

You might also like