[Programmation] sortir du mode sleep avec 12f508
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

sortir du mode sleep avec 12f508



  1. #1
    elsena

    sortir du mode sleep avec 12f508


    ------

    Bonjour,

    Je cherche un exemple de programme ASM pour sortir du mode sleep 12f508 avec un changement d'état de l'entrée.
    Pouvez vous m'aider?

    Existe t'il un logiciel pour les calculs des boucles des pics? Ceci serait très utile dans le peaufinage des tempos.

    A+

    -----

  2. #2
    antek

    Re : sortir du mode sleep avec 12f508

    Citation Envoyé par elsena Voir le message
    Je cherche un exemple de programme ASM pour sortir du mode sleep 12f508 avec un changement d'état de l'entrée.

    Existe t'il un logiciel pour les calculs des boucles des pics? Ceci serait très utile dans le peaufinage des tempos.
    Tu peux donner un lien vers ton PIC ?
    Je n'en connais pas, mais c'est pas bien compliqué de faire à la main.

  3. #3
    jiherve

    Re : sortir du mode sleep avec 12f508

    Bonsoir
    amha ce n'est absolument pas du soft mais purement du hard car par définition en mode sleep un µC ne fait rien, par contre il faudra le configurer avant de le faire dormir c'est documenté dans la data sheet qu'il faut lire!
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    gedonet

    Re : sortir du mode sleep avec 12f508

    Citation Envoyé par elsena Voir le message

    Existe t'il un logiciel pour les calculs des boucles des pics? Ceci serait très utile dans le peaufinage des tempos.

    A+
    Bonjour

    Il en existe quelques uns:
    http://www.bezstarosti.cz/soft/picdelay/picdelay.htm
    http://downloads.informer.com/pic-timer-calculator/0.9/
    http://waihung.net/microchip-delay-calculator/
    http://www.biltronix.com/picloops.html
    un en ligne http://www.piclist.com/techref/picli...egen/delay.htm
    Il existe aussi picdel que j'ai beaucoup utilisé mais qui ne semble plus fonctionner en 64 bits: http://www.aurelienr.com/electroniqu...lec/picdel.zip

    Gilles

  5. A voir en vidéo sur Futura
  6. #5
    invite03481543

    Re : sortir du mode sleep avec 12f508

    Citation Envoyé par elsena Voir le message
    Existe t'il un logiciel pour les calculs des boucles des pics? Ceci serait très utile dans le peaufinage des tempos.

    A+
    Bonjour,

    si tu as un oscillo à disposition, tu peux utiliser une sortie dédiée qui pourra "espionner" ce que tu souhaites visualiser coté timing.
    Il est même utile d'avoir une led (voir plusieurs) pour faire quelques tests visuels quand tu débugges.
    @+

  7. #6
    elsena

    Re : sortir du mode sleep avec 12f508

    normalement on crée un sous programme d'interruption, cela ne semble pas être le cas pour ce pic
    le data signale de mettre le GPWU ( bit 7 du option reg ) à 0 pour sortir du sleep avec le changement d'état des entrées GPI0/1/3.
    Et demande de lire les entrées avant de rentrer le sleep. En quoi consiste ce dernier point?

  8. #7
    invite03481543

    Re : sortir du mode sleep avec 12f508

    Pour s'assurer que l'entrée est bien stable avant d'envoyer la commande sleep, en cas de rebonds.

  9. #8
    elsena

    Re : sortir du mode sleep avec 12f508

    merci à vous
    cela fonctionne mais il faut que je trouve la bonne place du sleep pour mon programme, le 508/9 fait un reset complet quand on le réveille

  10. #9
    PA5CAL

    Re : sortir du mode sleep avec 12f508

    Bonsoir

    D'après la doc, lorsqu'on prévoit une mise en veille, il suffit de tester le contenu du registre d'état (STATUS, à l'adresse 03) au démarrage du programme afin de vérifier la cause de l'initialisation du micro-contrôleur.

    Les bits à tester sont :
    • GPWUF (bit 7), qui est positionné à 1 si la sortie de veille a été provoquée par le changement d'état d'une entrée (Wake-up from Sleep on pin change),
    • /T0 (bit 4) et /PD (bit 3), qui sont positionnés comme suit quand GPWUF=0 :
      - /TO,/PD=11 : démarrage après mise sous tension,
      - /TO,/PD=00 : sortie de veille provoquée par le watchdog,
      - /TO,/PD=10 : sortie de veille provoquée par /MCLR.
    Toutefois, en cas de redémarrage lorsque le micro-contrôleur n'est pas en veille :
    - /TO et /PD sont inchangé si la réinitialisation est provoquée par /MCLR,
    - /TO est positionné à 0 et /PD est inchangé si la réinitialisation est provoquée par le watchdog.

    Par conséquent, quand on utilise /MCLR et/ou le watchdog, on a intérêt à positionner au plus tôt les bits /TO et /PD de sorte qu'on puisse effectivement déterminer la cause du redémarrage. Comme ces deux bits ne peuvent coder que 4 situations sur les 5 possibles quand GPWUF=0, il faut faire un choix en rapport avec les besoins de l'application.


    Le problème ne se pose pas si /MCLR et le watchdog restent inutilisés. Dans ce cas, le test de GPWUF suffit : si GPWUF=1, c'est que le microcontrôleur sort de veille, et le programme n'a plus qu'à reprendre à une adresse convenue.

    Attention, les entrées doivent être lues immédiatement avant la mise en veille, afin de servir de référence pour la détection du changement d'état. Sinon, on risque un réveil intempestif, dans le cas où leur état aurait changé depuis leur précédente lecture.
    Dernière modification par PA5CAL ; 04/09/2017 à 20h30.

Discussions similaires

  1. Le mode sleep sur Mikroc pro ?
    Par IHCAAMEL dans le forum Électronique
    Réponses: 8
    Dernier message: 19/10/2012, 19h10
  2. mode sleep sur pic
    Par alainav1 dans le forum Électronique
    Réponses: 4
    Dernier message: 08/09/2011, 08h52
  3. PIC différence entre le mode iddle et le mode sleep
    Par Fiston dans le forum Électronique
    Réponses: 4
    Dernier message: 18/01/2010, 10h30
  4. [PIC]-Mode SLEEP,IDLE
    Par jorg1n dans le forum Électronique
    Réponses: 9
    Dernier message: 28/02/2008, 18h54
  5. le mode sleep des picmicrocontrollers
    Par invitef9d6b4b6 dans le forum Électronique
    Réponses: 0
    Dernier message: 07/03/2007, 12h17
Découvrez nos comparatifs produits sur l'informatique et les technologies.