TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: ilue en 02 de Marzo de 2007, 16:52:57
-
Hola, que tal?
Agradeceria me informaran como hacer tres programas con las instrucciones de 16F /12F
1_ Paro-Marcha con una bandera y 2 pulsadores independientes
2_ Paro-Marcha con un solo pusaldor utilizando bits 1 ciclo y un led fijo
3_ Paro-Marcha con un solo pusaldor utilizando bits 1 ciclo y un led intermitente
-
?????????
darle marcha al programa?
preguntar por acticaccion de bandera = carri, cero, dc,?
saludos
-
Marcha-Paro para un taladro...
-
ilue, la reacción de microcom es entendible. Tu post es bastante extraño y al parecer solo tú lo entiendes.
¿puedes volver a repetir con mayor detalle que necesitas hacer? porque "bits 1 ciclo" no me suena a nada, y cuando mencionaste que te referías a un taladro... mucho menos.
-
:shock: Poca cosa se de programación...
La idea es hacer girar el motor de un taladro, por ejemplo
Con dos pulsadores uno que lo active (Marcha) y otro que lo desactive (Paro)
Con un pulsador que lo active y desactive, con un led luciendo en modo fijo mientras está activado
Lo de los bits de un ciclo será para el tiempo, creo
Con un pulsador que lo active y desactive, con un led luciendo en modo intermitente mientras está activado
Gracias por vuestra colaboración
-
¿En qué lenguaje d eprogramación piensas hacerlo?
Los pulsadores podrás conectrarlos a los pines que fuercen una interrupción al pic (ya sea la interrupción externa o la interrupción del cambios de estado del puertoB), eso hará, que al presionar por ejemplo, el pulsador de MARCHA, se ponga en ALTO un pin del pic, que estará conectado a un relé para activar el motor a un tiempo determinado.
Y de forma análoga, con el pulsador de PARO.
Suerte!!! ;)
-
En assembler
12F629 o 16F628
La idea seria algo como...
****************************************************
Paro Marcha con dos Pulsadores
****************************************************
Paro
Pulsador 1 pulsado? ,NO, Vuelve a preguntar si P1 está pulsado
SI
Marcha
Pulsador 2 pulsado? ,NO, Vuelve a preguntar si P2 está pulsado
SI
Paro
***********************************************************
Paro Marcha con un solo Pulsador y un led encendido fijo
***********************************************************
Paro
Pulsador pulsado? ,NO, Vuelve a preguntar si el Pulsador está pulsado
SI
Marcha
Enciende el led
Se ha vuelto a pulsar? ,NO, continua en marcha
SI
Paro y apaga led
**********************************************************
Paro Marcha con un solo Pulsador y un led intermitente
**********************************************************
Paro
Pulsador pulsado? ,NO, Vuelve a preguntar si el Pulsador está pulsado
SI
Marcha
Enciende el led tiempo x
Apaga led tiempo x
Se ha vuelto a pulsar? ,NO, continua en marcha
SI
Paro y apaga led
Lo de:
Enciende el led tiempo x
Apaga led tiempo x
Es para hacer la intermitencia...
Pero no me parece que esté bien, podeis sugerirme?
Necesitaria de vuestra ayuda este fin de semana
Gracias por vuestra colaboración
Saludos
ilue
-
Pues como lo has puesto en tú último post, es muy fácil pasarlo al ASM.
Lo del parpadeo del led, puedes hacerlo mediante un desbordamiento de algún timer. Es decir, cuando se pulse MARCHA, entrará en la rutina de interrupción generada por el cambio de estado del pin el cual está conectado el botón de MARCHA, y en dicha rutina d einterrupción, habilitar algún timer para que se desborde generando una interrupción, y en esa interrupción por el timer, haces el cambio de estado del led.
Suerte!!! ;)
-
:roll: En cuanto a programación estoy muy verde...
Podriais facilitarme cómo empezar el programa de Paro-Marcha con led intermitente?
Si con vuestra ayuda logro sacar ese me parece que ya podré sacar los otros dos
Gracias :wink:
-
Hola, ten cuidado con el paro/marcha con un solo pulsador.... tendras que consultar tambien cuando "solto" el pulsador, ya que de la forma en que esta, realizaria muchisimos ciclos de lectura, no pudiendo definir si queda encendido o apagado, ademas tendras que colocar un pequeño retardo para que actue como antirrebote
para que destelle el led, puedes emplear por ejemplo un retardo de 100 milisegundos y un contador, luego testes uno de sus bits (segun la velocidad de destello que quieras), si es uno, enciendes el led, si es cero, lo apagas
bcf led
btfsc contador,3
bsf led
Norberto
-
Gracias :wink:
El programa antirrebotes ya lo tengo
Tienes razón con lo de los ciclos de lectura, estaria pulsado, no estaria pulsado, en un mismo pulso físico... si no inserto ese programa se me volveria loco
Me faltan los otros tres...
Que no se si alguien del foro me los podrá facilitar entre hoy y mañana....
Gracias por vuestra colaboración
Saludos
ilue
-
Hola Ilue:
Para prender y apagar un led aqui hay un ejemplo, solo es cuestion de cambiar las demoras a tu gusto:
http://www.todopic.com.ar/foros/index.php?topic=12345.msg69625#msg69625
Aqui esta la explicacion del programa de demoras:
http://www.todopic.com.ar/foros/index.php?topic=12832.msg73931#msg73931
Saludos
-
Que bueno, Veguepic
Gracias :wink:
Como calculo los 0.5 sg?
-
Aqui esta el link para que te bajes el programa:
http://www.todopic.com.ar/foros/index.php?topic=5968.msg67196#msg67196
El programa se llama Picdel_sp.exe, al abrilo salen unos datos que debes llenar, Frecuencia que es la frecuencia del cristal del Pic, retardo que esta en milisegundos (0.5 segundos = 500 milisegundos).
Luego presionas el boton "calcular ciclos" y el programa genera unos cilclos delay (demoras), a continuacion le das al boton "generar codigo" y te da el codigo para generar la demora deseada.
Por ultimo copias y pegas el codigo que genera el programa y tambien te informa de los registros que debes definir al principio de tu programa y listo, llamas al programa con un simple:
Call DEMORA
Saludos.
-
Ok, que bueno
Gracias :wink: