Utilisation TIMER0 PIC18
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Utilisation TIMER0 PIC18



  1. #1
    invite3d4f2ff3

    Utilisation TIMER0 PIC18


    ------

    Bonjour,

    Une question toute bête de base, je cherche à faire un petit chronomètre pour mesurer un intervalle de temps sur une mesure avec un PIC18F4525. Je pense utiliser le Timer 0 en mode 16bits puis de compter ses débordements. Pour ce faire je comptait faire un préchargement du registre propre au timer 0 mais c'est là que ça coince. J'utilise un quartz 10Mhz sur mon PIC donc je pensait compter les débrodements toute les 1ms, pourriez-vous m'aider pour la configuration des registres T0CON et TMR0H/TMR0L. Je pensais mettre:
    Pour la valeur du préchargement: 1ms <-> (4x1ms)/Tosc = 40000
    d'ou un preload de 65536 - 4000 = 25536 = 0x63C0
    TMR0H = 0x63
    TMR0L = 0xCO
    T0CON = 0x88
    Mais le chronomètre obtenu n'est pas bon, je pense à un probleme de config, pourriez-vous m'aider?

    -----

  2. #2
    invite7a49d0d5

    Cool Re : Utilisation TIMER0 PIC18

    Bonjour,

    avec un Quartz 10Mhz, TCycle = 0.4uS...
    donc pour avoir un débordement au bout de 1ms (1000us)
    il faut "positionner" le Timer0 sur 2500 (x0.4=1000),
    enfin plutôt 65536 - 2500 = 63036...
    soit :
    TMR0H = 246;
    TMR0L = 60;

    vede
    ;O]
    ______________
    ...

    ps : tout ça avec Prescaler = 1...

  3. #3
    invite3d4f2ff3

    Re : Utilisation TIMER0 PIC18

    Peux tu détailler ton 2500? puis le souci c'est qu'il faut obligatoirement un prescaler minimum de 1:2...

  4. #4
    invite7a49d0d5

    Cool Re : Utilisation TIMER0 PIC18

    re ;O]

    ben je l'ai expliqué ci-dessus...
    à 10Mhz, TCycle (période d'une instruction) = 0,4us...
    donc pour "compter" 1ms(1000us) il faut compter jusqu'à 2500,
    car 2500 x 0,4us = 1ms...

    si tu es obligé d'utiliser le Precaler = 2, ben tu divises ta valeur par 2,
    soit ici 2500 / 2 = 1250...

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

    Re : Utilisation TIMER0 PIC18

    ok bon ba visiblement c'est autre chose qui déconne dans mon programme, certainement les interruptions des débordements du timer. Lorsque je comptabilise les débordements, je n'obtient pas du tout ce que je cherche, je vais donc chercher autre part que dans le Timer, merci quand mm...

  7. #6
    RISC

    Re : Utilisation TIMER0 PIC18

    Salut Pilou,

    Attention au TIMER0 qui fonctionne en mode 8 bits ou 16 bits. Je crois que par défaut il est en mode 8 bits (Legacy compatible PIC16).
    Peux-tu nous faire voir ton code ?
    Comment as-tu programmé les bits de configuration ?
    a+

  8. #7
    invite3d4f2ff3

    Re : Utilisation TIMER0 PIC18

    voicu une petite partie de mon code:
    Code:
                      INTCON.TMR0IF=0;
                      INTCON.TMR0IE=1;
                      INTCON.PEIE=1;
                      INTCON.GIE=1;
                      TMR0H = 0xFB;   
                      TMR0L = 0x1E;      
                      T0CON = 0x88;
    puis pour l'interruption:
    Code:
    void interrupt(){
    if(INTCON.TMR0IF){
        TIMER0_Over = TIMER0_Over + 1;
        INTCON.TMR0IF = 0;
        }    
     }
    Le Timer se déclenche bien mais le temps mesuré est complètement faux...

  9. #8
    RISC

    Re : Utilisation TIMER0 PIC18

    Salut,

    Tu as tout simplement oublié de recharger le TIMER0 dans l'interruption...
    Le seul TIMER autoreload dans les PIC18 est le TIMER2

    a+

Discussions similaires

  1. timer0 pic18f4550
    Par inviteb7e0a565 dans le forum Électronique
    Réponses: 20
    Dernier message: 26/08/2009, 22h47
  2. Timer0
    Par invite8dac0c00 dans le forum Électronique
    Réponses: 6
    Dernier message: 08/06/2009, 19h16
  3. Pic 16f887 timer0
    Par invite6e6334c6 dans le forum Électronique
    Réponses: 30
    Dernier message: 11/03/2009, 08h43
  4. Timer1 et timer0
    Par invitede857656 dans le forum Électronique
    Réponses: 4
    Dernier message: 18/01/2009, 06h16
  5. 4 secondes Timer0
    Par invite49060bcb dans le forum Électronique
    Réponses: 8
    Dernier message: 29/06/2006, 15h53
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...