Autor Tema: Ayuda con programa en PCW para PIC16f628a  (Leído 1268 veces)

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

Desconectado IsaacF16

  • PIC10
  • *
  • Mensajes: 1
Ayuda con programa en PCW para PIC16f628a
« en: 25 de Noviembre de 2016, 18:55:56 »
Hola, pues soy nuevo en este foro y mi duda es ustedes como harían un programa en PCW o pic c compiler para un arranque y paro de un motor es que apenas intento aprender este lenguaje, la funcion es que al energizar el pic un led rojo indique que el circuito no esta trabajando al presionar un boton pulsador se activen dos puertos del PIC y se queden "enclavados" uno para un led verde y otro "para el motor" y al presionar otro bp se corte la energía y de encienda de nuevo el led rojo, les agradecería mucho su ayuda  :oops:

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Ayuda con programa en PCW para PIC16f628a
« Respuesta #1 en: 25 de Noviembre de 2016, 19:06:31 »
Pensalo como hacerlos con leds, y el programa es lo mismo... Vos ya lo dijiste.

- Si detecto el boton de arranque presionado pongo a 1 las 2 salidas
- Si detecto el boton de arranque NO presionado no hago nada
- Si detecto el boton de parada presionado pongo en 0 las 2 salidas
- Si detecto en boton de parada NO presionado no hago nada


Código: C
  1. while(1)
  2. {
  3.     if ( BotonArranque == presionado)
  4.     {
  5.          Salida = 1;
  6.      }
  7.     if ( BotonParada == presionado)
  8.     {
  9.          Salida = 0;
  10.     }
  11. }


Ojo, esto NO posee proteccion en el caso de que se tengan presionado los 2 botones, sino podrias hacer:

Código: C
  1. while(1)
  2. {
  3.     if ( BotonParada == presionado)
  4.     {
  5.          Salida = 0;
  6.     }
  7.     else
  8.     {
  9.         if ( BotonArranque == presionado)
  10.         {
  11.             Salida = 1;
  12.          }
  13.      }
  14. }

Asi solo arranque SI y solo SI el boton de parada esta suelto.

Una ves que le pones un 1 en la salida, ese salida queda activa hasta que le pongas un 0, si le pones otro 1 no hay problema. Entonces tus salidas siempre estan "enclavadas".