PIC 16f876 et son Timer0 ...
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

PIC 16f876 et son Timer0 ...



  1. #1
    invite0e36b18a

    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
    invite0e36b18a

    Re : PIC 16f876 et son Timer0 ...

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

Discussions similaires

  1. pic 16f876
    Par invite6568e6cf dans le forum Électronique
    Réponses: 2
    Dernier message: 21/05/2006, 18h19
  2. Compilteur C pour pic 16F876
    Par invite1001d59c 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 inviteeda80a3d dans le forum Électronique
    Réponses: 2
    Dernier message: 14/07/2003, 01h04
Découvrez nos comparatifs produits sur l'informatique et les technologies.