TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: ponyony en 24 de Febrero de 2006, 15:14:00

Título: Detectar Pulsación
Publicado por: ponyony en 24 de Febrero de 2006, 15:14:00
Hola soy nuevo en esto, me toy comiendo la cabeza en como detectar la pulsacion de un botón, y que si este es pulsado salte a una etiqueta, yo he puesto esto como codigo pero no me chuta jeje Giño

   Input 5                      " ago la B5 como entrada
Ret:  If 5 = 1 then loop     " si B5 = 1 (vcc ) salta a loop
   If 5 = 0 then Ret       " si B5 = 0 ( no Vcc) salta a Ret
   Goto Ret                   " Salta a Ret

loop:
         High 1                     " Enciende el Led de B1


Haver si me echais un cablecillo Giño que no lo logro Giño gracias de antemano.

Pony
Título: RE: Detectar Pulsación
Publicado por: LordLafebre en 24 de Febrero de 2006, 16:10:00
Hola:

No lo hagas con "5" refierete al puerto como PORTB.5... lo demas esta bien, ti lo que haces es preguntar entre constantes... es decir, preguntas algo que nunca sera verdadero: 5=1 ó 5=0
Título: RE: Detectar Pulsación
Publicado por: ponyony en 24 de Febrero de 2006, 18:01:00
ok, muchisimas gracias por ser tan rapido Giño me funciona bien Giño lo unico que tuve que indicarle que al iniciar emepzara en estado "0" jejej ahora me surgio otra duda, como puedo hacer una comprovacion de si pulso un boton, aunque el programa este dentro de un blucle o una pausa, es decir quiero un boton que detenga el programa o el proceso del PIC y me salte al inicio de codigo, donde selecciono la opcion que quiero.

osea

1) apaga luz
2) enciende
3) reset

si ahora mismo esta con la luz encendida pero esta ejecutando un bucle de 5 segundos para que la luz este ON durante 5 segundos, pero yo quiero que si le doy al 3( reset) pare de hacer lo que esta haciendo y me deje otra vez seleccionar el 1 o 2.

weno espero haverme explicado bien Giño gracias

pony
Título: RE: Detectar Pulsación
Publicado por: LordLafebre en 24 de Febrero de 2006, 21:23:00
Hola:

Pues el tiempo de espera no lo hagas directamente usando pause 5000 si quieres que demore por ejemplo los 5 segundos, puedes hacer un bucle y dentro de el hacer retardos muchos mas cortos, de tal manera que esos retardos sumados con el numero de iteraciones te de el tiempo que desees, y dentro de ese bucle pues preguntas por el estado del pulsante y si es oprimido lo haces uq salte a una etiqueta para que cumpla la accion que deseas, puedes utilizar un FOR con n numero de repeticiones para generar X tiempo. Sonrisa Gigante