[Plutôt urgent ;)] Timer PIC 16F877A
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

[Plutôt urgent ;)] Timer PIC 16F877A



  1. #1
    invite2c63a9dc

    Question [Plutôt urgent ;)] Timer PIC 16F877A


    ------

    Bonjour,

    Je suis en Terminale S SI, je dois mener un projet et je suis bloqué sur une partie de programmation.

    J'utilise Flowcode V4, et je dois calculer une distance.

    Pour cela j'utilise un émetteur à ultrason placé sur le pic et envoie une salve.
    Mon problème est le suivant: Est-il possible de compter un temps (comme un chronomètre) avec flowcode ?

    Je cherchais à la base un timer pur et simple qui s'arrêterait grâce à une valeur retour et me donnerais un temps.
    Mais il n'y a pas de timer de ce genre, juste peut-être un timer interruption dont je ne comprend pas son fonctionnement...

    Merci d'avance,

    Henri

    -----

  2. #2
    invite07d645db

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Je ne connais pas flowcode, mais voilà comment je ferais en C :
    *Lancer un des timers du PIC ( surement le TIMER1) en freerun (il compte quoi)
    *Lorsque tu émets ton ultrason, tu stocke la valeur actuelle du timer.
    *Lorsque tu le reçois, tu stocke la nouvelle valeur du tmr1.

    Tu n'as plus qu'a soustraire la nouvelle valeur à l'ancienne, et tu obtiens le temps écoule (pas en secondes, évidemment), que tu peux alors convertir en distance.

  3. #3
    invite5c0d525e

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Et si entre temps le timer déborde ?

  4. #4
    Gérard

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Citation Envoyé par gabuzo Voir le message
    Et si entre temps le timer déborde ?
    Et si le timer déborde plusieurs fois ?

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

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Suffit de regarder combien de fois il à déborder pour compter correctement...

  7. #6
    invite5c0d525e

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Et c'est pas plus simple de lancer le timer en même temps que l'emission de l'ultrason ?

  8. #7
    invite2c63a9dc

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Merci à tous pour vos réponses

    pour le lancement du timer1 en C, je ne sais pas comment faire du tout :s
    mais je sais que je peux intégrer du code en C dans le programme flowcode donc si tu as quelques lignes qui feraient l'affaires, je suis preneur

    Ensuite je suis pas sûr de savoir ce que veux dire le timer "déborde" (et au bout de combien de temps il déborde) mais toutes les 2 secondes je le remet à zéro pour avoir une nouvelle valeur.

    Donc si vous savez comment lancer et exploiter un timer, que ce soit en C ou en flowcode je reste ouvert à toute proposition.

    Merci!

  9. #8
    Gérard

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    TMR1 est géré par T1CON, voir doc page 51.
    Le schéma page 52 est aussi d'un grand intérêt dans la compréhension du fonctionnement de TMR1.

    Le timer déborde veut dire qu'il passe de FFFF (valeur max) à 0
    Je ne sais pas faire en C, ni en Flowcode.

  10. #9
    invite07d645db

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Citation Envoyé par gabuzo Voir le message
    Et si entre temps le timer déborde ?
    aucun soucis, comme tu soustrais la nouvelle valeur à l'ancienne, pour autant que tes 2 variables soient UNSIGNED, ça donne quand même le bon résultat .
    Si il déborde plusieurs fois, là en revanche ça marche pas ^^.

  11. #10
    invite2c63a9dc

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Merci pour vos réponses mais le problème n'est pas tout à fait résolu :s

    (Je me permet de vous relancer parce que mon professeur ne peut m'aider et que si je veux présenter le prototype prêt lors de mon oral j'aurais besoin de ce morceau de programme)

    Je précise donc mon problème:

    J'aurais besoin de savoir comment exploiter un timer du pic 16F877A à l'aide de Flowcode V4 ou de langage C (que je devrais pouvoir insérer dans le code Flowcode)

    Le débordement du timer est un problème plus secondaire dans la mesure où je ne sais toujours pas comment le lancer

    Merci!

    Henri

  12. #11
    invite58fbfa63

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    http://ww1.microchip.com/downloads/e...doc/39582b.pdf

    Si tu regardes à la page 57, il y a les variables à configurer pour utiliser le timer 1..

  13. #12
    invite2c63a9dc

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Oui! c'est exactement ca que je veux utiliser!
    Mais comment ?

  14. #13
    invite58fbfa63

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Ben, tu configures les variables au début de ton code, et tu fais appel à la variable qui démarre ou arrête le timer là où tu en as besoin dans le code..

  15. #14
    invite2c63a9dc

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    C'est bien ça que j'essaye de faire mais je ne sais pas comment avec le codage que j'utilise (Flowcode ou C).
    Flowcode à la base me permet de créer un algorithme en faisant appel à des routine composant(bouton switch ...) des entrée binaires, des sorties (PWM, led...).

    Mais il ne me propose pas de gérer un timer qui fait partie du PIC.
    Flowcode propose aussi d'insérer du codage C, c'est donc l'alternative à laquelle je pense.
    Mais je ne sais pas comment coder cette partie.

    J'aurais besoin de:
    -allumer timer
    -prendre la valeur du timer
    -arreter timer
    -réinitialiser timer

  16. #15
    invite58fbfa63

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    Je ne connais pas le logiciel flowcode, même si je comprend son principe..

    L'idéal serait que tu programmes ton pic directement en C++, ce qui est sensé être fait, sans passer par un logiciel de pré-machage..

    Vu que je ne connais pas ton logiciel, je ne peux pas te dire comment faire un code qui va interagir correctement avec le code fournit par le logiciel.. Désolé..

  17. #16
    invite2c63a9dc

    Re : [Plutôt urgent ;)] Timer PIC 16F877A

    D'accord merci beaucoup quand même

    Vous ne pourriez pas non plus me donner des indications en C ?

Discussions similaires

  1. A/n pic 16f877a
    Par invitefa15af9f dans le forum Électronique
    Réponses: 11
    Dernier message: 11/09/2012, 10h39
  2. pic 16F877A
    Par invite636b8579 dans le forum Électronique
    Réponses: 22
    Dernier message: 01/04/2009, 16h00
  3. CAN pic 16f877A
    Par invite85bfc8b3 dans le forum Électronique
    Réponses: 1
    Dernier message: 11/08/2008, 14h39
  4. pic 16f877a
    Par invited2ae1532 dans le forum Électronique
    Réponses: 3
    Dernier message: 01/02/2008, 11h49
  5. Comment utiliser les timer/compter du Pic 16f877A
    Par invitee5d5e4d7 dans le forum Électronique
    Réponses: 1
    Dernier message: 11/08/2005, 00h27
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...