Autor Tema: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??  (Leído 3449 veces)

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

Desconectado mamsat

  • PIC10
  • *
  • Mensajes: 17
Buenas, a ver si alguien me echa una mano, estoy tratando de hacer un disparador para un cd, lo qeu trato de hacer es qeu si se va la corriente cuando vuelva se inicie solo el play, y he conseguido hacerlo pero cuando se aplica 1 en una entrada.
Habia pensado en puentear el vcc con una resistencia de 330ohm con la entrada GP2 para qeu de automaticamente la señal de iniciar ¿es la forma de hacerlo? o hay alguna instruccion mas sencilla para qeu empiece a funcionar al llegarle la corriente?

Gracias.


« Última modificación: 21 de Octubre de 2010, 22:04:04 por mamsat »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #1 en: 22 de Octubre de 2010, 01:30:09 »
No entiendo bien la pregunta, ¿qué es la entrada GP2?

Desconectado mamsat

  • PIC10
  • *
  • Mensajes: 17
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #2 en: 22 de Octubre de 2010, 09:00:35 »
No entiendo bien la pregunta, ¿qué es la entrada GP2?

Esque aun estoy muy verde en esto de los pic...

Me refiero a la patilla llamada asi en el datasheet.
http://t2.gstatic.com/images?q=tbn:vuNeGz5ZRlaZ9M:http://www.futurlec.com/Pictures/PIC12F629.gif&t=1

Lo qeu me gustaria saber es si hay algun modo de qeu nada mas recibir alimentacion el pic empiece a funcionar sin necesidad de darle ninguna orden.

Supongo qeu esto sera sencillo pero no tengo ni idea de como hacerlo, lo qeu yo tengo hecho una vez le llega la corriente necesito darle una pulsacion para qeu empiece a funcionar, y me gustaria qeu eso fuese automatico tras volver la alimentacion.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #3 en: 22 de Octubre de 2010, 09:45:45 »
Ah, ahora lo entiendo. Es que creí que te referías a la patilla GP2 del CD.

Conseguir eso es muy sencillo. ¿En qué lenguaje lo vas a programar?

Si usas CCS es tan fácil como output_high(PIN_A2);

Desconectado mamsat

  • PIC10
  • *
  • Mensajes: 17
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #4 en: 22 de Octubre de 2010, 11:21:48 »
Pues nocturno creo que es assembler, te posteo el codigo en realidad he partido de un diseño de diselc.es, qeu me parecio sencillo para empezar, por tanto no era asi en un principio, lo qeu he hecho es hacerme un plaquita con unos led y estoy variando parametros y provando distintas cosillas, vamos... ir aprendiendo a base te toquetear:




;******************************************************************************
;**********************************  INICIO  **********************************
;******************************************************************************
                                      
reset   org 0x00            ;El programa comienza en la dirección 0.
        goto  inicio        ;pasa a la posicion de inicio para evitar la int.                                                      
        org 0x04            ;aqui se atienden las interupciones

        DT   "            INICIADOR DE CD  ver.01  ACTIVA CUANDO HAY CORRIENTE           "  
        DT   "tecla RANDOM 500ms tecla PLAY 500ms   repeticion 5 min                "
  
inicio  bsf  STATUS,5       ;Banco 1.

        call   0x3ff       ;       CALIBRACION DEL            
       movwf     OSCCAL      ;      OSCILADOR INTERNO            
  
         ;movlw   b'111110'   ;0=salida, 1=entrada
         ;movwf   TRISIO      ;lo tranfiere al puerto
         bcf    RANDOM    ; configuro el pin como salida
         bcf    PLAY    ; configuro el pin como salida
         bsf    puerta    ; configuro el pin como entrada
    
;habilitar resistencias internas
       movlw    b'00001111'        
       movwf    OPTION_REG
       movlw    b'00111111' ;selecciono los pines donde quiero las resistencias
       movwf    WPU

       bcf     STATUS,5    ;Banco 0.
 
;instrucciones para poder utilizar GP0 y GP1 como entradas
        movlw   b'00000111'    ;  desactiva el comparador
        movwf   CMCON           ; selecciona GPIO en vez de comparador
  
        clrf GPIO          ;todas las salidas puestas a 0          


;******************************************************************************
;*******************************  PRINCIPAL ***********************************
;******************************************************************************
principal  clrwdt            

      
        
sigue   call      RANDOM
        
        call      Retardo_500ms      ;tiempo entre RANDON Y PLAY

        call      PLAY

        call      Retardo_5m     ;tiempo que tarda en volver a iniciar

        goto      principal
        

;******************************************************************************
;*******************************   RANDON   ***********************************
;******************************************************************************

RANDOM  clrwdt
 

        bsf     llamar           ;actuo sobre el pulsador de RANDON
        call    demora_500ms
        bcf     llamar           ;suelto el pulsador de RANDON
        call    demora_500ms    


        return

;******************************************************************************
;*******************************   PLAY   ***********************************
;******************************************************************************
  
PLAY  clrwdt
    
        bsf    colgar           ;actuo sobre el pulsador de PLAY
        call    demora_250ms
        bcf     colgar           ;suelto el pulsador de PLAY
        call    demora_250ms

        return

;******************************************************************************
;****      RETARDOS hasta 24 Horas - cuidado no sobrepasar la PILA      *******
;******************************************************************************
Retardo_24h     call   Retardo_1h
Retardo_23h     call   Retardo_1h
Retardo_22h     call   Retardo_1h
Retardo_21h     call   Retardo_1h
Retardo_20h     call   Retardo_1h
Retardo_19h     call   Retardo_1h
Retardo_18h     call   Retardo_1h
Retardo_17h     call   Retardo_1h
Retardo_16h     call   Retardo_1h
Retardo_15h     call   Retardo_1h
Retardo_14h     call   Retardo_1h
Retardo_13h     call   Retardo_1h
Retardo_12h     call   Retardo_1h
Retardo_11h     call   Retardo_1h
Retardo_10h     call   Retardo_1h
Retardo_9h     call   Retardo_1h
Retardo_8h     call   Retardo_1h
Retardo_7h     call   Retardo_1h
Retardo_6h     call   Retardo_1h
Retardo_5h     call   Retardo_1h
Retardo_4h     call   Retardo_1h
Retardo_3h     call   Retardo_1h
Retardo_2h     call   Retardo_1h

;******************************************************************************
;****      RETARDOS hasta 1 Hora - cuidado no sobrepasar la PILA        *******
;******************************************************************************

Retardo_1h      call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_55m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_50m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_45m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_40m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_35m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_30m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_25m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_20m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_15m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_10m     call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m      
                call  Retardo_1m
                call  Retardo_1m
Retardo_5m      call  Retardo_1m
                call  Retardo_1m
                call  Retardo_1m
Retardo_2m      call  Retardo_1m

;******************************************************************************
;***************************       RETARDO hasta   10seg    *******************
;******************************************************************************

Retardo_1m      call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_55s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_50s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_45s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_40s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_35s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_30s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_25s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_20s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_15s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_10s     call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
Retardo_5s      call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s
                call  Retardo_1s

;******************************************************************************
;***************************        RETARDO 1seg    ***************************
;******************************************************************************
Retardo_1s     call  demora_250ms
               call  demora_250ms
               call  demora_250ms
                

;******************************************************************************
;*****************           demora  250ms                 ********************
;******************************************************************************

demora_250ms
DEMORA  movlw     .195      ; 1 set numero de repeticion  (B)
        movwf     PDel0     ; 1 |
PLoop1  movlw     .213      ; 1 set numero de repeticion  (A)
        movwf     PDel1     ; 1 |
PLoop2  clrwdt              ; 1 clear watchdog
PDelL1  goto PDelL2         ; 2 ciclos delay
PDelL2  
        decfsz    PDel1, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto      PLoop2    ; 2 no, loop
        decfsz    PDel0,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto      PLoop1    ; 2 no, loop
        clrwdt              ; 1 ciclo delay
        return              ; 2+2 Fin.

;----------------------------------------------------------------------------
         org      0x3FF       ;          OSSCAL          --------------------
         retlw    0x20        ;    VALOR DE CALIBRACION  --------------------
;----------------------------------------------------------------------------
  END
« Última modificación: 23 de Octubre de 2010, 09:48:38 por mamsat »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #5 en: 22 de Octubre de 2010, 23:13:39 »
Pues a ver si alguien que sepa ASM te echa una mano, yo no tengo ni pajolera idea.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #6 en: 23 de Octubre de 2010, 00:53:36 »
Tu programa se encuentra siempre en este bucle ("PRINCIPAL"), la linea btfss puerta  es el que siempre queda
esperando por el pulso en GPIO2 para empezar, pienso que puedes dejar comentadas esas tres lineas de codigo y deberia funcionar, si efectivamente funciona puede eliminar la rutina  "RETARDO comprobando la puerta " ya que no es necesaria

;*******************************  PRINCIPAL ***********************************
;******************************************************************************
principal  clrwdt             
        btfss     puerta      ;si es 1 se salta la instruccion, SEÑAL DE ENTRADA
        goto      principal
        goto     retardo_puerta ;verifica si es una interferencia

sigue   call      LLAMAR
       
        call      Retardo_500ms      ;tiempo entre RANDON Y PLAY
        call      COLGAR
        call      Retardo_5m     ;tiempo que tarda en volver a iniciar
        goto      principal
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado mamsat

  • PIC10
  • *
  • Mensajes: 17
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #7 en: 23 de Octubre de 2010, 07:39:41 »
ok, gracias a los dos, ya lo he modificado en el post de arriba, voy a provarlo y os comento a ver qeu pasa, un saludo.
« Última modificación: 23 de Octubre de 2010, 07:45:49 por mamsat »

Desconectado maggy

  • PIC16
  • ***
  • Mensajes: 152
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #8 en: 24 de Octubre de 2010, 16:45:06 »
que es un disparador para CD  ?  :shock:

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #9 en: 24 de Octubre de 2010, 18:14:58 »
que es un disparador para CD  ?  :shock:

Mi padre.. siempre usa CDs viejos para hacer tiro al blanco jajaja :D

Lo que quiere hacer mamsat, es un dispositivo que ponga en play su reproductor de CDs cuando lo enchufas.
saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado mamsat

  • PIC10
  • *
  • Mensajes: 17
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #10 en: 25 de Octubre de 2010, 13:54:35 »
Efectivamente, es para cuando se vaya la luz no tener qeu volver a darla al play...

Por cierto alguien me podria decir por qeu no puedo compilarlo ¿?

Puede ser qeu yo sea un patan, pero por mas que leo tutoriales, no soy capaz de usar el mplab, la mayoria de los manuales y tutoriales son de versiones anteriores y no me sale bien, no se si es el codigo o qeu soy un patan.

Desconectado mamsat

  • PIC10
  • *
  • Mensajes: 17
Re: iniciar temporizador cuando se le aplica alimentacion al pic ¿¿??
« Respuesta #11 en: 25 de Octubre de 2010, 14:39:47 »
.
« Última modificación: 26 de Octubre de 2010, 13:05:12 por mamsat »


 

anything