Une boucle temporisé sur Mikro C
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Une boucle temporisé sur Mikro C



  1. #1
    inviteeccd5c88

    Une boucle temporisé sur Mikro C


    ------

    Bonsoir à tous

    j'ai besoin d'aide pour programmer un PIC16F84A sur mikro C

    mon problème consiste à répéter une suite d'instructions (4 instruction dans mon programme ) pendant une
    seconde autrement dit bouclé le programme dans ces 4 instruction pendant une seconde !

    la solution que je vois pour répéter ces instructions pendant un intervalle de temps
    c'est de mettre ces instructions dans une boucle for qui se compile pendant une seconde
    comme ci-dessous:

    for(temps=0;temps<=X;temps++) {
    instruction 1 ;
    instruction 2 ;
    intsruction 3 ;
    intsruction 4 ;
    }
    dans cette boucle X doit etre choisie de tel sorte que la boucle for se répétera pendant une seconde

    si cette solution pourra m’être utile je vous demande de m'aider à identifier le type de la
    variable temps et la valeur de X
    sinon je vous demande de me proposer une autre solution

    je vous remercie d'avance

    -----

  2. #2
    adipie

    Re : Une boucle temporisé sur Mikro C

    La question n'est pas précise, tu souhaites quitter la boucle après 1 seconde ou terminer la boucle ?
    Sinon tu peux générer une interruption toutes les secondes avec le timer du Pic.

  3. #3
    invite5637435c

    Re : Une boucle temporisé sur Mikro C

    Bonjour,

    normalement pour ce que tu veux faire c'est plutôt un do....while

    Code:
    do{
    
    instruction1;
    instruction2;
    instruction3;
    instruction4;
    } while(tempo_1s==0);

  4. #4
    invite3d2336a7

    Re : Une boucle temporisé sur Mikro C

    Hello,

    Que ce soit via MikroC ou autre langage/compilateur, tu n'aura d'autre choix que de passer par un temporisateur.
    Comme le dit adipie, tu veux exécuter les instructions toutes les secondes (1 seconde = temps_instructions + temps restant) ? ou avoir un délais du'une seconde entre l'exécution des instructions ?

    Si t'es dans la première configuration, le mieux est de passer par l'assembleur pour ce bout de code, ce qui te permet de garder le contrôle des timings et d'intégrer le bout de code de HULK28.
    Si t'es dans la seconde config, tu fait simplement un do while avec dans ta boucle un "delay_ms = 1000" si j'ai bonne mémoire.
    Cela dépend aussi de la précision nécessaire.

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

    Re : Une boucle temporisé sur Mikro C

    vous avez tout a fait raison moi j'ai réussi à le faire par un timer
    je vous remercie

  7. #6
    dje8269

    Re : Une boucle temporisé sur Mikro C

    post la solution ca pourras en aider certains
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  8. #7
    inviteeccd5c88

    Re : Une boucle temporisé sur Mikro C

    oui dje on est ici pour s'entraider mais le fait poster la solution signifie poster un programme un peu compliqué
    dont l'énoncé est un peu long (realisation d'un décompteur commandé par START et PAUSE par
    un seul pic 16F84A sur deux afficheur 7 segments cathode commun )
    je vais comeme faire mon mieux pour l'expliquer

    moi j'avais en fait pas 4 mais 8 instructions
    ces instructions contiennent 2 variable i et j qui changent de valeur a chaque fois grace à la boucle
    for imbriqué

    ce que je vais moi c'est d'écrire [ delay_ms(1000); ] à l'interieur de la boucle for imbriqué pour maintenir
    les valeurs i et j pendant une seconde et pendant ce temps là j'ai créé une interuption par le Timer0 dans lequel j'ai mis ces 8 instruction qui s'éxécutent apres chaque 25 ms (selon la configration de PS0 ,PS1, et PS2)

    cela était le principe ou plutot l'une des methodes pour realiser ce type de decompteur ;
    et Merci pour vos réponses

  9. #8
    invite2d7c3f34

    Re : Une boucle temporisé sur Mikro C

    Tant mieux pour toi

    L'interruption ne dépend pas seulement du Prescaler(PS0, PS1 et PS2), elle dépend aussi de la fréquence d'horloge utilisée.

    Il y a un logiciel pour vous faciliter la tâche avec les timer0 et leur interruptions.

  10. #9
    inviteeccd5c88

    Re : Une boucle temporisé sur Mikro C

    euh; vous avez raison merci pour le rappel

Discussions similaires

  1. relation entre gain statique en boucle ouverte et celui en boucle fermee
    Par invite21730e48 dans le forum Électronique
    Réponses: 4
    Dernier message: 29/09/2014, 21h47
  2. Diagramme de Bode boucle ouverte et boucle fermée
    Par invite29a24ce3 dans le forum Physique
    Réponses: 4
    Dernier message: 21/06/2012, 14h24
  3. Programmation Mikro C
    Par invite1499a0d3 dans le forum Électronique
    Réponses: 13
    Dernier message: 21/03/2012, 20h53
  4. Compilateur C Mikro C
    Par invited94a265e dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 12/01/2011, 16h23
  5. mikro tik
    Par invite7bb02486 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 07/10/2010, 15h05
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...