Funcionamiento de contador con sleep

Foro para hablantes de español que deseen escribir en su lengua materna.

Moderator: Benj

Post Reply
Fer_taca
Posts: 91
Joined: Fri Oct 27, 2017 9:50 am
Has thanked: 13 times
Been thanked: 10 times

Funcionamiento de contador con sleep

Post by Fer_taca »

Hola,
tengo el programa que adjunto y necesitaría una pequeña aclaración de como implementar la función de sleep. En concreto el programa es el siguiente:
Esta realizado con un pic 16F628A para generar un emisor de 8 canales con oscilador interno. El programa en si funciona bien, pero al funcionar alimentado con batería me consume bastante y se agota rápidamente.
Consta de un teclado de 8 teclas, asignadas a los pines A0 a A7. Funcionado de la siguiente manera:
1º.- Inicialmente para que todo el teclado se active se necesita el tener pulsado de forma continua A0 durante al menos 2 segundos.
2º.-El teclado se mantiene activado durante 5 minutos esperando la acción sobre cualquier tecla, si pasado ese tiempo no se ha detectado ninguna tecla pulsada, el teclado queda desactivado.
3º.- Si se detecta la pulsación de cualquier tecla se activa a correspondiente salida en código BCD por los pines B0 a B3.

Bien me gustaría saber como implementar la función sleep de forma que mientras se esta en espera de los 5 minutos, el pic estuviera dormido y pasado ese tiempo el teclado quedase desactivado, pero que con la acción de cualquier tecla, el pic despertase y ejecutase acción correspondiente a la teca asociada.

Se que para dormir el pic debería de usar un bloque de C con la instrucción: ASM("sleep"); pero no encuentro el lugar apropiado de colocarlo y quizás usar un pin de B4 a B7 por cambio de estado para sacarlo del reposo. Pero no encuentro la forma de realizarlo.

¿Podrían ayudarme con este problema?

Muchas Gracias de antemano
Attachments
EMISOR_8_CANALES.fcfx
(41.79 KiB) Downloaded 234 times

Fer_taca
Posts: 91
Joined: Fri Oct 27, 2017 9:50 am
Has thanked: 13 times
Been thanked: 10 times

Re: Funcionamiento de contador con sleep

Post by Fer_taca »

Hola amigos:
Después de un breve tiempo alejado de la programación por motivos de salud (maldito Vovid-19), vuelvo a retomar el asunto del proyecto que adjunte al inicio.

Si bien este proyecto está funcionando correctamente, me gustaría añadirle una mejora para que las pilas/batería durasen más tiempo. Había pensado en la utilización del modo sleep tal y como indique en el proyecto original del primer post.

Se que para dormir el pic debería de usar un bloque de C con la instrucción: ASM("sleep"); pero no encuentro el lugar apropiado de colocarlo y quizás usar un pin de B4 a B7 por cambio de estado para sacarlo del reposo. Pero no encuentro la forma de realizarlo.

Para intentar comprender mejor el funcionamiento y uso de esta instrucción dentro de Flowcode, he creado un programa mas simple, de forma que se lee de forma constante el estado de un pulsador y de acuerdo a ese estado se actúa sobre una salida.

¿Podrían ayudarme con este problema?


Muchas Gracias de antemano
Attachments
Ejemplo_sleep.fcfx
(10.12 KiB) Downloaded 204 times

Fer_taca
Posts: 91
Joined: Fri Oct 27, 2017 9:50 am
Has thanked: 13 times
Been thanked: 10 times

Re: Funcionamiento de contador con sleep

Post by Fer_taca »

Ya lo solcioné.
Escribía mal el código dentro del bloque C.
Adjunto el fichero por si le puede ayudar a otra persona.

F.
Attachments
Ejemplo_V1_2.fcfx
(16.15 KiB) Downloaded 247 times

Post Reply