Consulta de código para programar el microcontrolador Pic16f84

Hola... Tengo una duda, cuando se despierta el micro (PIC16f84) de modo sleep, había leído y ahora no recuerdo donde... Que se tarda un cierto tiempo cuando se depierta el micro de modo sleep, o sea, para estailizar el cristal y demás creo...
Hice un programita el cual mediante un interrupción por RB0 (switch configurado en forma toggle) hace secuenciar dos led 10ms cada uno y queda así hasta que se presione el switch para ir a modo sleep y quedar allí hasta que se presione nuevamente... Esta es la parte del progra.. Que tiene el problema
DORMIR CLRF PORTB
                            SLEEP
                             no
                            BTFSS TOGGLE, 0 ; SI TOGGLE ESTA EN 0 => DUERME
                            GOTO                DORMIR
                            GOTO                 push_pull
si no pongo ' nop ' depues de  sleep  no funciona el programita !!! Es como que necesita un ciclo para recuperse o algo asi...
Desde gracias

1 respuesta

Respuesta
1
No soy tan experto en el tema, sin embargo, esa información puedes encontrarla en el datasheet del microcontrolador. Estoy seguro de ello...
Es posible que cuando se despierte, aparte de tener un tiempo de inactividad para estabilizarse, el reloj no este estabilizado realmente, y en la primera instrucción no pueda realizarse con claridad.
En atmel puedes especificar ese tiempo de inactividad al programar los fusibles, no recuerdo si en pic puedes hacerlo o no.
En caso de que tengas problemas con el oscilador, puedes usar un oscilador externo, que ya directamente te dará una senyal de reloj perfecta y se necesitara mucho menos para despertar.
En resumen, Mira el Datasheet para ver ese tiempo. Mira si se puede configurar y anyadir un poco más y si no, cambias el xtal por un oscilador de la frecuencia si quieres..
O simplemente deja ese no. :).. por 1us@4Mhz no creo que te vayas a llegar tarde.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas