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

Code en C pour faire clignoter une led avec un Pic



  1. #1
    lcoulon

    Code en C pour faire clignoter une led avec un Pic


    ------

    Bonjour,


    Je voudrais faire clignoter une led mais ce principe :

    2 clignotements près brefs et raprochés contenus durant un intervalle de temps de 1 secondes puis rien pendant 2 secondes . etc ...

    schematisé ainsi :

    II__II__II ...

    Je voudrai utiliser un pic avec un quartz de 10 Mhz

    Auriez vous un exemple de code me permettant de faire ce clignotant ?

    Je vous remercie de votre aide,

    -----

  2. Publicité
  3. #2
    jagang

    Re : Code en C pour faire clignoter une led avec un Pic

    Veux-tu une grande présision ou simplement de l'à peu près ?
    Pour de l'à peu près tu peux faire ça :
    Code:
    for(;;)
    {
       for(i=0;i<=255;i++)
       {
          for(a=0;a<=255;a++);
       } // Boucle imbriquée pour faire perdre du temps
       sortie=!sortie;
       //ect ...
    }
    Les deux boucles imbriquées sont a calculer pour faire environ 1 sec
    Après si tu veux quelque chose de précis il faut utiliser le timer
    Si tu veux je te met un autre code

    Cordielement
    Jagang
    Jagang

  4. #3
    jagang

    Re : Code en C pour faire clignoter une led avec un Pic

    Voici une fonction qui fait perdre 0.99 sec :
    Code:
    char i,a,b;
    
    void uneseconde(void)
    {
    	for(i=0;i<=245;i++)
    	{
    		for(a=0;a<=245;a++)
    		{
    			for(b=0;b<4;b++);
    		}
    	}
    }
    Cordialement
    Jagang
    Jagang

  5. #4
    lcoulon

    Re : Code en C pour faire clignoter une led avec un Pic

    En fait je ne peux pas faire attendre le proc pour le délai de clignotement car sinon le déroulement du programme va etre trop ralenti.

    L'ideal serait le timer comme ci-dessous, dans mon programme j'ai une fonction simple qui fait juste clignoter simplement une led sans ralentir le reste du déroulement :

    Code:
            if ( TickGetDiff(TickGet(), t) >= TICK_SECOND/2 )
            {
                t = TickGet();
                LED0_IO ^= 1;            // Blink system LED
    Peut on modifier ce code pour faire le clignotement que je cherche à faire ?

    Si j'ai bien compris, TICK_SECOND doit representer une impulsion d'une seconde.

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

    Re : Code en C pour faire clignoter une led avec un Pic

    Quel est ton compilateur C ? Car on n'a sûrement pas le même
    Tu ne m'as pas répondu pour la précision
    Jagang

  8. #6
    lcoulon

    Re : Code en C pour faire clignoter une led avec un Pic

    Pour le compilateur, j'utilise C18 de Microchip.

    Pour la précision, l'ideal serait que ce soit le plus juste possible.

  9. Publicité
  10. #7
    jagang

    Re : Code en C pour faire clignoter une led avec un Pic

    Voila un code :
    Code:
    //attention respecter les majuscule et les minuscule
    //------E/S-----
    bit sortie @ RB0;
    char i,a,b;
    
    // Fonction principale
    void main(void)
    {
    	sortie = 0;
    	TRISB = 0b11111110; //1= entrée 0=sortie
    	TRISA = 0b11111111; //1= entrée 0=sortie
    	i=0;
    	a=0;
    	b=0;
    	for(;;)
    	{
    		i++;
    		if(i==215) {a++;i=0;}
    		if(a==215) {a=0;b++;}
    		if(b==3) {
    			// 0.998718 seconde
    			b=0;
    		}
    		nop();
    	}
    }
    C'est non-bloquant, ce qu'il y a dans le if(b==3) s'exécutera toutes les 0.998718 secondes
    Ne connaissant pas ton compilateur je ne sais pas comme faire avec le timer


    Cordialement
    Jagang
    Jagang

Discussions similaires

  1. comment faire clignoter une led?
    Par croco01 dans le forum Électronique
    Réponses: 11
    Dernier message: 24/12/2008, 17h49
  2. Faire clignoter une led sur pic 16F876A
    Par Rouliane dans le forum Électronique
    Réponses: 9
    Dernier message: 20/11/2008, 14h11
  3. Clignoter une LED avec intel 8051
    Par baskouteh dans le forum Électronique
    Réponses: 0
    Dernier message: 16/12/2007, 10h42
  4. clignoter une led avec pic 16F873
    Par ibrakanet dans le forum Électronique
    Réponses: 5
    Dernier message: 26/05/2007, 13h25
  5. COMMENT ,faire clignoter 4 LED avec un microswitch ?
    Par davidgag dans le forum Électronique
    Réponses: 3
    Dernier message: 03/05/2006, 19h14
Découvrez nos comparatifs produits sur l'informatique et les technologies.