Está en la página 1de 3

LIST P=16F84a ;INDICAMOS QUE PIC SE VA A UTILIZAR #INCLUDE <p16F84a.

inc> ;INDICA LA LIBRERIA DEL PIC EN LA CUAL YA SE T IENE LOS REGISTROS ESPECIALES Y OTRAS COSAS ;LO CUAL NOS AYUDA EN LA PROGRAMACION YA QUE N O SOTRO YA LO TENEMOS QUE REALIZAR __Config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ;CONFIGURA LOS FUSIBLE S DEL PIC CBLOCK 0X0C ;AQUI SE DEFINEN LAS VARIABLES PDel0 ;QUE SE UTILIZAN EN EL RETARDO PDel1 ENDC #DEFINE BUS_LEDS PORTB ;SE SOBRENOMBRAN LOS PINES #DEFINE BOTON1 PORTA,0 ;QUE UTILIZAMOS EN EL PIC #DEFINE BOTON2 PORTA,1 ;NO ES NECESARIO PERO LE DA MAS #DEFINE BOTON3 PORTA,2 ;PERO LE DA MEJOR VISTA AL PROGRAMA ;-----------------------------------------------------------------------------;CONFIGURACION DE ENTRADAS Y SALIDAS ;1 INDICA QUE VA A SER ENTRADA ;0 INDICA QUE VA A SER SALIDA ORG 0 ;ES EL ORIGEN DEL PROGRAMA BSF STATUS,RP0 ;NOS PASAMOS AL BANCO 1 PARA INDICAR I/S CLRF BUS_LEDS ;LIMPIAMOS EL PUERTOS B PARA QUE SEA SALIDA BCF STATUS,RP0 ;REGRESAMOS AL BANCO 0 PARA PODER TRABAJAR ;-----------------------------------------------------------------------------;COMIENZA NUESTRO PROGRAMA ;SEGUN EL BOTON QUE PRESIONEMOS SE VA A BRINCAR A LA ETIQUETAQUE QUERRAMOS(NO SE COMO SE ESCRIBE QUERRAMOS O QUERAMOS) INICIO: CLRF BUS_LEDS ;LIMPIAMOS EL PORTB YA QUE NOSSABEMOS QUE ESTADO TIE NE ;ESTAS SON LAS ETIQUETAS LAS CUALES CON TIENEN LAS SECUENCIAS A REALIZAR PARPADEO_1: MOVLW b'10000001' ;CARGA EL VALOR INDICADO EN W (COMO EN ESTE CASO VAM OS A PRENDER LEDS ES MEJOR TRABAJARLO EN BINARIO) MOVWF BUS_LEDS ;MOEVE LO QUE TIENE W A LA SALIDA BUS_LEDS (LOS QUE SON UNOS SE PRENDERAN Y LOS QUE SON CEROS SE QUDARAN APAGADOS) CALL RETARDO ;LLAMAMOS AL TETARDOY CUANDO TERMINE ESTE SE CONTINU ARA CON LA SIGUIENTE LINEA CLRF BUS_LEDS ;LIMPIAMOS BUS_LEDS (LO PONEMOS TODOS EN CERO) CALL RETARDO ;LLAMAMOS NUEVAMENTE EL RETARDO MOVLW b'11000011' ;SE VUELVE A REPETIR EL MISMO PROCEDIMIENTO MOVWF BUS_LEDS CALL RETARDO CLRF BUS_LEDS CALL RETARDO MOVLW b'11100111' MOVWF BUS_LEDS CALL RETARDO CLRF BUS_LEDS CALL RETARDO MOVLW b'11111111' MOVWF BUS_LEDS CALL RETARDO CLRF BUS_LEDS CALL RETARDO

GOTO PARPADEO_2: MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL GOTO PARPADEO_3: MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL MOVLW MOVWF CALL CLRF CALL MOVLW

INICIO b'10000000' BUS_LEDS RETARDO BUS_LEDS RETARDO b'11000000' BUS_LEDS RETARDO BUS_LEDS RETARDO b'11100000' BUS_LEDS RETARDO BUS_LEDS RETARDO b'11110000' BUS_LEDS RETARDO BUS_LEDS RETARDO b'11111000' BUS_LEDS RETARDO BUS_LEDS RETARDO b'11111100' BUS_LEDS RETARDO BUS_LEDS RETARDO b'11111110' BUS_LEDS RETARDO BUS_LEDS RETARDO b'11111111' BUS_LEDS RETARDO BUS_LEDS RETARDO INICIO b'00000001' BUS_LEDS RETARDO BUS_LEDS RETARDO b'00000011' BUS_LEDS RETARDO BUS_LEDS RETARDO b'00000111' BUS_LEDS RETARDO BUS_LEDS RETARDO b'00001111'

MOVWF BUS_LEDS CALL RETARDO CLRF BUS_LEDS CALL RETARDO MOVLW b'00011111' MOVWF BUS_LEDS CALL RETARDO CLRF BUS_LEDS CALL RETARDO MOVLW b'00111111' MOVWF BUS_LEDS CALL RETARDO CLRF BUS_LEDS CALL RETARDO MOVLW b'01111111' MOVWF BUS_LEDS CALL RETARDO CLRF BUS_LEDS CALL RETARDO MOVLW b'11111111' MOVWF BUS_LEDS CALL RETARDO CLRF BUS_LEDS CALL RETARDO GOTO INICIO ;----------------------------------------------------------------------------;ESTE ES EL RETARDO PARA QUE LE ENTIENDAS MAS BUSCA LAZOS ANIDADOS EN ENSAMBLAD OR ;PARA PODER ENTENDERLE MEJOR ;Y SI NO ENTIENDES COMO UTILIZARLO PARA HACER UN RETARDO ;DESCAGA EL PROGRAMA PICDEL PARA REALIZAR LOS RETARDOS RETARDO: movlw .239 movwf PDel0 PLoop1 movlw .232 movwf PDel1 PLoop2 clrwdt PDelL1 goto PDelL2 PDelL2 goto PDelL3 PDelL3 clrwdt decfsz PDel1, 1 goto PLoop2 decfsz PDel0, 1 goto PLoop1 PDelL4 goto PDelL5 PDelL5 goto PDelL6 PDelL6 goto PDelL7 PDelL7 clrwdt return END

También podría gustarte