[PIC]-Réalisation Temporisation pour rétroéclairage - Timer
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

[PIC]-Réalisation Temporisation pour rétroéclairage - Timer



  1. #1
    jorg1n

    [PIC]-Réalisation Temporisation pour rétroéclairage - Timer


    ------

    Bonjour,

    j'ai pour objectif de réalisé un environnement avec un afficheur graphique muni d'un rétro éclairage.Et je souhaiterai réaliser une temporisation pour la gestion du rétroéclairage. Je m'explique, lorsque je lance mon programme, je souhaite que le rétroéclairage s'allume, et qu'il s'éteigne à la durée fixée par l'utilisateur au préalable( de 1 à 10 min). Tout en sachant que pendant ce temps la je dois pouvoir réaliser d'autre fonction comme des conversions A/N, de l'affichage,...
    Auriez vous une idée sur le principe, la marche à suivre?
    je pensai réaliser un Timer de 400ms, et toutes les 400ms, j'incrémente une variable .
    Exemple: l'utilisateur à fixer 2 min -> 2x60/0,4 = 300. et lorsque ma variable = 300, j'éteins mon rétroéclairage, mais comment réaliser cela (la structure) si je veux faire d'autre apllication en meme temps?
    J'espère avoir été assez clair dans mon explication...
    Merci d'avance pour votre aide

    -----

  2. #2
    invite03481543

    Re : [PIC]-Réalisation Temporisation pour rétroéclairage - Timer

    Salut,

    il faut utiliser une tempo en effet, dont la durée de base est fixe (par exemple 100ms ou tu te sers d'une autre tempo utile ailleurs dans ton programme et dont le flag est détecté en interruption).

    Par exemple:

    Code:
    #define temps_retro   100  // il suffit de changer cette variable pour modifier le temps d'extinction.
    
    int_100ms()
    {
    
    if((count<temps_retro) && (retro==1)) count++;
    else if(count==temps_retro) 
     { 
     count=0;
     retro=0;
     }
    
    }
    Dans l'interruption:

    Code:
    int_machinchose()  // dépend de ton compilateur
    {
    if(TMR1IF==1)  // dans l'init du PIC configure TMR1IF pour qu'il déborde à 100ms
    {
    int_100ms();
    TMR1IF=0;
    }
    la variable retro sera activée par un B.P par exemple et tu peux également incrémenter par B.P une variable temps_retro, si tu veux que l'utilisateur ait accès à cette variable.
    C'est l'idée, ensuite on peut faire plus élégant.

Discussions similaires

  1. timer à base de pic
    Par spirou38 dans le forum Électronique
    Réponses: 1
    Dernier message: 31/07/2007, 21h31
  2. Temporisation en asm pour Pic
    Par invite61e27b7d dans le forum Électronique
    Réponses: 3
    Dernier message: 09/06/2007, 22h31
  3. realisation d'un timer
    Par invite91784abd dans le forum Électronique
    Réponses: 2
    Dernier message: 26/05/2007, 08h30
  4. timer dans un pic
    Par invite1a90427b dans le forum Électronique
    Réponses: 2
    Dernier message: 21/03/2007, 20h00
  5. Réalisation d'un timer avec un 555 ou 556
    Par invite5c797f99 dans le forum Électronique
    Réponses: 5
    Dernier message: 21/03/2007, 13h05
Découvrez nos comparatifs produits sur l'informatique et les technologies.