Autor Tema: Contar número de segundos pulsado un interruptor  (Leído 4170 veces)

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

Desconectado fco1306

  • PIC16
  • ***
  • Mensajes: 128
Contar número de segundos pulsado un interruptor
« en: 24 de Mayo de 2009, 09:06:37 »
Estoy usando un pic 12f629 a 4mhz interno y programando en pic simulator.Necesito saber el tiempo que mantengo pulsado un interruptor conectado al pic.Sería para hacer una condición.Si lo mantengo menos se cinco segundos ejecute unas instrucciones,si lo mantengo más de cinco otras.He estado mirando en el foro y en la web pero no he encontrado nada que me sirva.¿Hay alguna manera sencilla de programar ésto?
Muchas gracias

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Contar número de segundos pulsado un interruptor
« Respuesta #1 en: 24 de Mayo de 2009, 15:00:35 »
Hola.

Puedes activar un timer para que cuando presiones el pulsador inicie el conteo.
El papel lo aguanta todo

Desconectado fco1306

  • PIC16
  • ***
  • Mensajes: 128
Re: Contar número de segundos pulsado un interruptor
« Respuesta #2 en: 24 de Mayo de 2009, 16:23:23 »
Me lo temía.De momento mis conocimientos no llegan a los timer.¿Hay alguna página o ejemplo que sea sencillo de seguir?.He mirado en el foro y lo que viene no lo entiendo.
He pensado que igual puedo usar waitms.Algo así
while gp3<>0
waitms 50
contador=contador+1
wend

Mientras se accione  el pulsador se ejecutará el while.Haciendo pausas por ejemplo de 50ms,podemos saber cuantas pausas se han hecho hasta que se deja de accionar el pulsador.Si es mayor de una cantidad se ejecutan unas órdenes,si no,otras.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Contar número de segundos pulsado un interruptor
« Respuesta #3 en: 24 de Mayo de 2009, 16:57:19 »
Hola.

La ventaja de usar Timer es que la espera es activa. Pero creo que si daria resultado como tu dices, es otra manera de contar, la diferencia con el Timer es que el Timer haria esa cuenta automaticamente.

Saludos
El papel lo aguanta todo

Desconectado fco1306

  • PIC16
  • ***
  • Mensajes: 128
Re: Contar número de segundos pulsado un interruptor
« Respuesta #4 en: 24 de Mayo de 2009, 17:54:38 »
Miraré a ver si encuentro alguna página en donde se diga como usar los timer.
Muchas gracias

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Contar número de segundos pulsado un interruptor
« Respuesta #5 en: 25 de Mayo de 2009, 07:33:10 »
En este enlace tienes la configuración para el timer1, es para el 675 pero sino recuerdo mal es la misma que para 629.

http://www.todopic.com.ar/foros/index.php?topic=24123.0

y con Waitms como indicas, es tambien posible.
Saludos desde Granada, España.

Desconectado pibe

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 635
Re: Contar número de segundos pulsado un interruptor
« Respuesta #6 en: 25 de Mayo de 2009, 12:29:35 »
Si, el tema sería mas o menos así:

Inicio de micro
configuración de puertos, etc etc
configuración de timer por interrrupciones
Ir a Principal

Interrupciones
contador 5s = 100 ?  ( suponiendo que hagas interrupciones cada 50ms)
no= incrementar contador 5s +1 y salir interrupciones
si , entonces Flag contador =1 y salir interrupciones


Principal
Flag contador=0
- pulsador activado?
no= espero
si= antirrebotes (20ms creo que es suficiente y no influirá tanto en tus 5 segundos)
activar timer y poner contador 5 segundos a 0
- pulsador desactivado?
no= espero (mientras tanto el contador se va incrementando por cada interrupcion)
si , entonces preguntamos si Flag contador = 1
no= no ha llegado a 5 segundos . Vamos a menu "es menor de 5s"
si= ha llegado a 5 segundos. Vamos a menu "es mayor a 5s"


es menor a 5s
Hacemos bla bla
ir a Principal

es mayor a 5s
Hacemos blu blu
ir a Principal
Mi jefe mirando el prototipo que estoy creando: "Y eso va a funcionar?"


 

anything