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

[PIC]-Interruption / Timer / Led



  1. #1
    jorg1n

    [PIC]-Interruption / Timer / Led


    ------

    Bonjour,

    voila ce que je souhaite réaliser...
    Mon programme tourne correctement, et dès lors que j'ai une interruption (appui sur un des boutons poussoirs sur RB0, RB1 ou RB2), cela allume une LED, active le timer (fixer pour 20 secondes env.) et après les 20 secondes, RE interruption "automatique" et extinction de la LED...
    Tout d'abord, es ce possible de faire un timer de 20 secondes??
    J'ai un petit programme avec l'utilisation du timer, je vais le modifier, et je vous le post..
    Merci d'avance.

    -----

  2. Publicité
  3. #2
    Gérard

    Re : [PIC]-Interruption / Timer / Led

    Bonjour,
    Tu ne dis pas de quel Timer il s'agit !
    Si TMR0 : 8 bit, TMR1 : 16 bit
    Tu vois tout de suite que le dépassement durera plus longtemps avec TMR1.
    Le quartz joue aussi un rôle.

    Il faut donner plus de précisions sur ce que tu as et ce que tu voudrais.

  4. #3
    jorg1n

    Re : [PIC]-Interruption / Timer / Led

    Merci pour ta réponse...
    en ce qui concerne le matériel que j'utilise( j'ai oublié de le dire...dsl), j'ai un PIC 18F4525, avec un quartz de 20Mhz..
    Je suppose utilisé le timer 1 car il me faut une durée assez grande..

  5. #4
    Gérard

    Re : [PIC]-Interruption / Timer / Led

    Citation Envoyé par jorg1n Voir le message
    Merci pour ta réponse...
    en ce qui concerne le matériel que j'utilise( j'ai oublié de le dire...dsl), j'ai un PIC 18F4525, avec un quartz de 20Mhz..
    Je suppose utilisé le timer 1 car il me faut une durée assez grande..
    Si tu as bsoin de durées longues, tu peux incrémenter un variable dans la routine d'interuption de TMR1 et quand le temps sera atteint, tu fais l'opération prévue.

    Une remarque : avec une fréquence de 20MHz en entrée de TMR1, le débordement ne tombera pas sur une valeur entière.

    Ex : tu prends un Qz de 3,2768MHz en entrée de TMR1.
    Cette valeur divisée par 65536 (max avec 16 bit), tu as 50 en sortie.
    Attention, si ce Qz est l'oscillateur principal, ce n'est pas cette valeur qui rentre dans TMR1 mais cette valeur divisée par 4.
    50 n'étant pas divisible par 4, il faut utiliser une astuce : à chaque débordement de TMR1, tu le recharges avec 8000h (soit le bit le plus fort à 1).
    Le débordement aura lieu pour 16384 impulsions d'entrée.

    En résumé : entrée TMR1 3,2768^6/4 = 819 200Hz qui deviennent en sortie de TMR1 (préchargé avec 8000h, ne pas l'oublier) 25.
    Il te suffit de compter une variable jusqu'à 25 et tu as 1 seconde.

    OUF
    Avec cette base de temps, tu fais ce que tu veux.
    La précision sera celle du Qz.

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

    Re : [PIC]-Interruption / Timer / Led

    Merci pour ta réponse explicite...
    je vais voir tout ça...
    Bonne fin de journée

Discussions similaires

  1. PIC interruption RS232
    Par abdelhafidhberkana dans le forum Électronique
    Réponses: 2
    Dernier message: 14/05/2009, 16h34
  2. Interruption Timer avec PIC16F876A
    Par black_is_beautiful dans le forum Électronique
    Réponses: 9
    Dernier message: 28/07/2007, 21h57
  3. interruption ( timer )
    Par paterson dans le forum Électronique
    Réponses: 0
    Dernier message: 13/03/2007, 19h50
  4. PB interruption avec Pic, language C
    Par Cyrius666 dans le forum Électronique
    Réponses: 1
    Dernier message: 05/06/2006, 16h24
  5. interruption A/D DU PIC 16F876
    Par khalid dans le forum Électronique
    Réponses: 5
    Dernier message: 09/01/2006, 20h02
Découvrez nos comparatifs produits sur l'informatique et les technologies.