ESPERO LES SEA DE UTILIDAD.
PRONTO VENDRÁN MÁS CÓDIGOS.
SOLO LO COPIAN Y LO PEGAN EN BLOC DE NOTAS Y YA SABRÁN QUE HACER CON ÉL.(no se preocupen al copiarlo, pues solo lo seleccionan, copian y pegan en el bloc de notas y listos, si algo, lo editan en el bloc de notas, lo unico que puede fallar son los espaciados sangría.)
EL VÍDEO LO ENCUENTRA EN:
http://www.youtube.com/watch?v=NxSwz_gFb8Q
PARA COLOCAR ESTOS ARCHIVOS EN SUS PÁGINAS CITE POR FAVOR LA FUENTE Y EL AUTOR.
EL AUTOR NO ES RESPONSABLE DEL MAL USO DE ESTE MATERIAL.
;------------------------------------------------------------
;------------------------------------------------------------
;<<<<<<<<<<<<<<<<
;<<<<<<<<<<<
;------------------------------------------------------------
;------------------------------------------------------------
;<<<<<<<<8 SECUENCIAS DE 8 LEDS DISTINTAS SEGUIDAS EN UN PIC 16F84A>>>>>>>>>>>>>>
;------------------------------------------------------------
;------------------------------------------------------------
LIST P=16F84A ;PIC A UTILIZAR
#INCLUDE
RADIX HEX ;CONVERTIR TODOS LOS VALORES A HEXADECIMAL
CONT EQU 0X0C ;REGISTROS DE PROPÓSITO GENERAL
CONT2 EQU 0X0D ;PARA ALMACENAR LOS VALORES
CONT3 EQU 0X0E ;PARA EL CONTADOR
ORG 0 ;VECTOR RESET DEL PIC UTILIZADO
GOTO INICIO ;EN CASO DE RESET EL PIC EMPIEZA A TRABAJAR EN LA ETIQUETA INICIO
ORG 5 ;LA MEMORIA DE TRABAJO SE EMPIEZA DESDE LA POSICIÓN 5 O 0X05H
INICIO
BSF STATUS,RP0 ;ACCEDEMOS AL BANCO 1 DE CONFIGURACION DE PUERTOS
MOVLW B'00000000' ;CONFIGURAMOS LAS 8 LÍNEAS DEL PUERTO B COMO SALIDA
MOVWF TRISB ;......................................................
MOVLW B'11111' ;CARGAMOS 5 UNOS LÓGICOS EN W, CORRESPONDIENTES A LAS 5 LINEAS DEL PUERTO A
MOVWF TRISA ;LLEVAMOS EL CONTENIDO DE W AL REGISTRO TRISA CORRESPONDIENTE AL PUERTO A, QUIEN LO CONFIGURAMOS COMO ENTRADA
BCF STATUS,RP0 ;ACCEDEMOS AL BANCO 0 DE CÓDIGO DEL PROGRAMA
;SECUENCIAS DE ENCENDIDO DE LOS LED´S
SECUENCIA1 CLRF PORTB
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,0 ;PRENDO EL LED1
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,1 ;PRENDO EL LED2
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,2 ;PRENDO EL LED3
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,3 ;PRENDO EL LED4
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,4 ;PRENDO EL LED5
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,5 ;PRENDO EL LED6
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,6 ;PRENDO EL LED7
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,7 ;PRENDO EL LED8
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
SECUENCIA2 CLRF PORTB
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,7 ;PRENDO EL LED8
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,6 ;PRENDO EL LED7
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,5 ;PRENDO EL LED6
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,4 ;PRENDO EL LED5
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,3 ;PRENDO EL LED4
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,2 ;PRENDO EL LED3
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,1 ;PRENDO EL LED2
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,0 ;PRENDO EL LED1
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
SECUENCIA3 CLRF PORTB
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,0 ;PRENDO EL LED1
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,2 ;PRENDO EL LED3
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,4 ;PRENDO EL LED5
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,6 ;PRENDO EL LED7
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
SECUENCIA4 CLRF PORTB
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,7 ;PRENDO EL LED8
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,5 ;PRENDO EL LED6
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,3 ;PRENDO EL LED4
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BSF PORTB,1 ;PRENDO EL LED2
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
SECUENCIA5 CLRF PORTB
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,0 ;PRENDO EL LED1
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BCF PORTB, 0 ;APAGO EL LED1
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,1 ;PRENDO EL LED2
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 1 ;APAGO EL LED2
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,2 ;PRENDO EL LED3
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 2 ;APAGO EL LED3
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,3 ;PRENDO EL LED4
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 3 ;APAGO EL LED4
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,4 ;PRENDO EL LED5
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 4 ;APAGO EL LED5
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,5 ;PRENDO EL LED6
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 5 ;APAGO EL LED6
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,6 ;PRENDO EL LED7
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 6 ;APAGO EL LED7
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,7 ;PRENDO EL LED8
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 7 ;APAGO EL LED8
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
SECUENCIA6 CLRF PORTB
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,7 ;PRENDO EL LED8
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 7 ;APAGO EL LED8
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,6 ;PRENDO EL LED7
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 6 ;APAGO EL LED7
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,5 ;PRENDO EL LED6
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 5 ;APAGO EL LED6
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,4 ;PRENDO EL LED5
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 4 ;APAGO EL LED5
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,3 ;PRENDO EL LED4
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 3 ;APAGO EL LED4
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,2 ;PRENDO EL LED3
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 2 ;APAGO EL LED3
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,1 ;PRENDO EL LED2
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 1 ;APAGO EL LED2
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,0 ;PRENDO EL LED1
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BCF PORTB, 0 ;APAGO EL LED1
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
SECUENCIA7 CLRF PORTB
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,0 ;PRENDO EL LED1
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BCF PORTB, 0 ;APAGO EL LED1
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,2 ;PRENDO EL LED3
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 2 ;APAGO EL LED3
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,4 ;PRENDO EL LED5
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 4 ;APAGO EL LED5
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,6 ;PRENDO EL LED7
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 6 ;APAGO EL LED7
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
SECUENCIA8 CLRF PORTB
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,7 ;PRENDO EL LED8
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 7 ;APAGO EL LED8
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,5 ;PRENDO EL LED6
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 5 ;APAGO EL LED6
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,3 ;PRENDO EL LED4
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 3 ;APAGO EL LED4
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
BSF PORTB,1 ;PRENDO EL LED2
CALL UNSEGUNDO ;LO MANTENGO ENCENDIDO POR UN SEGUNDO Y LUEGO
BCF PORTB, 1 ;APAGO EL LED2
CALL UNSEGUNDO ;ESPERO UN SEGUNDO Y LUEGO
FINSECUENCIAS CLRF PORTB
CALL UNSEGUNDO
BSF PORTB,0
BSF PORTB,1
BSF PORTB,2
BSF PORTB,3
BSF PORTB,4
BSF PORTB,5
BSF PORTB,6
BSF PORTB,7
CALL UNSEGUNDO
CLRF PORTB
CALL UNSEGUNDO
BSF PORTB,0
BSF PORTB,1
BSF PORTB,2
BSF PORTB,3
BSF PORTB,4
BSF PORTB,5
BSF PORTB,6
BSF PORTB,7
CALL UNSEGUNDO
CLRF PORTB
GOTO SECUENCIA1
;SUBRUTINA DE RETARDO DE 1 SEGUNDO
UNSEGUNDO MOVLW .100
MOVWF CONT3
CICLO3 MOVLW .97
MOVWF CONT2
CICLO2 MOVLW .33
MOVWF CONT
CICLO DECFSZ CONT,F
GOTO CICLO
DECFSZ CONT2,F
GOTO CICLO2
DECFSZ CONT3,F
GOTO CICLO3
RETURN
END ;FINALIZA EL PROGRAMA
Este comentario ha sido eliminado por el autor.
ResponderEliminarhola amigo, me gusto lo que hiciste, me podrias decir como se le puede hacer que por medio de una interrupcion externa(dip-switch) se escogiera una secuencia.
ResponderEliminarsi me puedes decir te lo aagradeceria mucho...