Autor Tema: Ayuda con Contador Ascendente Descendente  (Leído 10893 veces)

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

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #15 en: 30 de Octubre de 2014, 23:47:20 »
Fijate si funciona esto.
- Santiago -

Desconectado LED05

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #16 en: 31 de Octubre de 2014, 10:01:19 »
Hola amigo... Mirà la verdad que ayer de tarde leì tus sugerencias y hubo una palabra que me sacó la venda de los ojos: "VARIABLE"
Me hiciste darme cuenta de cual era mi error!
Por la noche me puse a programar y me saliò todo lo que querìa hacer... funciona perfectamente! :-/
El punto clave estuvo en 2 cosas: Ir modificando el registro "conteo" (la variable) (en funcion de las operaciones matematicas de sumar y restar efectuadas con los pulsadores), esto lo logrè utilizando instrucciones predefinidas como MOVLW y MOVWF (en esta ultima instrucciòn el registro destino F obviamente es "conteo")
Lo segundo fue entender que debia crear nuevas pantallas de visualizacion que no habia hecho.
Y algo mas...Una vez que tenia el registro "conteo" con lo que querìa visualizar, convertirlo a BCD.

Creo que lo justo es concederte el èxito y los laureles de este logro, fue tu orientaciòn lo que me ayudò. ((:-))
Muchisimas gracias...

Adjunto el archivo de simulacion igual para que lo veas y celebremos juntos :-/
Igual cualquier detalle que notes soy todo oìdos...

Saludos!

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #17 en: 31 de Octubre de 2014, 11:17:15 »
No es mi merito, sino tuyo por buscar y solucionar el error cometido. Lo mio es solo una guia sin demasiadas luces que has sabido interpretar. Me alegra que lo lograras. Veamos por donde sigue el programa. Un abrazo.

Nota: no subiste archivo.
- Santiago -

Desconectado LED05

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #18 en: 31 de Octubre de 2014, 11:28:29 »
Vos sabes que lo deje en el pendrive! y ahora no lo tengo conmigo, ni bien pueda lo subo...

Estamos en contacto. Gracias

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4032
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #19 en: 31 de Octubre de 2014, 17:07:48 »
............................................................esto lo logrè utilizando instrucciones predefinidas como MOVLW y MOVWF (en esta ultima instrucciòn el registro destino F obviamente es "conteo")...........................................
Saludos!

Aunque Niple puede trabajar con instrucciones ASM, lo mejor es que para sumar, restar,...... utilices las opciones de operaciones matemáticas del explorador de la derecha del entorno. Te saldrá el proyecto mas claro y entendible sin tener que realizar el programa a tan bajo nivel. ;-)
Todos los días se aprende algo nuevo.

Desconectado LED05

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #20 en: 13 de Noviembre de 2014, 16:02:07 »
Perdòn la demora, me perdi un poco...
Amigo Fer_TACA me expliquè mal en realidad utilicè lo que mencionaste, lo que quise trasmitir es que no estaba usando el registro W y no queria tocar algunas instrucciones que a veces se precisan pero que son parte de la programacion... pero sî te doy la razòn y de hecho me utilicè las operaciones matematicas. Gracias por tu consejo.


Subo el archivo prometido.

Por otro lado y para no postear nuevamente... La parte que sigue es conectar un pulsador ("play) para que inicie el resto de la rutina en base al tiempo elegido. Mi idea es conectar un pulsador a la entrada RB0 y detectar si se presionò el pulsador mediante una interrupcion RB0/INT. Entonces si se presionò el pulsador de inicio volvemos de la interrupciòn y continuamos con la rutina que sigue. Si no se presionò; el programa sigue en la primera parte que es selecciòn del tiempo hasta que se presione el boton "play". Les parece buena idea?
Intentè algo de eso y no me sale...es la primera vez que manejo interrupciones y ademas no se como volver a la primera etapa (si NO se presionò "play") sin que se quede enbucleada alli sin poder salir...
Bueno desde ya gracias...!
 
« Última modificación: 13 de Noviembre de 2014, 16:32:09 por LED05 »

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4032
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #21 en: 14 de Noviembre de 2014, 07:02:16 »
Debed de configurar y activar la interrupcion primero.
con eso se te crea de forma automatica una subrutina nueva. Hay pones:
1º  lo que quieras despues de comparar si se presiona el pulsador que quieres al final colocas un bloque de fin de interrupcion.
2º En caso de no estar presionado colocas otro fin de interrupciony listo el programa ya se ancarga solo de hacer el resto y continuar con la parte  principal,de tu proyecto.

Si has adjuntado algo de eso en el fichero que has subido, luego lo reviso y trato de orientarte con mas detalle.
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4032
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #22 en: 14 de Noviembre de 2014, 17:39:25 »
Por que no adjuntas el fichero npl para revisar lo realizado. Has adjuntado el fichero de proteus y ahí no se puede ver nada.
Todos los días se aprende algo nuevo.

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #23 en: 21 de Noviembre de 2014, 06:49:42 »
Parece que está trabado LED05, dejo un temporizador para que saque ideas y para que no quede inconcluso el tema.
- Santiago -

Desconectado LED05

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #24 en: 22 de Noviembre de 2014, 18:50:40 »
Hola estimados amigos! Perdón y mil perdones, no me olvidé de ustedes, es solo que a veces no se dan los tiempos de sentarse...
El consejo de Fer_TACA de la interrupción aplicado y con 100% de éxito. Asi que muchas gracias amigo por tu consejo!
Tambien a Lucegiar2005 por tu archivo.
Ya casi terminé lo que me propuse hacer, lo que me falta y quería preguntarles...
Dentro de la rutina de interrupción (RB0/INT) programé la rutina a seguir por los motores que quiero controlar.
Cuando termine esa rutina (se paren los motores) quiero que me avise mediante un buzzer sonando tres veces (como el aviso que hacen los microondas al terminar). mi pregunta es la siguiente:
Puedo hacer otra pequeña subrutina donde escribo un 1 (por ej en RA0 configurado como salida) que espere 1 segundo que lo vuelva a escribir y asi por tres veces...
U otra forma que se me ocurrió es crear una interrupción mediante el temporizador interno TMRO configurado para que desborde cada 1 segundo y luego active la salida correspondiente al buzzer ( un total de 3 veces).
Es conveniente y se pude hacer el crear la interrupción TMRO dentro de la interrupción RB0/INT?
O sugieren otra manera de encarar el final?
Gracias...

Desconectado lucegiar2005

  • PIC24F
  • *****
  • Mensajes: 504
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #25 en: 22 de Noviembre de 2014, 21:38:59 »
Al no tener el npl no se como encaraste el programa, algunas veces la interrupción puede ser extensa y otras no, dependiendo de cual sea y la prioridad del codigo que ejecuta. Dentro de una rutina se puede llamar a otra pero sin que se aniden más de 8 según manual, pero deben ser lo minimo posible. Organizar en subrutinas es lo mejor para el orden y comprensión del progama,  y por cierto que se puede hacer la que propones o cualquier otra. Esa rutina podés hacerla por tiempo fijo o TMRx, dependiendo de tu criterio de desarrollo. Con tiempo fijo declaras un contador a cero, lo incrementás cada vez que se cumple el tiempo y si es igual a tres salís, sino recomenzás. Tambien en secuencias de xT. Hay mil formas de atar al perro y algunos lo hacen con chorizo. Un abrazo.
- Santiago -

Desconectado LED05

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #26 en: 23 de Febrero de 2015, 12:02:13 »
Hola amigos...al final lo del buzzer se cancela asi que quedó el proyecto terminado y como comenté gracias a las sugerencias de ustedes colegas.
Me queda en el tintero una pequeña fallita que no logro corregir.
Cuando le doy la alimentación inicia todo bien y cuando presiono el pulsador "SUBIR" para seleccionar el tiempo comienza a contar sin parar (como yo quiero, de a 5 minutos, pero sin parar) la unica forma de que pare y muestre en el display por cuanto tiempo va es dejando presionado el pulsador. Mi teoría es que le falta mas antirrebote, que opinan ustedes? tomé una sugerencia del foro pero no tuve resultados...agregando un filtro y un diodo al pulsador mejoro un poco pero no del todo. Sólo me falta este detalle para que ande a la perfección.
Saludos!

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4032
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #27 en: 23 de Febrero de 2015, 15:24:15 »
habría que ver el código para saber porque cuenta sin parar hasta que no sueltas.
Todos los días se aprende algo nuevo.

Desconectado LED05

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #28 en: 23 de Febrero de 2015, 17:59:11 »
ok Fer_Taca! Subo el asm generado por niple...
Igualmente te comento, no es que cuenta hasta que suelto sino al revés. El display queda en cero esperando la orden de subir o bajar el conteo, cuando presiono PULSADOR SUBIR comienza a subir de a 5 minutos pero sin parar y rapidisimo. Cuando presiono el pulsador "y lo dejo presionado" se detiene y me muestra el conteo o mejor dicho los minutos en donde lo haya "sorprendido al contador"; si suelto el pulsador vuelve a contar sin parar de forma muy rápida como describí.

El control de los pulsadores lo hago en la subrutina llamada "Control de pulsadores"

Desde ya gracias!

Desconectado Fer_TACA

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4032
Re: Ayuda con Contador Ascendente Descendente
« Respuesta #29 en: 24 de Febrero de 2015, 02:51:55 »
 Para revisarlo, es mejor el fichero fuentte de npl.
Todos los días se aprende algo nuevo.


 

anything