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

4 secondes Timer0



  1. #1
    bimo

    Question 4 secondes Timer0


    ------

    salut les amis . je veux configuer mon Timer0 pour 4 secondes, j'ai lu la documentation de Bigonoff j'ai comris des choses ,mais mal heuresement je ne programme pas mon pic dirrectement en assmebluer j'utilise un compilateur C (PIC C PCW ).
    bon les fonctions offertent pare ce drenier en ce qui concerne le Timer0 sont les suivante
    Setup_Timer0() // je le configure interne/externe et si c'est pour le tmr0/wdt
    // et je defini le prescaler (2,4,8.......ou 128)
    Set_Timer0() // j'inisialise mon Timer0
    Get_Timer0()// j'obtin la valeur comptee par mon Timer0
    s'il vous plais, pourriez vous me dire comment, en utilisant ces fonction la ,configurer mon Timer0 pour 4 secondes (sachant que j'utilise un PIC16F84A avec un quartz de 4MHz).
    moi ce qui m'interresse c'est comment calculer la valeur du prescaler.
    merci d'avance pour vos reponses.

    -----

  2. Publicité
  3. #2
    astalavista

    Re : 4 secondes Timer0

    je connais pas ce circuit.
    mais bon ton prescaler si tu le met a 128, tu aura un timer de :
    4 Mhz / 128 = 32768 hz
    ce qui est encor trop.
    Donc tu ne peut pas, a moin de diviser ton resultat par une autre valeur.
    32768 / (1-.4) = 54613
    tu doit la valeur de ton timer encor pas 54613.

    à verifier

  4. #3
    bimo

    Red face Re : 4 secondes Timer0

    quoi ?!! vous ne connaissez pas le fameux PIC16F84A...c'est drole car c'est la premiere fois que je l'entend dans ce forum, mais bon merci tout de meme pour votre reponse , mais pourriez vous etre plus claire car je n'ai pas bien compris votre demonstration.
    ce n'est pas grave si c'est + ou - 4 seconde l'important pour moi est de savoire comment calculer ce temps.
    merci d'avance.
    Dernière modification par bimo ; 29/06/2006 à 08h54.

  5. #4
    paulfjujo

    Re : 4 secondes Timer0

    bonjour bimo

    Bien sur qu'il est (etait) connu ce pic16F84, il faut lui preferer le 16F628 aujourdh'ui voir 16F88....

    le timer0 sur 8bits ne pourra pas definir une tempo aussi longue!

    il faut definir le prescaler au maxi soit 256
    ensuite initialiser le timer0 à 252
    initialiser un "compteur de passage" à zero.
    valider l'interrupt timer0

    ce qui donne une tempo d'interruption de
    64,512 mS
    dans cette interruption,
    tu gere "compteur de passage" par 62
    au bout de 62 passage tu armes un flag qui correspond donc à 4 sec ecoulées et tu raz le compteur de passage
    dans ton programme principal tu surveilles ce flag
    et tu le RAZ dès utilisation...

  6. #5
    bimo

    Question Re : 4 secondes Timer0

    merci paulfjujo pour l'explication
    merci j'ai ajouter une chose c'est que le timer0 ne peux pas depasser une certene valeur (les 64 ms dans mon cas) mais pourrez vous m'expliquer comment l'avez vous calcule ?
    et une chose.....pourrais-je par exemple me passer de l'interruption du Timer0 ? autrement dis...je ne veux pas d'interruption dans mon programme, je veux tout simplement verifier en permanance mon timer0 et incrementer le une variable chaque overflow du timer jusqua ateindre la periode de temps desiree puis declancher une condition...?
    est ce posssible ? de desactiver toutes les interruption (disable_interrupts(GLOBAL)) et de travailler avec le timer0 ?
    merci

  7. A voir en vidéo sur Futura
  8. #6
    paulfjujo

    Re : 4 secondes Timer0

    J'ai un fichier excel qui sert à de multiples calculs
    dont les tempos
    ... qui definit donc le maxi possible ...
    voir page web:
    paulfjujo.free.fr
    application Datalogger

    Il est effectivement possible de travailler SANS interruptions
    mais dans ce cas tu devras constamment surveiller le flag de debordement du timer0 dans ta boucle principale
    qui devra durer moins de 64mS!

    Le mode interuption facilite la chose, car dans ce cas
    ton appli n'est pas mobilisée , gaspille seulement quelques microsecondes toutes les 64mS.

  9. Publicité
  10. #7
    bimo

    Question Re : 4 secondes Timer0

    enfait je n'ai jamais travaile avec les interruption c'est pousr ca que je les evites , je sais que ca sera plus facile avec une interruption, si seulement vous pouvez me referer a un site ou me donner un exemple de comment utiliser une interruption timer0 j'en serais reconaissant.
    et merci encore pour le document excel

  11. #8
    Pr Shadoko

    Re : 4 secondes Timer0

    Bonjour,

    Regardes dans le cours de Bigonoff (1° partie). Il traite du 16F84(A) et des interruptions. Son exemple est la commande d'une LED à 1Hz par le Tmr0. Tu n'as plus qu'à adapter les valeurs.
    Quand il n'y a pas de solution, c'est qu'il n'y a pas de problème !

  12. #9
    bimo

    Red face Re : 4 secondes Timer0

    merci Pr Shadoko pour votre reponse , mais malheureusement je ne sais pas programmer avec l'assembleur microchip, comme j'ai dis au debut de ce topic , je travail avec un compilateur C (PICC PCH) , donc ce que je veux (si c'est possible biensure) de voire un exemple en C.
    voila les fonctions offertent par mon compilateur :
    setup_Timer0().
    set_Timer0().
    get_Timer0().
    enable_interrupts().
    depuis ces fonctions la, pourrez vous me donner un ptit exemple de comment comment manipuler le timer0 et son interruption ?
    merci d'avance

Sur le même thème :

Discussions similaires

  1. Livres secondes indispensables
    Par dj_tenti dans le forum Physique
    Réponses: 2
    Dernier message: 19/09/2006, 15h24
  2. PIC 16f876 et son Timer0 ...
    Par LaMouche dans le forum Électronique
    Réponses: 1
    Dernier message: 04/04/2006, 00h24
  3. dérivé partielle secondes....
    Par os2 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 04/06/2005, 23h21
  4. 1000Hz pendant 5 secondes
    Par michel5002 dans le forum Électronique
    Réponses: 4
    Dernier message: 03/05/2005, 20h43
Découvrez nos comparatifs produits sur l'informatique et les technologies.