Está en la página 1de 3

;ZONA DE DATOS

LIST
P=18F4550
INCLUDE"P18F4550.INC"
CONT2
CONT1
CONT0
CONT5
CONT4
CONT3
SWEEP
KARLA

EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

0X00
0X01
0X02
0X00
0X01
0X02
0X03
0X04

ORG
goto
ORG

0X00
INICIO
0X01A

; CONFIGURACION DE REGISTROS DE PROPOSITO DE REGISTRO ESPECIAL


INICIO

MOVLW
MOVWF
MOVLW
MOVWF
MOVLW

0X0F
ADCON1 ; HABILITAMOS E/S DIGITALES
0X00
ADCON0 ; DESAVILITAMOS ADC
0X07 ; DESABILITAMOS LOS COMPADORES

; PROGRAMA PRINCIPAL
; BOTON 1 CONTEO DE BITS DE LEDS HACIA LA DERECHA
CLRF
PORTB ;Limpia los posibles valores actuales de PORTB
CLRF
TRISB ;Configura TRISB
movlw 0x01
;Entrada RD0 de habilita
cin en PORTD
MOVWF TRISD ;Configura TRISD =>=>
CALL
RETARDO
;Esperar un tiempo
RRNCF SWEEP, F
;Rotar hacia la Derecha y Guardar en Sweep
MOVFF SWEEP, PORTB
;Mover el valor de Sweep a PORTB
BTFSS PORTD, 0
;Salta si RD0 = 1, Cambio <==
bra
MoveRight ;Re
petir Ciclo >=>=>
SETF TRISD
CLRF TRISB
BSF PORTB,0
CALL RETARDO
BCF PORTB, 0
CALL RETARDO
BSF PORTB,1
CALL RETARDO

;PRENDO EL LED1
;ESPERO UN SEGUNDO Y LUEGO
;APAGO EL LED1
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED2
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUE

BCF PORTB, 1
CALL RETARDO
BSF PORTB,2
CALL RETARDO

;APAGO EL LED2
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED3
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 2
CALL RETARDO
BSF PORTB,3
CALL RETARDO

;APAGO EL LED3
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED4
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUE

GO

EGO

GO
BCF PORTB, 3

;APAGO EL LED4

CALL RETARDO
BSF PORTB,4
CALL RETARDO

;ESPERO UN SEGUNDO Y LUEGO


;PRENDO EL LED5
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUE

BCF PORTB, 4
CALL RETARDO
BSF PORTB,5
CALL RETARDO

;APAGO EL LED5
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED6
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUE

BCF PORTB, 5
CALL RETARDO
BSF PORTB,6
CALL RETARDO

;APAGO EL LED6
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED7
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 6
CALL RETARDO
BSF PORTB,7
CALL RETARDO

;APAGO EL LED7
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED8
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 7
CALL RETARDO
GOTO INICIO

;APAGO EL LED8
;ESPERO UN SEGUNDO Y LUEGO

GO

GO

EGO

EGO

; BOTON DOS CORRIMIENTO DE BIST PARA LOS LEDS HACIA LA IZQUIERDA


SETF
TRISA
;Limpia los posibles valores actuales de PORTD
CLRF
TRISB
;Configura TRISB
movlw 0x01
;Entrada RD de habil
itacin en PORTD
MOVLW 0X01
MOVWF TRISA
;Configura TRISA>=>
CALL
RETARDO
;Esperar un tiempo
RLNCF KARLA, F
;Rotar hacia la Izquierda y Guardar en Karla
MOVFF KARLA, PORTB
;Mover el valor de Karla a PORTB
BTFSS PORTA,0
;Salta si RD = 1, Cambio <==
bra
MoveRight ;Repe
tir Ciclo >=>=>
SETF
TRISA
CLRF TRISB
CALL RETARDO
BSF PORTB,7
CALL RETARDO

;ESPERO UN SEGUNDO Y LUEGO


;PRENDO EL LED8
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 7
CALL RETARDO
BSF PORTB,6
CALL RETARDO

;APAGO EL LED8
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED7
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 6
CALL RETARDO
BSF PORTB,5
CALL RETARDO

;APAGO EL LED7
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED6
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 5
CALL RETARDO
BSF PORTB,4
CALL RETARDO

;APAGO EL LED6
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED5
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

EGO

EGO

EGO

EGO
BCF PORTB, 4

;APAGO EL LED5

CALL RETARDO
BSF PORTB,3
CALL RETARDO

;ESPERO UN SEGUNDO Y LUEGO


;PRENDO EL LED4
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 3
CALL RETARDO
BSF PORTB,2
CALL RETARDO

;APAGO EL LED4
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED3
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 2
CALL RETARDO
BSF PORTB,1
CALL RETARDO

;APAGO EL LED3
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED2
;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LU

BCF PORTB, 1
CALL RETARDO
BSF PORTB,0
CALL RETARDO
BCF PORTB, 0

;APAGO EL LED2
;ESPERO UN SEGUNDO Y LUEGO
;PRENDO EL LED1
;ESPERO UN SEGUNDO Y LUEGO
;APAGO EL LED1

EGO

EGO

EGO

RETARDO MOVLW 0X1F ;N2


MOVWF CONT2
RET2
MOVLW 0X64 ;N1
MOVWF CONT1
RET1
MOVLW 0X64 ;N0
MOVWF CONT0
RET0
DECFSZ CONT0,1
goto RET0
DECFSZ CONT1,1
goto RET1
DECFSZ CONT2,1
goto RET2
RETURN
END

También podría gustarte