Programmation: Création Horloge
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Programmation: Création Horloge



  1. #1
    jorg1n

    Programmation: Création Horloge


    ------

    Bonjour,
    je souhaiterai réaliser un petit programme qui est basé sur une horloge, et à certains instant t je voudrais réaliser une action; Pour ètre plus concret, voila un exemple: je voudrais créer un cycle de 1min et pendant les 5 premières secondes l'afficheur affiche "TOTO"ensuite pendant les 10 suivantes il actionne une sortie et change l'affichage,...ce qu'il me faudrait c'est le fond, comment réaliser "l'horloge"?
    Dois-je utilisé des boucle "for"(comment savoir la durée d'une boucle for en fonction de la valeur du quartz?)?
    Je vous remercie pour votre aide
    Nicolas

    -----

  2. #2
    f6bes

    Re : Programmation: Création Horlogue

    Bjr Jorg...
    Puisque tu as un quartz (qui délivre des "tops" de durée bien connus) , pourquoi veux tu créer une boucle "for" ?
    Suffit d'utiliser des compteurs qui vont sagement compter tes tops d'horloge (quartz).Connaissant la durée d'un top, tu peux savoir combien il en faut pour "générer" 1 seconde, 1 minute etc...
    Suffit d'arréter le comptage à 5 s, 1 minute etc..et de faire des remise à zéro (RAZ) pour démarrer un nouveau comptage.
    Ensuite tu fais faire à ta logique ce que tu veux faire (affichage etc..)
    Bonne journée

  3. #3
    PA5CAL

    Re : Programmation: Création Horlogue

    Bonjour

    Tout dépend de ton système de la façon dont tu peut utiliser ton horloge.

    1. S'il s'agit d'un petit système ne mettant pas en oeuvre d'interruption matérielle, et que tu es en mesure de calculer précisément le nombre de cycles d'horloge nécessaire à chacune des instructions de ton programme, alors tu peux en déduire successivement :
    - le nombre de cycles d'horloge correspondant à la partie utile de ton programme (affichage, actionnement de le sortie, changement de l'affichage)
    - le nombre de cycles d'attente nécessaire entre ces actions
    - le nombre de boucles imbriquées (for...) correspondant à ces attentes.

    2. Sinon, si ton système peut piloter un timer, tu peux programmer ce dernier de manière à provoquer des interruptions matérielles toutes les 5 secondes, qui vont cadencer ton programme (affichage entre la première et la deuxième interruption, actionnement de la sortie et changement de l'affichage entre la deuxième et la quatrième interruption, cette dernière étant la première du cycle suivant).

    3. Sinon, si l'état de ton horloge (timer) peut être lu, tu peux faire de même sans interruption, par polling: ton programme lit l'heure de manière régulière pour savoir quelle action entreprendre.

  4. #4
    jorg1n

    Re : Programmation: Création Horlogue

    Je te remercie f6bes.
    Mais jdébute en prog...quand tu dit de venir compter les tops d'horloge, comment t'y prend tu...(ça doit ètre une question un peu bète)
    Je te remercie

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

    Re : Programmation: Création Horlogue

    Merci Pa5CAL,
    ta 3ème solution m'allère pas mal,et rejoins celle de f6bes ,comment puis savoir si je peu lire l'heure de mon prog et comment,je travaille avec un PIC 18F4682 et je prog en C. si vous avez dess exemples en C sure ce pricincipe je suis volontier preneur.
    Encore merci pour votre aide, cela me permet de me débloquer sur mon projet...
    Nicolas

  7. #6
    PA5CAL

    Re : Programmation: Création Horlogue

    La solution proposée par f6bes correspond plutôt à ma solution n°1 (comptage plutôt que timer).

    Pour compter les tops d'horloge, il faut que tu réalises ton programme (en C, dans ton cas) sans tenir compte dans un premier temps de la valeur des attentes, puis que tu le compiles de manière à en récupérer le code machine.

    A partir de la doc de ton processeur, et connaissant la fréquence de ton horloge (qui est un sous-multiple de la fréquence de ton quartz) tu pourras compter combien de cycles correspondent aux instructions machine de ton programme, en déduire la durée d'exécution de ce dernier, et calculer précisément la durée des attentes nécessaires entre les différentes phases de fonctionnement que tu as prévues.

    En refaisant la même opération avec les boucles d'attente (boucles for... imbriquées) tu pourras calculer le nombre de boucles nécessaire à la réalisation des attentes.

  8. #7
    jorg1n

    Re : Programmation: Création Horlogue

    Je te remercie...
    Et maintenant ça me revient, j'ai fais ça en cours en 1ere ou terminale...lol
    Je vous remercie de votre aide.c'est vraiment sympa
    A bientot et bonne continuation.
    Nicolas

  9. #8
    PA5CAL

    Re : Programmation: Création Horlogue

    Si tu n'as pas besoin d'une grande précision, que la méthode que j'ai exposée te paraît trop lourde et que tu as la possibilité de reprogrammer plusieurs fois ton microcontrôleur (version non-OTP), alors tu peux procéder par essais successifs.

    Fais un premier programme avec un certain nombre de boucles d'attente, puis chronomètre son fonctionnement (en mesurant la durée de quelques dizaines de cycles, par exemple). Recommence avec un nombre de boucles d'attente différent. Tu peux ensuite en déduire le nombre de boucles d'attente nécessaire à l'aide d'une simple règle de trois.

  10. #9
    jorg1n

    Re : Programmation: Création Horlogue

    Merci PA5CAL

  11. #10
    polo974

    Re : Programmation: Création Horlogue

    Franchement, vu la bête (double horloge, timer dans toutes les chambres... ),
    il serait dommage de ne pas les exploiter et de faire une affreuse boucle tempo en soft, mais pour cela, il faut lire la doc et fouiller le site de microchip pour extraire la quintessence des appnotes...
    Par contre, il y aura un minimum d'assembleur (mais ce n'est pas ça le plus dur).

Discussions similaires

  1. [Divers] horloge de programmation
    Par andrevm dans le forum Dépannage
    Réponses: 1
    Dernier message: 10/07/2007, 20h29
  2. horloge
    Par inviteeae283d9 dans le forum Électronique
    Réponses: 2
    Dernier message: 05/04/2007, 16h16
  3. horloge
    Par invite12ff86d9 dans le forum Électronique
    Réponses: 0
    Dernier message: 26/01/2007, 20h50
  4. Horloge lumineuse, horloge mecanique et Einstein
    Par pidofra dans le forum Physique
    Réponses: 6
    Dernier message: 22/03/2006, 15h21
  5. Horloge
    Par invite4992f85f dans le forum Électronique
    Réponses: 5
    Dernier message: 12/12/2005, 20h29
Découvrez nos comparatifs produits sur l'informatique et les technologies.