TODOPIC
Microcontroladores PIC => - Niple - => Mensaje iniciado por: brunobal en 17 de Diciembre de 2011, 15:14:44
-
buenas tardes a todos:
kisiera si alguien me pudiera hechar una mano lo ke kiero es podercontrolar el tiempo de parpadeo de un led o varios mediante una señal de reloj inyectada por RB4.
si podeis pasarme un ejemplo por el niple mejor ke mejor
gracias
-
Bueno pues aqui estamos encantados en poder echarte una mano a resolver tus problemas, pero no a realizarte el trabajo.
Indica lo que tienes realizado hasta el momento y cuales son las dudas o donde te encuentras atrancado.
Si te hieramos el prpgrama nunca aprenderias a realizar las cosas por ti solo.
Ademas deberias de exlicar un poco mejor que quieres realizar. ¿La señal de reloj seria la base de tiempos? ¿Como y cuando quieres que se active la cuenta?, ...
Animo que no es dificil.
F.
-
pues mira te explico.
el programa ya lo he realizado con niple , pero he utilizado un temporizador fijo. y yo kisiera poder utilizar uno variable entonces lo selecciono pero no me sale porke en vez de ir cambiando la secuencia de los led pues se kedan fijo
-
a porcierto la señal de reloj saria para ke los led se movieran mas rapido o mas lento.
-
y kiero ke la cuenta se inicie cuando sea nivel alto
-
pues mira te explico.
el programa ya lo he realizado con niple , pero he utilizado un temporizador fijo. y yo kisiera poder utilizar uno variable entonces lo selecciono pero no me sale porke en vez de ir cambiando la secuencia de los led pues se kedan fijo
Pues por que no adjuntas lo realizado y donde crees quie debes de mejorar.
De entrada podria decirte que para que los leds se pudieran ver con la frecencia de entrada esta deberia ser baja.
Si utilizas este metodo deberia de leer el tiempo entre un pulso de entrada y el siguiente, de esa forma sabrias el periodo y/o frecuencia de entrada. Ese valor lo guardas en un registro y lo sacdas por el puerto de los leds y de esa forma vuelves a leer pulso, guardas, sacas, y........
Pero lo que indicas en el ultimo post es una cosa distinta, entiendo que eso seria la señal de puesta en marcha de la temporizacion. ¿Por que cuamdo se desactivaria al ser nivel bajo? Eso no te funcionaria pues si la frecuencia es rapida la temporzacion estaria poniendose en marcha y apagandose continuamnete.
F.
-
mira este es el programa ke tengo hecho con una temporizacion fija
-
lo ke kiero es poder variar el tiempo ke hay entre la escritura de un dato y otro para poder variar la velocidad del movimiento mediante la patilla ra4 cambiando la frecuencia de un reloj externo no se si me liao un poco esta es la prueba ke e realizado y no me funciona
-
No me extraña que no te funcione lo que quieres.
Con los dos bloques de TMR0=.... lo unico que estas haciendo es habilitar el modulo de contaje por TOCS, pero no haces nada con ello.
Debes realizar alguna operacion, como guardar, comparar on algo para que mientras se de esa circusrtancia tengas un valor desalida por el puerto B y cuando se termine la condicion saques otro valor por el puerto B.
F.
-
bueno y no vale con utilizar la accion de escribir en el puerto a?
-
¿Para que escribir en el puerto A?
Lo que debes de hacer es leer el bit 4 del puerto A y guardas el valor, eccribes en el puerto B luego esperas a que vuelva a tener el distinto valor y vuelves a escribir en el puerto B y asi sucesivamente.
Cuanto mas rapida sea la frecuencia mayor será la rapidez del cambio de estado de los leds, pero eso si llegará un momento que si la frecuencia es alta los leds siempre los veras iluminados.
F.