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

PIC 16f876 et son Timer0 ...



  1. #1
    LaMouche

    PIC 16f876 et son Timer0 ...

    Bonjour à tous,

    pour asservir un moteur en position, j'ai mis sur son axe une roue codeuse (récuperée sur un magnétoscope ...) et je détécte le passage d'un des huit éléments réflichissants avec un petit capteur constitué d'une diode IR et d'un phototransistor ... j'éspère que vous me comprendrez, ce n'est pas très clair, mais le problème n'est pas là. Tout ce qu'il faut savoir, c'est qu'en sortie du capteur, j'ai un signal carré d'une fréquence d'à peu près 2Hz. Je veux compter le nombre de front montant de ce signal, j'ai donc utilisé le timer0 du pic en dirigeant la sortie du capteur vers l'entré T0CKI... Mais voilà, seulement 1 front sur deux (et encore, je n'en suis pas tout à fait sûr ...) est comptabilisé dans la valeur du timer0 ... Pourtant, le signal est bien net, compris entre 0 et 5V ...

    Je mets ici le prog qui doit faire fonctionner le moteur (ce prog devrait se contenter de faire faire un tour au moteur dans un sens puis de revenir en arrière sachant que sur la roue codeuse, il y a 8 surfaces réflichissantes)


    #include <16f876a.h>
    #define use_portb_lcd TRUE
    #fuses XT, NOPROTECT, NOWDT, NOLVP
    #use delay(clock=4000000)
    #include <lcd.c>
    #define motm PIN_C3
    #define motp PIN_C4
    #define nbrTour 1


    void main(void)
    {
    int nrtcc;
    lcd_init();
    setup_timer_0(RTCC_DIV_2 | RTCC_EXT_L_TO_H);
    nrtcc=nbrTour*8;

    printf(lcd_putc, "\f Bonjour");

    while(1)
    {
    set_timer0(0);
    output_high(motm);
    output_low(motp);
    while(get_timer0()<=nrtcc)
    {
    printf(lcd_putc, "\f1) timer0 : %i", get_timer0());
    }

    set_timer0(0);
    output_high(motp);
    output_low(motm);
    while(get_timer0()<=nrtcc)
    {
    printf(lcd_putc, "\f2) timer0 : %i", get_timer0());
    }

    }
    }
    Donc, avis aux adeptes du timer0, moi c'est la première fois que je m'en sers ... lol

    Merci de votre aide

    Michael

    -----


  2. #2
    LaMouche

    Re : PIC 16f876 et son Timer0 ...

    Vraiment personne pour me dire ce qui cloche ... je cherche en vain !

Sur le même thème :

Discussions similaires

  1. pic 16f876
    Par guiboud-ribaud dans le forum Électronique
    Réponses: 2
    Dernier message: 21/05/2006, 18h19
  2. Compilteur C pour pic 16F876
    Par thomarod dans le forum Électronique
    Réponses: 2
    Dernier message: 16/05/2006, 11h54
  3. Pic 16f876
    Par Toufinet dans le forum Électronique
    Réponses: 2
    Dernier message: 22/04/2006, 13h49
  4. interruption A/D DU PIC 16F876
    Par khalid dans le forum Électronique
    Réponses: 5
    Dernier message: 09/01/2006, 20h02
  5. pic 16f876 et overclocking
    Par dede dans le forum Électronique
    Réponses: 2
    Dernier message: 14/07/2003, 01h04