Consulta referente a Microcontroladores PIC16F877A

Buenas, tengo una pregunta. Quisiera saber si es posible hacer que un pulsador (PUSHBUTTON) Encienda o Apague un Pic. Y si es posible me podrian decir como realizarlo.

Muchas Gracias a todos Uds.

Saludos
 
Mejor explícanos que es lo que quieres hacer, ya que lo puedes hacer con el pin de reset.
 
Si existen maneras... pero la respuesta correcta depende de lo que quieres hacer... muchas veces la circuiteria externa que necesitas añadir consume mas corriente o es mas compleja que lo que tienes disponible...

La manera optima es como te comentaron antes... poner al micro en sleep y encenderlo con una interrupcion... pero no esta completamente apagado consume una corriente minima que esta en el orden de los uA
 
Muchas gracias por la respuesta. Ahora la otra pregunta que tengo es, en que ping puedo conectar el pulsador que se encargará de realizar el wake o el despierta del microcontrolador.

De verdad muchas gracias y disculpe es que he estado investigando mucho y aun tengo ciertos vacios en este mundo de microcontroladores:confused::confused::confused:
 
Como ya te comentaron los demas, para poder darte una respuesta adecuada, es necesario que expliques que es lo que quieres hacer o lograr, ya que de que la solucion que te brinden puede que no se la mas conveniente, si para hacer futuros cambios o desarrollar un proyecto mas complejo
 
Hola.

Si buscas en Google como 16F877A datasheet te sale la hoja de características donde puedes ver toda la información sobre el PIC que estás utilizando, y entre esa información está lo que buscas.

Para lo que quieres hacer yo utilizaría la entrada RB0/INT. Se me ocurren otras formas de hacerlo pero esa es la más sencilla.

Como te ha dicho ByAxel, en tu programa tienes que poner la instrucción SLEEP donde corresponda (cuando tenga que apagarse; podría ser al detectar la pulsación de tu pulsador, o en cualquier otra situación que te interese).

Para poder encenderlo mediante ese pulsador, el PIC tiene que estar correctamente configurado (habilitar la interrupción de esa entrada y realizar el programa correspondiente que la gestione).

Es más fácil de lo que parece.
 
Ok estoy tratando de realizar lo que uds me cuenta. Les cuento tengo un pulsador en el Puerto B0. Lo que quiero hacer es lo siguiente:

1.- Configuro las Interrupciones necesarias en este caso la que voy a utilizar es la del Puerto RB0/INT
2.- Inicio el Programa del Microcontrolador colocando la Función SLEEP

Ahora tengo una gran duda, no se como seguir despues de aqui. Como despierto el microcontrolador de ese estado y si este se encuentra ya encendido como hago para que llegue a un estado SLEEP accionando el mismo pulsador.

*Les cuento que estoy usando para programar el MPLAB con el compilador Hi-Tech.
** Si tienen algun código pero que sea de lenguaje C, me sirve asi me puedo guiar.

Gracias a todos Uds por responder.
 
El micro despierta automaticamente cuando recibe la interrrupcion INT, asi que solo necesitas hacer un programa que cuando detecte que presionan el boton solo mande la orden sleep
 
El micro despierta automaticamente cuando recibe la interrrupcion INT, asi que solo necesitas hacer un programa que cuando detecte que presionan el boton solo mande la orden sleep

Ok ya lo simule, y fino. Otra pregunta y no la hago más. Puedo usar el mismo pulsador del Puerto RB0/INT para llevar el Microcontrolador a Sleep( )???
 
claro... todo esta en tu manejo del programa... yo he logrado hacer multiples acciones con un solo boton... mido numero y duracion de cada pulsacion y en base a eso defino una accion
 
Atrás
Arriba