ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
LIST P=16F84A
INCLUDE<P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
CBLOCK 0X0C
ENDC
#DEFINE LED1 PORTB,0
#DEFINE LED2 PORTB,1
#DEFINE LED3 PORTB,2
#DEFINE LED4 PORTB,3
#DEFINE LED5 PORTB,4
#DEFINE LED6 PORTB,5
#DEFINE SELECTOR_1 PORTA,0
#DEFINE SELECTOR_2 PORTA,1
ORG 0
INICIO
BSF STATUS,5; ir al banco
BCF LED1 ; salida poniendo a cero
BCF LED2
BCF LED3
BCF LED4
BCF LED5
BCF LED6
BSF SELECTOR_1
BSF SELECTOR_2
BCF STATUS,5 ; volver al banco 0
CLRF PORTB ;limpiar el puertoB
PRINCIPAL
CALL Retardo_10ms
BTFSC SELECTOR_1 ; posicion del selector
GOTO PRINCIPAL
LAZO MOVF PORTA,W ; se toma el valor del puerto
ANDLW B'00000011' ; filtra los dos valores
ADDWF PCL,F ; suma con el PCL y se obtine la pos tabla
TABLA GOTO MINIMO
GOTO LAZO
GOTO MAXIMO
GOTO LAZO
MINIMO
CALL INYECTOR_1
CALL Retardo_1s
CALL INYECTOR_5
CALL Retardo_1s
CALL INYECTOR_3
CALL Retardo_1s
CALL INYECTOR_6
CALL Retardo_1s
CALL INYECTOR_2
CALL Retardo_1s
CALL INYECTOR_4
CALL Retardo_1s
GOTO PRINCIPAL
MAXIMO
CALL INYECTOR_1
CALL Retardo_100ms
CALL INYECTOR_5
CALL Retardo_100ms
CALL INYECTOR_3
CALL Retardo_100ms
CALL INYECTOR_6
CALL Retardo_100ms
CALL INYECTOR_2
CALL Retardo_100ms
CALL INYECTOR_4
CALL Retardo_100ms
GOTO PRINCIPAL
INYECTOR_1
BSF LED1
BCF LED2
BCF LED3
BCF LED4
BCF LED5
BCF LED6
RETURN
INYECTOR_2
BCF LED1
BSF LED2
BCF LED3
BCF LED4
BCF LED5
BCF LED6
RETURN
INYECTOR_3
BCF LED1
BCF LED2
BSF LED3
BCF LED4
BCF LED5
BCF LED6
RETURN
INYECTOR_4
BCF LED1
BCF LED2
BCF LED3
BSF LED4
BCF LED5
BCF LED6
RETURN
INYECTOR_5
BCF LED1
BCF LED2
BCF LED3
BCF LED4
BSF LED5
BCF LED6
RETURN
INYECTOR_6
BCF LED1
BCF LED2
BCF LED3
BCF LED4
BCF LED5
BSF LED6
RETURN
INCLUDE <RETARDOS.INC>
END

More Related Content

Codigo 6leds

  • 1. LIST P=16F84A INCLUDE<P16F84A.INC> __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC CBLOCK 0X0C ENDC #DEFINE LED1 PORTB,0 #DEFINE LED2 PORTB,1 #DEFINE LED3 PORTB,2 #DEFINE LED4 PORTB,3 #DEFINE LED5 PORTB,4 #DEFINE LED6 PORTB,5 #DEFINE SELECTOR_1 PORTA,0 #DEFINE SELECTOR_2 PORTA,1 ORG 0 INICIO BSF STATUS,5; ir al banco BCF LED1 ; salida poniendo a cero BCF LED2 BCF LED3 BCF LED4 BCF LED5 BCF LED6 BSF SELECTOR_1 BSF SELECTOR_2 BCF STATUS,5 ; volver al banco 0 CLRF PORTB ;limpiar el puertoB PRINCIPAL CALL Retardo_10ms BTFSC SELECTOR_1 ; posicion del selector GOTO PRINCIPAL LAZO MOVF PORTA,W ; se toma el valor del puerto ANDLW B'00000011' ; filtra los dos valores ADDWF PCL,F ; suma con el PCL y se obtine la pos tabla TABLA GOTO MINIMO GOTO LAZO GOTO MAXIMO GOTO LAZO MINIMO CALL INYECTOR_1 CALL Retardo_1s
  • 2. CALL INYECTOR_5 CALL Retardo_1s CALL INYECTOR_3 CALL Retardo_1s CALL INYECTOR_6 CALL Retardo_1s CALL INYECTOR_2 CALL Retardo_1s CALL INYECTOR_4 CALL Retardo_1s GOTO PRINCIPAL MAXIMO CALL INYECTOR_1 CALL Retardo_100ms CALL INYECTOR_5 CALL Retardo_100ms CALL INYECTOR_3 CALL Retardo_100ms CALL INYECTOR_6 CALL Retardo_100ms CALL INYECTOR_2 CALL Retardo_100ms CALL INYECTOR_4 CALL Retardo_100ms GOTO PRINCIPAL INYECTOR_1 BSF LED1 BCF LED2 BCF LED3 BCF LED4 BCF LED5 BCF LED6 RETURN INYECTOR_2 BCF LED1 BSF LED2 BCF LED3 BCF LED4 BCF LED5 BCF LED6 RETURN INYECTOR_3 BCF LED1 BCF LED2 BSF LED3 BCF LED4 BCF LED5
  • 3. BCF LED6 RETURN INYECTOR_4 BCF LED1 BCF LED2 BCF LED3 BSF LED4 BCF LED5 BCF LED6 RETURN INYECTOR_5 BCF LED1 BCF LED2 BCF LED3 BCF LED4 BSF LED5 BCF LED6 RETURN INYECTOR_6 BCF LED1 BCF LED2 BCF LED3 BCF LED4 BCF LED5 BSF LED6 RETURN INCLUDE <RETARDOS.INC> END