Autor Tema: Secuencias de Luces con Pic16F628A  (Leído 9583 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Gedeon

  • PIC10
  • *
  • Mensajes: 23
Secuencias de Luces con Pic16F628A
« en: 12 de Febrero de 2011, 22:01:47 »
este es un pequeño proyecto que hice espero lo disfruten y les sirva. aparte quisiera un auxilio porque quiero mejorarlo haciendo que estas secuencias puedan causar el efecto estroboscopico pero con leds de alta luminosidad, si alguien gusta o puede prestarme ayuda se lo agradezco.


   LIST P=16F628A
   INCLUDE   <P16F628A.INC>
   __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
   ;_CONFIG   3ff9H  ;   CP OFF, PWRTE DISABLED, WDTE DISABLED, XT OSCILLATOR

   CBLOCK   0CH;      UTILIZAMOS EL CBLOCK PARA  CREAR UNA LISTA DE VARIABLES A PARTIR DE LA DIRECCIÓN 0X0C.SE IRÁN INCREMENTANDO DE 1 EN 1
   R0;         
   R1;         
   R2;
   CONT;
   CONT1;
   ENDC

   ;#DEFINE   Z   STATUS,2
   ;#DEFINE RP0   STATUS,5
   ;#DEFINE   C   STATUS,0

   ORG   00H   ;    COMIENZO DEL PROGRAMA
   GOTO   START
   ORG   0100H;

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;            RETARDOS              <
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

RETARDO;         RETARDO DE APROX 1,18 SEG
   MOVLW   .6
   MOVWF   R2
   MOVLW   .255
   MOVWF   R1
   MOVLW   .255
   MOVWF   R0
   DECFSZ   R0,1
   GOTO   $-1
   DECFSZ   R1,1
   GOTO   $-5
   DECFSZ   R2,1
   GOTO   $-9
   RETURN

RETARDO1;         RETARDO DE APROX 1,57 SEG
   MOVLW   .8
   MOVWF   R2
LOOP2   MOVLW   .255
   MOVWF   R1
LOOP1   MOVLW   .255
   MOVWF   R0
LOOP   DECFSZ   R0,1
   GOTO   LOOP
   DECFSZ   R1,1
   GOTO   LOOP1
   DECFSZ   R2,1
   GOTO   LOOP2
   CALL   VERIFICAR
   RETURN

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;           CONFIGURACIÓN DE LOS PUERTOS I/O        <
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

PORTS
   CLRF   PORTA;      INICIALIZACIÓN DE LOS PUERTOS      
   CLRF   PORTB      
   BSF   STATUS,RP0 ;   SE ACCEDE AL BANCO 1
   MOVLW   B'00011100';
   MOVWF   TRISA;       SE CONFIGURA EL PUERTOA HACIENDO  RA2, RA3 Y RA4 COMO ENTRADAS
;CLRF   TRISB;      COLOCA EL TRISB HACIENDO EL PUERTO B DE SALIDA
   MOVLW   B'00000000'
   MOVWF   TRISB;       SE CONFIGURA EL PUERTOB HACIENDO TODOS SUS PINES DE SALIDA
   BCF   STATUS,RP0;    NOS DEVOLVEMOS AL BANCO 0
   GOTO   PROGRAM

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;                  ¡AQUÍ COMIENZA LO BUENO! =)                <
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<   

START
   CALL   RETARDO;    VERIFICAR SI ESTÁ BIEN UBICADO ESTE RETARDO , POWER ON TIMER ?
   CLRF   CONT;      INICIALIZAMOS EL CONTADOR
   MOVLW   .40
   MOVFW   CONT1
   GOTO   PORTS

PROGRAM
   BTFSc   PORTA,2;   VERIFICAMOS SI ESTÁ EN AUTOMÁTICO (0) Ó MANUAL (1)
   GOTO   AUTO;
   GOTO   MANU;      


;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;              FUNCIONAMIENTO MANUAL           <
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

MANU
   BTFSC   PORTA,3 ;    SE VERIFICA SI HAY UN "1" EN EL PULSADOR INCREMENTAR
   GOTO   SUBIR;
   BTFSC   PORTA,4 ;    SE VERIFICA SI HAY UN "1" EN EL PULSADOR DECREMENTAR
   GOTO   BAJAR;
   GOTO   PROGRAM


VERIFICAR;          VERIFICA SI HAN PULSADO EL PULSADOR MIENTRAS ESTÁ EN LAS SECUENCIAS

   BTFSC   PORTA,3 ;    SE VERIFICA SI HAY UN "1" EN EL PULSADOR INCREMENTAR
   INCF   CONT,1
   BTFSC   PORTA,4 ;    SE VERIFICA SI HAY UN "1" EN EL PULSADOR DECREMENTAR
   DECF   CONT,1
   RETURN

;****************************************************************

BAJAR
   DECF   CONT,1
   CALL   SECUENCIAS
   GOTO   PROGRAM

SUBIR
   INCF   CONT,1
   CALL   SECUENCIAS
   GOTO   PROGRAM

SECUENCIAS
   
   MOVLW   .10
   XORWF   CONT,0
   BTFSC   STATUS,Z;   SE VERIFICA SI EL VALOR OBTENIDO DE LA XOR DA = 0 ó <> 0
   CALL   SECUENCIA10
;
   MOVLW   .9
   XORWF   CONT,0
   BTFSC   STATUS,Z;
   CALL   SECUENCIA9
;
   MOVLW   .8
   XORWF   CONT,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA8
;
   MOVLW   .7
   XORWF   CONT,0
   BTFSC   STATUS,Z;
   CALL   SECUENCIA7
;
   MOVLW   .6
   XORWF   CONT,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA6
;
   MOVLW   .5
   XORWF   CONT,0
   BTFSC   STATUS,Z;
   CALL   SECUENCIA5
;
   MOVLW   .4
   XORWF   CONT,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA4
;
   MOVLW   .3
   XORWF   CONT,0
   BTFSC   STATUS,Z;
   CALL   SECUENCIA3
;
   MOVLW   .2
   XORWF   CONT,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA2
;
   MOVLW   .1
   XORWF   CONT,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA1
   RETURN

;*******************************************************************

SECUENCIA10;         CONTEO DESDE 0 HASTA 15
   
   MOVLW   .0;
   MOVFW   PORTB
   CALL   RETARDO1
   MOVLW   .1;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .2;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .3;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .4;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .6;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .7;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .8;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .9;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .10;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .11;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .12;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .13;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .14;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .15;
   MOVFW   PORTB
   CALL    RETARDO1
   CLRF   CONT
   RETURN

SECUENCIA9;         NúMEROS PARES

   MOVLW   .2;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .4;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .6;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .8;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .10;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .12;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .14;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .16;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .18;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .20;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .22;
   MOVFW   PORTB
   CALL   RETARDO1
   MOVLW   .24;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .26;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .28;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .30;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .0;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN

SECUENCIA8;         NÚMEROS IMPARES

   MOVLW   .1;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .3;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .7;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .9;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .11;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .13;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .15;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .17;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .19;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .21;
   MOVFW   PORTB
   CALL   RETARDO1
   MOVLW   .23;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .25;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .27;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .29;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .31;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN

SECUENCIA7;         DESDE 31 AL 16

   MOVLW   .31;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .30;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .29;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .28;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .27;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .26;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .25;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .24;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .23;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .22;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .21;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .20;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .19;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .18;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .17;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .16;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN

SECUENCIA6;         INCREMENTA Y DECREMENTA

   MOVLW   .31;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .1;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .30;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .2;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .29;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .3;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .28;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .4;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .27;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .26;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .4;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .25;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .24;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .6;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN

SECUENCIA5;         PRIMOS + OTROS

   MOVLW   .1;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .2;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .3;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .7;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .11;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .13;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .17;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .19;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .23;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .29;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .31;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .25;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .9;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .12;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .6;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN

SECUENCIA4;         ALEATORIO

   MOVLW   .24;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .10;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .19;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .2;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .25;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .14;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .8;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .17;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .0;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .30;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .13;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .28;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .9;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .15;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .1;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN

SECUENCIA3;         NO SÉ QUÉ MÁS INVENTAR xD decrementa de 5 en 5 y luego de 3 en 3

   MOVLW   .30;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .25;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .20;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .15;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .0;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .30;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .3;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .6;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .9;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .12;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .18;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .21;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .24;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .27;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .31;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN


SECUENCIA2;         CANCION 2 Y 2 SON 4 4 Y NADA SON 6 Y MULTIPLICAR POR 3 CON SUS RESULTADOS

   MOVLW   .0;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .2;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .4;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .6;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .8;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .16;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .3;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .15;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .9;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .27;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .18;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .7;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .21;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .10;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .30;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN

SECUENCIA1;         RESTAR MIS NUMEROS FAVORITOS

   MOVLW   .29;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .9;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .20;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .28;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .4;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .24;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .27;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .22;
   MOVFW   PORTB
   CALL   RETARDO1
   MOVLW   .5;
   MOVFW   PORTB
   CALL   RETARDO1
   MOVLW   .19;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .11;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .8;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .0;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .13;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .10;
   MOVFW   PORTB
   CALL    RETARDO1
   MOVLW   .3;
   MOVFW   PORTB
   CALL    RETARDO1
   RETURN

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;              FUNCIONAMIENTO AUTOMÁTICO           <
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

AUTO
   CALL   AUTO_SEC
   DECF   CONT1,1
   GOTO   PROGRAM

CONT1_INI

   MOVLW   .40
   MOVWF   CONT1
   RETURN
AUTO_SEC
   MOVLW   .40
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA4
;
   MOVLW   .39
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA7
;
   MOVLW   .38
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA9
;
   MOVLW   .37
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA1
;
   MOVLW   .36
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA5
;
   MOVLW   .35
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA3
;
   MOVLW   .34
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA6
;
   MOVLW   .33
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA2
;
   MOVLW   .32
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA10
;
   MOVLW   .31
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA8
;
   MOVLW   .30
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA5
;
   MOVLW   .29
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA3
;
   MOVLW   .28
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA9
;
   MOVLW   .27
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA2
;
   MOVLW   .26
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA1
;
   
   MOVLW   .25
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA8
;
   MOVLW   .24
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA4
;
   MOVLW   .23
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA6
;
   MOVLW   .22
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA7
;
   MOVLW   .21
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA10
;
   MOVLW   .20
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA8
;
   MOVLW   .19
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA10
;
   MOVLW   .18
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA5
;
   MOVLW   .17
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA4
;
   MOVLW   .16
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA7
;
   
   MOVLW   .15
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA1
;
   MOVLW   .14
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA3
;
   MOVLW   .13
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA9
;
   MOVLW   .12
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA2
;
   MOVLW   .11
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA6
;
   MOVLW   .10
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA2
;
   MOVLW   .9
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA7
;
   MOVLW   .8
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA5
;
   MOVLW   .7
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA10
;
   MOVLW   .6
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA3
;
   
   MOVLW   .5
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA9
;
   MOVLW   .4
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA4
;
   MOVLW   .3
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA1
;
   MOVLW   .2
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA6
;
   MOVLW   .1
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   SECUENCIA8
;
   MOVLW   .0
   XORWF   CONT1,0
   BTFSC   STATUS,Z
   CALL   CONT1_INI
   RETURN

   END

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Secuencias de Luces con Pic16F628A
« Respuesta #1 en: 13 de Febrero de 2011, 11:38:48 »
Hola Gedeon, si te sirve de ayuda, es mas simple programas secuencias empleando "tablas", fijate en mi diseño
http://www.todopic.com.ar/foros/index.php?topic=31994.msg267175#msg267175

saludos! y buenas luces!!!  :-/

Norberto
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Gedeon

  • PIC10
  • *
  • Mensajes: 23
Re: Secuencias de Luces con Pic16F628A
« Respuesta #2 en: 13 de Febrero de 2011, 18:10:18 »
Hola Gedeon, si te sirve de ayuda, es mas simple programas secuencias empleando "tablas", fijate en mi diseño
http://www.todopic.com.ar/foros/index.php?topic=31994.msg267175#msg267175

saludos! y buenas luces!!!  :-/

Norberto

realmente hace mas sencillo el trabajo teniendolo en tabla, ya lo modificare. pero sigo teniendo un pequeño detallito como causar el efecto estroboscopico? se que el efecto se causa de 60 a 200 milisegundos segun estube leyendo pero llevar eso al pic para las secuencias es lo que no e podido aun en realidad. si no es molestia y pudieras auxiliarme con eso agradecido de sobremanera. teniendo eso monto el videito de como queda y las figuras que mostrare

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Secuencias de Luces con Pic16F628A
« Respuesta #3 en: 14 de Febrero de 2011, 11:42:37 »
Hola, para adaptarlo, una forma sencilla seria empleando la tabla, cargas lo que quieres encender, lo envias al puerto de salida, realizas la demora de 60 a 200 milisegundos, apagas la salida y luego esperas un tiempo de unos 200 a 800 milisegundos,  vas a cargar el siguiente valor de la tabla etc etc etc
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Gedeon

  • PIC10
  • *
  • Mensajes: 23
Secuencias de Luces con Pic16F628A
« Respuesta #4 en: 19 de Febrero de 2011, 21:32:08 »
ya e ido arreglando para que sea por tablas, no tengo todas las tablas aun pero adjunto a esto lo que llevo; tengo una pregunta, existe una forma de generar un random en Asm? pregunto porque en el modo automatico quiero colocar que las secuencias se generen aleatoriamente es decir, primero la secuencia 5, despues la 3 y salten asi de forma random. agradecido de antemano

Desconectado Gedeon

  • PIC10
  • *
  • Mensajes: 23
Re: Secuencias de Luces con Pic16F628A
« Respuesta #5 en: 23 de Febrero de 2011, 10:36:29 »
listo aki esta el codigo con tablas y funcionando en el micro. gracias a todopic de antemano por las sugerencias

Desconectado todopic

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3495
    • http://www.todopicelectronica.com.ar
Re: Secuencias de Luces con Pic16F628A
« Respuesta #6 en: 23 de Febrero de 2011, 10:57:15 »
Hola Gedeon, me alegra que te haya servido... pero si queres, podes dar una vuelta mas de tuerca!  :mrgreen:
En las secuencias, son programas repetitivos... y lo unico que cambia es la tabla...

entonces tendrias que hacer una sola tabla larga, y luego empleas dos contadores, uno seria desde donde comienza la tabla, el otro el que barre la tabla ok?
Firmat - Santa Fe - Argentina

www.TodoPic.net

Solo se tiran piedras, al arbol que tiene frutos...

Desconectado Gedeon

  • PIC10
  • *
  • Mensajes: 23
Re: Secuencias de Luces con Pic16F628A
« Respuesta #7 en: 24 de Febrero de 2011, 10:48:19 »
ok listo anotado. me pondre en eso. tengo otro proyecto pero le dare a ese tambien. nuevamente gracias

Desconectado Homonovous

  • PIC10
  • *
  • Mensajes: 1
Re: Secuencias de Luces con Pic16F628A
« Respuesta #8 en: 11 de Octubre de 2011, 15:13:49 »
Hola oigan, soy nuevo aqui, este codigo tambien me serviria para un pic16f84a?