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

Récupérer le signal carré TIMER du PIC



  1. #1
    joey57

    Récupérer le signal carré TIMER du PIC


    ------

    Bonjour,

    J'ai réalisé un montage qui me permet de compter des impulsions venant de 2 capteurs.

    Le but de mon programme est simple :

    - Je génère un signal avec le timer 2, de une seconde à l'état haut et une seconde à l'état bas.

    - Pendant que ce signal carré est à l'état bas, un compteur s'incrémente sur chaque fronts montants qui arrive sur la PIN0 du PORTA par exemple.

    - Ensuite quand ce signal passe à l'état haut, le compteur s'incrémente sur chaque front montant qui arrive sur la PIN1 du PORTA.

    Ce programme fonctionne très bien sur un ATméga de chez ATMEL, mais là je dois transférer mon programme sur un PIC16F870.

    Mon soucis est de savoir sur quelle broche je peux récupérer mon signal carré.
    Je n'ai pas l'habitude des PICs et même en ayant lu la notice je ne trouve pas.

    Ce signal carré va aussi me servir à commander d'autres choses.

    Merci

    -----

  2. #2
    joey57

    Re : Récupérer le signal carré TIMER du PIC

    Personne pour m'aider ?

    Il ne me reste plus qu'à trouver cette broche pour pouvoir faire ma carte...

    Je sais que sur le ATMEL la patte c'est PIND.5 qui s'appel OC1A mais sur le PIC...?

  3. #3
    vede

    Cool Re : Récupérer le signal carré TIMER du PIC

    Bonsoir,

    c'est détaillé dans la datasheet, chapitres 5 (Timer0) et 6 (Timer1)...
    http://ww1.microchip.com/downloads/e...doc/30569b.pdf

    Timer0 : Port RA4
    Timer1 : Port RC0

    vede
    ;O]
    _____________
    ....

  4. #4
    joey57

    Re : Récupérer le signal carré TIMER du PIC

    Salut, merci pour ta réponse.

    Je pensais que je devais absolument utiliser le TIMER2 pour pouvoir sortir le signal...

    Bon donc sachant que je dois utiliser le TIMER 8 bits, je prend le TIMER0.
    Tu me dis que la sortie c'est RA4, mais si on regarde le " block diagrame " c'est plutôt une entrée d'un OU ex ...nan ?

    Donc si je génère un signal carré avec le TIMER0, je pourrais le visualiser sur cette broche ?

    Merci

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

    Cool Re : Récupérer le signal carré TIMER du PIC

    re ;O]

    je suis pas certain d'avoir vraiment tout bien compris...

    tu génères un signal carré avec TIMER2... ça c'est OK...

    et après tu veux compter les impulsions pendant les états haut et bas générés par le Timer2... ?

    donc par exemple avec Timer0 ou Timer1 en entrée...

    c'est bien ça?

  7. #6
    joey57

    Re : Récupérer le signal carré TIMER du PIC

    Re

    Oui pour le début, non pour la fin

    En fait mes entrées sont simplement des PIN d'un PORT.

    Par exemple pour mes tests, j'ai pris la broche 0 et la broche 7 en entrées.

    Le signal carré est une seconde à " 1 " et une seconde à " 0 " ainsi de suite.

    Quand il est à " 1 ", le compteur compte les impulsions qui se trouvent en broche 0 durant une seconde, puis, quand le signal carré passe à 0, c'est les impulsions présente sur le broche 7 qui incrémentent le compteur.Et ainsi de suite.

    Mais ce signal carré on peu externaliser pour le visualiser, car, pour savoir si le signal est à 1 ou à 0, je viens lire PIND.5.
    J'ai réussi à faire tout ça avec le ATméga 8535, et maintenant je dois transférer ce programme dans un PIC16F870.
    Et ce signal carré j'en ai aussi besoin pour autre chose.

    Si tu veux je peux poster mon programme.

  8. #7
    schmo

    Re : Récupérer le signal carré TIMER du PIC

    salut,

    Tu peu trés bien initialiser le timer 2 pour une période de 1s, utiliser l'interruption de debordement TMR2IF, pour mettre à 1 ou à 0 n'importe quelle patte IO..
    Pour ce qui concerne les fronts montant, descendant. Sur un PIC18F Tu utilise les patte INT0,1,ou 2 (portB RB0,1,2), tu choisi le type de front qui vas déclenché une interruption. A chaque interruption tu compte...

    Tu peut aussi faire le même principe en polling.
    A+

  9. #8
    RISC

    Re : Récupérer le signal carré TIMER du PIC

    Schmo,

    Dans le principe tu as raison sauf si le jitter (la "jigue") n'est pas acceptable. En effet la période haute et basse n'auront jamais le même temps quand une broche est basculée par programme, à la différence de l'unité CCP qui est une unité hardware connectée au timer2 et qui coute 0 cycle au CPU qui peut continuer sa route ;=)

    a+

  10. #9
    vede

    Cool Re : Récupérer le signal carré TIMER du PIC

    Bonjour,

    en neffet RISC (et comme toujours merci pour tes détails),
    tant qu'à utiliser le Timer2 pour générer un signal carré
    autant utiliser le module CCP(wm) basé sur ci-celui...

    bon'Dimanche,
    vede
    ;O]
    ____________
    ...

    .
    Dernière modification par vede ; 30/05/2010 à 02h45. Motif: ;O]

  11. #10
    RISC

    Re : Récupérer le signal carré TIMER du PIC

    Salut,

    Après vérification il est également possible s'utiliser le TIMER1 avec l'unité CCP.
    Pour le TIMER2 c'est le mode PWM avec duty cycle 50% et pour le TIMER1 c'est le mode compare.

    a+

Discussions similaires

  1. convertir un signal carré en un signal sinusoidal
    Par ElectRou dans le forum Électronique
    Réponses: 11
    Dernier message: 21/05/2011, 12h31
  2. Réponses: 8
    Dernier message: 04/01/2010, 00h59
  3. Problème de signal carré avec un timer
    Par lukes dans le forum Électronique
    Réponses: 5
    Dernier message: 23/01/2009, 21h19
  4. Générer un signal carré 500hz avec flowcode sur pic 16f84
    Par lacostebizu dans le forum Électronique
    Réponses: 2
    Dernier message: 09/02/2007, 21h25
  5. Signal continue vers signal sinusoidale carré
    Par Boulbaga dans le forum Électronique
    Réponses: 9
    Dernier message: 11/05/2006, 18h01
Découvrez nos comparatifs produits sur l'informatique et les technologies.