TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Gaudizuniga en 24 de Mayo de 2003, 22:36:00

Título: Instruccion para push button
Publicado por: Gaudizuniga en 24 de Mayo de 2003, 22:36:00
   Hola a todos, alguien sabe alguna instrucción o rutina  de preferencia en PBP para que al presionar un boton conectado a "X" puerto, el pic lo interprete que lo eh presionado una sola ves sin importar el tiempo que lo tenga presionado?. Gracias!!!
Título: RE: Instruccion para push button
Publicado por: Eduagra en 25 de Mayo de 2003, 01:38:00
Yo haría un bucle de este tipo:

Primero te defines unas variables como:
 TECLA VAR PORTx,y            " Pin del pulsador
 VARIABLE1 VAR BYTE              "  variable 1


Y cuando quieras leer un botón el siguiente código:

input tecla                         " lee el estado de la tecla
If tecla=1 then                  " la tecla se ha pulsado
 variable1=variable1+1     " Aumenta el valor de varible1 en 1
 if variable1=1 then          
     " ............................................................................
     " Ejecuta el código correspondiente a la pulsación de
     " la tecla. La próxima vez que el prógrama pase por
     " aqui, el valor de variable1 será 2 y por tanto no se
     " ejecutará esta parte.
     " .............................................................................
 endif
 if variable1=3 then          " Con esta comparación, hacemos que
     variable1=2                 " el valor de variable1 no se desborde
 endif
 else
 variable1=0         " Si la tecla no esta pulsada pone a 0 la variable
 endif

Si tuviera que esperar a la pulsación de la tecla, sólo tienes que hacer un bucle.

Espero que esto de respuesta a tu pregunta, es el sistema que yo uso y me funciona OK.

Un saludo
Eduardo
Título: RE: Instruccion para push button
Publicado por: frenadol501 en 25 de Mayo de 2003, 04:07:00
asi espera a que sueltes la tecla para reaccionar asi que te da igual el tiempo que la tengas pulsada

if porta1.1=1 then
 pauseus 30  "antirebote ajustar personalmente
 pulsada:
 if porta1.1=1 then goto pulsada
goto saltoadondequiera
endif


salu2
Título: RE: Instruccion para push button
Publicado por: Eduagra en 25 de Mayo de 2003, 14:42:00
Ciertamente el ejemplo de Gaudizuniga es mejor cuando el programa debe detenerse a la espera de que se pulse una tecla, el mío valdría para cuando la tecla se puede pulsar en cualquier momento del programa, sin usar interrupciones.
Título: RE: Instruccion para push button
Publicado por: Gaudizuniga en 26 de Mayo de 2003, 01:13:00
Muy buenas recomendaciones, gracias!!!
Título: RE: Instruccion para push button
Publicado por: paramaster en 16 de Noviembre de 2004, 18:44:00
Hola muy buenas:
Tengo una consulta de principiante ; y quizas tendria que ir a otro foro pero como la informacion que estaba buscando era sobre los pulsadores os hago el comentario a ver si me podeis ayudar.
Resulta que he conseguido hacer el primer proyecto del led parpadeando , pero ahora queria hacerlo funcionar con un pulsador he probado el bucle que puso eduardo y me hace como si fuera al azar al pulsar dependiendo del momento que lo suelto se enciende y otras no , ah y cuando toco el cristal tambien responde como pulsador. Podriais ayudarme? Gracias y un saludo
Título: RE: Instruccion para push button
Publicado por: khasistos en 16 de Noviembre de 2004, 19:38:00
HOla :
em Pro hay una instruccion llamada botton la cual hace que el cambio de estado de una pata haga algo que le ordenes como ir a una subrutina o cosas mas simples ...

Busca en el manual esa instruccion...

saludos
khasistos