Autor Tema: Configuracion de tmr0 como contador de señal externa  (Leído 9717 veces)

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

Desconectado magoni

  • PIC10
  • *
  • Mensajes: 7
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #15 en: 12 de Octubre de 2014, 00:45:05 »
Juanpi: adjunto otros archivos relacionados

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #16 en: 12 de Octubre de 2014, 08:59:27 »
Te paso una modificación y fijate si te aclara un poco el panorama. Un abrazo
- Santiago -

Desconectado juanpi2908

  • PIC12
  • **
  • Mensajes: 54
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #17 en: 12 de Octubre de 2014, 14:20:44 »
Hola lo que as echo esta bien, lo que yo modificaría seria la configuración del pin reset, lo tenes en entrada
pero no la usas, si decides pasarla a reset ponle una resistencia pull up

La modificación que te propone Santiago esta buena, podrás ver como actúa tmr0 cada 2 segundos.

No as mencionado cual es la falla

Saludos  :-)

"La gran sabiduría esta en sentirse satisfecho con poca cosa; quien aumenta sus riquezas aumenta sus cuidados; pero una mente contenta es un tesoro oculto a quien no alcanzan las calamidades"

Desconectado magoni

  • PIC10
  • *
  • Mensajes: 7
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #18 en: 12 de Octubre de 2014, 17:30:20 »
Hola Colegas:Juanpi y Samtiago.Miren me està pasando que quiero usar la interrupcion por TRM0, y tengo la version 6.0.3 de Niple.Hice un monton de pruebas temporizando 2 seg. y coloque distintos led de colores para que me dè la pauta donde lo pierdo al programa.(hice video,pero pesa mucho)Lo tratarè de describir. Empezamos con la config.de TRM0 y sigo encendiendo un led amarillo.Cuando se interrumpe entra en la rama del led verde (si tiempo_t0)es =1.Pero despues dseguidamente recorre la rama del tiempo_t0=0 .encendiendo el led rojo ;quedando para siempre allì.¿? .No se que pasa que nunca sale de la interrpcion?Porque si saliese tendrìa que encender el led amarillo de regreso de la llamada de interrupcion.
Santiago, probé lo que me mandaste pero quedaba encendiendo y apagando el RA1,pero por eso le agreguè un led afuera (en el principal)para ver que saliese de la interrpciòn!!!, pero no!. No se reinicia y no sale de la interrupcion, me parece. Pruebenlo ,y saquen uds. una conclusiòn. No entiendo la funciòn de la bandera tiempo_t0!!.Si se pone en 1 cuando termina el tiempo...no habrìa que ponerla en =0,al salir de la interrupciòn? Eso lo probè y no hizo nada.
Estoy desorientado !!!! .O es una falla de la versiòn o no se usarla adecuadamente. A propòsito; Uds tienen la misma versiòn( 6.0.3)?
Un abrazo y adjunto lo que hice a ver que concluyen uds.

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #19 en: 13 de Octubre de 2014, 09:05:02 »
Estimado magoni: el circuito que te pasé es igual al tuyo, solo le agregué para que hiciese lo que observas, cuando entra a la interrupción, y está cumplido el tiempo, se fija el estado de RA1 y lo cambia, así permanece hasta la proxima vez que interrumpa TMR0 "con tiempo cumplido" (TMR0 entrará varias veces en el transcurso de 2 seg, pero determina el tiempo en base a sus registros ligados para llegar al tiempo requerido, poniendo el Bit tiempo_t0=1)y repita el cambio. Esto te indica que entra y sale correctamente de la interrupción. En el que hiciste RA0 solo pasará a 1 y quedará así, la interrupción hace un salto a un subprograma o rutina, lo ejecuta y retorna al codigo que estaba ejecutando. En este caso lo hace en un nop siempre y retorna a él, por lo que lo que haces con RA0 queda fuera del código que se está ejecutando, un laso nop. Te aconsejo que subas tambien los archivos de simulación, no siempre tenemos tiempo o deseos de hacer uno acorde a cada circuito que comentamos, y en el tambien puede estar el error. Un abrazo
- Santiago -

Desconectado magoni

  • PIC10
  • *
  • Mensajes: 7
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #20 en: 13 de Octubre de 2014, 13:56:20 »
Hola Santiago: Entiendo lo que vos programaste que haga, pero tu programa a los 2 seg. enciende el led (puesto en RA1)  y no lo apaga nunca !!! Eso no està bièn!!.Por eso digo que no sale de la interrupciòn!
Duda: ese bit de tiempo_t0 se pone en cero cuando sale de la llamada de interrpciòn? O sea sale al programa ppal. con ese bit en cero?.
Bueno ,no esta funcionando mi interrupciòn.No se que otra cosa probar...
Les agradezco su interes.
Atte. Miguel

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #21 en: 13 de Octubre de 2014, 19:10:45 »
Fijate que ocurre con el que te modifiqué porque funciona correctamente, en esta maquina no en tiempo real, pero prende y apaga secuencialmente. El bit se pone a 1 cuando completa el tiempo, no cada vez que interrumpe (c/16 mseg), cuando se cumplen las 125 interrupciones necesarias para 2 seg. Mira la configuración y verás reflejado lo que te digo.
- Santiago -

Desconectado magoni

  • PIC10
  • *
  • Mensajes: 7
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #22 en: 14 de Octubre de 2014, 12:58:00 »
Hola Santiago:Me parece que ahora está funcionando.Me parece que incurria en el error de colocar dentro de la interrupción (en la desesperación) una rutina que tardaba más que el tiempo del TMR0,o sea si el temporizador lo seteaba en 2 seg.;dentro de la interrupción le hacía hacer algo que lo demoraba más de 2seg. y eso me llevaba a una confusión.
Desde ya ,muchas gracias a vos y a Juanpi por el tiempo dedicado.
Atte.Miguel

Desconectado juanpi2908

  • PIC12
  • **
  • Mensajes: 54
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #23 en: 14 de Octubre de 2014, 14:06:33 »
Hola magoni, buenísimo que hallas solucionado el problema, igualmente fijate que RA4 lo tienes como entrada y no se utiliza
y esto a veces te trae problemas, tenés que ponerle resistencias para que funcione correctamente como también a RA5
El ultimo NPL que subiste tenia este mismo problema, además no se por que preguntabas por RA7 en el programa
principal, también designaste RA0 al led amarillo en prg. principal y al verde en interrupción, lo modifique fijate como te
funciona, el tiempo de interrupción (tmr0) lo subí a 5 segundos para que se pueda ver el led verde durante 1 seg además
cuando entra en la interrupción apaga el led amarillo y al volver al programa principal lo vuelve a prender, el led verde lo puse en
RA2 "creo", espero te sirva
Saludos!!
"La gran sabiduría esta en sentirse satisfecho con poca cosa; quien aumenta sus riquezas aumenta sus cuidados; pero una mente contenta es un tesoro oculto a quien no alcanzan las calamidades"

Desconectado magoni

  • PIC10
  • *
  • Mensajes: 7
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #24 en: 19 de Octubre de 2014, 11:35:04 »
Hola Juanpi: Te agradezco tu tiempo.Gracias a tu aporte y de Santiago, entemdì como funciona la interrupciòn.Respondiendo a Juanpi: Me quedaron seteadas entradas del proyecto que estoy haciendo y si puede complicar si las dejo flotando. El RA7 lo usè porque me quedaban todas del mismo lado y con los ppines consecutivos,nada màs.
Nuevamente gracias,
Tengo una consulta de otro tema:Tengo que accionar dos motroes de paso simultanemente,pero con distintos controles pero al mismo tiempo.Se puede hacer con Niple?O se me ocurre algo multiplexado,no?
No sabria si hacer nuevo TEMA.
Abrazo

Desconectado juanpi2908

  • PIC12
  • **
  • Mensajes: 54
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #25 en: 20 de Octubre de 2014, 09:48:53 »
Hola magoni, por lo de los motores si se puede, busca dentro de Niple pwm, yo no tengo experiencia con ellos, por ahora.
Saludos  :-)
"La gran sabiduría esta en sentirse satisfecho con poca cosa; quien aumenta sus riquezas aumenta sus cuidados; pero una mente contenta es un tesoro oculto a quien no alcanzan las calamidades"

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: Configuracion de tmr0 como contador de señal externa
« Respuesta #26 en: 20 de Octubre de 2014, 13:14:29 »
Se puede controlar en modo cuasi simultaneo, dependerá de la velocidad de respuesta que nececites, del pic elegido por sus pines y reloj, etc.
- Santiago -