Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Pic



  1. #1
    prof2techno

    Rebonjour à tous!

    Je cherche à faire tourner une routine durant 2 secondes indépendament du nombre de cyles contenus dans cette routine.

    Merci pour votre attention

    Eric

    -----

  2. Publicité
  3. #2
    14bds75_cb

    salut l'ami,

    Cela n'a aucun rapport avec ta question, mais je le demande quand même !

    Tu es prof de technologie ???

    Car si tel est le cas, j'aimerai des infos, car je veux le devenir !

    Merci !!

  4. #3
    JP

    Salut prof2techno,

    Je crois que tu peux utiliser un timer.
    C'est une horloge qui tourne en parallele avec ton programme.
    Le probleme c'est les 2s c'est quand meme long.
    Faut voir la doc du pic que tu utilise.

    J'espere avoir repondu à ta question

  5. #4
    Jack
    Modérateur
    salut,

    je ne connais pas les PIC mais c'est pareil avec tous les microcontrôleurs:

    on génère une interruption à l'aide un des timers internes et si la tempo n'est pas assez longue, le programme d'interruption décrémente une variable interne en RAM. Lorsque la valeur atteind 0, la tempo est terminée.

    Une autre solution consiste à mettre un compteur en 'cascade' avec le timer.

    A+

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    Pierrre

    Bonjour
    il faut se servir du timer.
    pour le 16f84, l'horloge du timer peut etre interne (oscillateur du pic avec predivision programmable) ou externe .
    2 secondes, c'est en effet assez long, et a moins de faire fonctionner le pic a tres faible vitesse (c'est possible sur un pic) et d'utiliser l'horloge interne , il me semble plus adapte d'utiliser une horloge externe.
    Si on met un compteur en cascade, il faut alors tenir compte du temps d'execution des instructions.

    Voir le cours de Bigonoff .... une mine de renseignements utiles !

    A+

  9. #6
    Marc

    Citation Envoyé par Pierrre
    Bonjour
    il faut se servir du timer.
    ...
    Si on met un compteur en cascade, il faut alors tenir compte du temps d'execution des instructions.
    Effectivement, le plus simple est de se servir du Timer (avec horloge interne) et de ses interruptions. A chaque interruption, tu decrémentes un compteur qui lorsqu'il est arrivé à zéro signale la fin du temps. Le fait d'utiliser l'interruption permet de ne pas avoir à tenir compte du temps des instructions, car le timer repasse à zéro automatiquement dès qu'il déborde et donc il recommence à compter même pendant qu'on traite l'interruption.

    Avec un quartz à 4MHz, 2secondes représentent 2 x 10^6 cycles. Avec un prescaler reglé à 1/256 pour le timer, cela fait 7812 cycles. Si le timer est 16 bits, c'est faisable en une seule interruption. Si le timer est 8 bits, il faut 30 interruptions.

    Hope it helps ...
    Marc

  10. Publicité
  11. #7
    Pierrre

    ops: exact, pas besoin de compter le temps d'execution des instructions...

    16f84 timer 8 bits

    A+

  12. #8
    prof2techno

    OK merci à tous pour vos conseils.
    J'avais pensé à cette solution avec le timer mais je débute et je ne me sens pas encore assez à l'aise donc j'ai réfléchi à une autre solution :
    pour faire tourner mon servomoteur, je génère un train d'impulsions séparées par 20 ms donc si j'incrémente un compteur à chacune de ces impulsions et que je connais le nombre d'impulsions en 2s ...

    Qu'en pensez vous ?


    Merci

    Eric

  13. #9
    Marc

    Bah oui c'est exactement ça qu'il faut faire. 20msec c'est une très bonne base de temps pour 2sec (100 fois).
    Fallait le dire que tu disposais déjà de 20msec ...
    Bravo !

    Marc

  14. #10
    prof2techno

    OOOPPPSS
    C'est vrai qu'en relisant j'avais complètement oublié de donner l'application de mon montage...

    Sorry

    Eric

Discussions similaires

  1. Pic et pic et colegram...
    Par abracadabra75 dans le forum Électronique
    Réponses: 8
    Dernier message: 25/04/2008, 19h46
  2. erreur 0X00 programmation PIC plus questions sur les PIC
    Par ROTT dans le forum Électronique
    Réponses: 4
    Dernier message: 22/07/2007, 14h36
  3. Réponses: 0
    Dernier message: 18/03/2007, 15h43
  4. Pic 16f877 Pic basic pro conseil
    Par ledinblue dans le forum Électronique
    Réponses: 10
    Dernier message: 04/01/2007, 17h26
  5. Qui connais logi pic & et question à propos des pic
    Par Floris dans le forum Électronique
    Réponses: 10
    Dernier message: 29/05/2006, 22h40
Découvrez nos comparatifs produits sur l'informatique et les technologies.