You are on page 1of 4

;**************** COMENTARIO **************************************

;**************** PIC UTILIZADO EN EL PROYECTO ********************


; Se utiliza un micro: 16f84A
List p=16f84a
;**************** CONFIGURACION DEL PIC ***************************
__Config 009H ; doble linea, como quiero que funcione el
micro desde el punto de vista del harward; el 00 es el codigo de proteccion
; TIPO DE CRISTAL: XT FRECUENCIA: 4MHz
; PERRO GUARDIAN: NO
; PROTECCION DE CODIGO: SI
;**************** DEFINICION DE IGUALDADES ************************
;EQU significa igualdad
W EQU 00 ;Registro de Trabajo
F EQU 01 ;Regitro de Dir. Indirecto
PORTA EQU 05 ;Registro del Puerto A
PORTB EQU 06 ;Registro del Puerto B
STATUS EQU 03 ;Estatus del micro
RP0 EQU 05 ;Seleccionador de Banco el 05 es
porque el RPO esta en el bit 05 y el RP1 esta en el 06
TIEMPO EQU 0C ;Variables que se utilizan
TIEMPO2 EQU 0D
TIEMPO3 EQU 0E
;**************** VECTOR DE RESET *********************************
ORG 00 ;Direccion del vector Reset memoria flas
h
GOTO INICIO ;Salte a Inicio, si no le pongo el micro
se queda reseteado y no reinicia.
;**************** INICIALIZACION **********************************
ORG 05 ;El programa arranca despues del reset,
se resetea, s eva a la linea 00 y se salta a la linea 05.
INICIO: bsf STATUS, RP0
clrf PORTA ;El Puerto A se configura como salida
CLRF PORTB
bcf STATUS, RP0 ;como Puerto de Salida, me paso
de nuevo al banco 0
;**************** PROGRAMA PRINCIPAL ******************************
BUCLE

CALL DEC2
GOTO BUCLE
;--------------------------------------------------

DEC2 clrf TIEMPO3


movlw D'2'
movwf TIEMPO3
LETRAB
movlw b'11111111' ;CARGO
movwf PORTB
CALL RETRASO2
movlw b'11111101' ;CARGO
movwf PORTB
CALL RETRASO2
movlw b'10000001' ;CARGO
movwf PORTB
CALL RETRASO2

movlw b'11011101' ;CARGO


movwf PORTB
CALL RETRASO2
movlw b'11111111' ;CARGO
movwf PORTB
CALL RETRASO2 ;TERMINA EL CERO
PRIMERA MATRIZ

movlw b'11000011' ;CARGO


movwf PORTB
CALL RETRASO2
movlw b'10111101' ;CARGO
movwf PORTB
CALL RETRASO2
movlw b'10111101' ;CARGO
movwf PORTB
CALL RETRASO2
movlw b'10111101' ;CARGO
movwf PORTB
CALL RETRASO2
movlw b'11000011' ;CARGO
movwf PORTB
CALL RETRASO2 ;TERMINA EL CERO
SEGUNDA MATRIZ
movlw b'11111111' ;LIMPIO
movwf PORTB

CALL RETARDO3

decfsz TIEMPO3,1
goto LETRAB
return
;----------------------------------------------------
;-------------------------------------------------------tiempo de los leds que c
onforman el numero---------------------------------------
;RETRASO1: ;clrf TIEMPO
;movlw D'1'
;movwf TIEMPO
;RET ;decfsz TIEMPO,1 ; decrementa la variable en 1
; CALL RETRASO2
;decfsz TIEMPO,1
;goto RET
; return
RETRASO2: ;clrf TIEMPO2
; movlw D'1'
; movwf TIEMPO2
;RETA ;decfsz TIEMPO2,1 ; decrementa la variable en 1
BSF PORTB,7
BSF PORTA,0
CALL ENCEDIDO
BCF PORTB,7
BCF PORTA,0
CALL ENCEDIDO
;BSF PORTB,7
;BCF PORTB,7
; decfsz TIEMPO2,1
; goto RETA
return
RETARDO3
; clrf TIEMPO3
; movlw D'100'
; movwf TIEMPO3
BCF PORTA,0
BCF PORTB,7
CALL ENCEDIDO
BSF PORTA,0
BSF PORTB,7
CALL ENCEDIDO
;BCF PORTB,7
;RETAD
; BCF PORTA,0
; BSF PORTA,0
; decfsz TIEMPO3,1
; goto RETAD

RETURN
ENCEDIDO
clrf TIEMPO2
movlw D'10'
movwf TIEMPO2
ENCE
BSF PORTA,0
BCF PORTA,0
BSF PORTA,0
BCF PORTA,0
decfsz TIEMPO2,1
goto ENCE
RETURN
;-------------------------------------------------------------------------------
----------------------------------------------------------
END

You might also like