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

Ptite aide SVP



  1. #1
    mr_fayca

    Ptite aide SVP


    ------

    bonjour ,
    jai fait ce programme pour faire défiler _8 Leds , bon sa marche mais il est trop long , alors j'aimerai l'optimiser avec une boucle et puis un décalage , mais étant débutant je ne sait pas comment procéder , alors je vous demande de me pousser un ti peut pour continuer , merci

    Code:
    include <18f4680.h>
    #fuses HS,NOWRT,NOWDT,NOLVP
    #use delay (clock = 20mhz) // voir quartz !
    #define LED pin_d0
    #define LED1 pin_d1
    #define LED2 pin_d2
    #define LED3 pin_d3
    #define LED4 pin_d4
    #define LED5 pin_d5
    #define LED6 pin_d6
    #define LED7 pin_d7
    #define ON output_high
    #define OFF output_low
    #define T 10
    
    
    
    void main()
    {
    set_tris_D(0xFF); // déclaration du port D en sortie
    
    
    
        for (;;) // pour faire une boucle infinie ou While (1)
              {
               //output_toggle(LED); // inversion de l'état
               //delay_ms(1000); // delait de 1000 µs
               ON(LED);
               delay_ms(T);
               OFF(LED);
               ON(LED1);
               delay_ms(T);
               OFF(LED1);
               ON(LED2);
               delay_ms(T);
               OFF(LED2);
               ON(LED3);
               delay_ms(T);
               OFF(LED3);
               ON(LED4);
               delay_ms(T);
               OFF(LED4);
               ON(LED5);
               delay_ms(T);
               OFF(LED4);
               ON(LED5);
               delay_ms(T);
               OFF(LED5);
               ON(LED6);
               delay_ms(T);
               OFF(lED6);
               ON(LED7);
               delay_ms(T);
               OFF(LED7);
    }
    }

    -----
    Dernière modification par gienas ; 27/03/2013 à 17h56. Motif: Ajouté les balises code, obligatoires pour les programmes

  2. #2
    abracadabra75

    Re : Ptite aide SVP

    Bonjour.
    Tu réponds toi-même à la solution: le décalage.
    A chaque passage dans ta boucle infinie tu charges ton registre avec une valeur initialisée à 1 et que tu décales (sans oublier la temporisation sans laquelle tu verrais tes 8 leds allumées en continu, bien que pulsées).
    Le C comporte les instructions ad-hoc.
    Ecris ta boucle et montre-la nous.
    A+
    Dernière modification par abracadabra75 ; 27/03/2013 à 14h28.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  3. #3
    mr_fayca

    Re : Ptite aide SVP

    merci pour la reponse , pour le moment j'ai fait sa et sa marche
    Code:
    #include <18f4680.h>
    #fuses HS,NOWRT,NOWDT,NOLVP
    #use delay (clock = 20mhz) // voir quartz !
    #define LED pin_d0
    #define LED1 pin_d1
    #define LED2 pin_d2
    #define LED3 pin_d3
    #define LED4 pin_d4
    #define LED5 pin_d5
    #define LED6 pin_d6
    #define LED7 pin_d7
    #define ON output_high
    #define OFF output_low
    #define T 10
    
    
    
    void main()
    {
    set_tris_D(0xFF); // déclaration du port D en sortie
    
    
    
        for (;;) // pour faire une boucle infinie ou While (1)
              {
               //output_toggle(LED); // inversion de l'état
               //delay_ms(1000); // delait de 1000 µs
               switch (A)
                      {case ‘0’ : ON(LED);
                       case ‘1’ : ON(LED1);
                       case ‘2’ : ON(LED2);
                       case ‘3’ : ON(LED3);
                       case ‘4’ : ON(LED4);
                       case ‘5’ : ON(LED5);
                       case ‘6’ : ON(LED6);
                       case ‘7’ : ON(LED7);
                       delay_ms(T);
                       A++;
                       if (A==8) A=0;
                       }
               }
    J'aimerai faire le décalage mais je ne sait pas comment procéder ?!
    Une petite aides SVP ?
    Dernière modification par gienas ; 27/03/2013 à 17h57. Motif: Ajouté les balises code, obligatoires pour les programmes

  4. #4
    indri

    Re : Ptite aide SVP

    indice: 00100*10=01000 (en binaire)

    Edit: mauvais indice...dans ton exemple tu éteins jamais les leds!
    Dernière modification par indri ; 27/03/2013 à 14h39.
    Là où va le vent...

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

    Re : Ptite aide SVP

    Citation Envoyé par indri Voir le message
    indice: 00100*10=01000 (en binaire)

    Edit: mauvais indice...dans ton exemple tu éteins jamais les leds!
    Je ne comprend pas ce que tu veut dire ? je t'assure j'ai injecter le programme et il marche a merveille !
    Bon tu n'aurais pas une idée sur le décalage ?

  7. #6
    indri

    Re : Ptite aide SVP

    Ton deuxième exemple marche? Qu'une fois non?
    Parce que je ne vois aucune instruction qui éteint les leds (mais je suis pas expert en C pic ^^)
    Là où va le vent...

  8. #7
    _asm_

    Re : Ptite aide SVP

    Salut,
    Je pense que tu as programmé le uC avec l'ancien code...
    tu compares des caractères ('0') avec des chiffres (0) ... les leds ne devraient même pas s'allumer

  9. #8
    abracadabra75

    Re : Ptite aide SVP

    Arrête! Ne nous prend pas pour des .... pingouins!
    Tu as fait du copié/collé sans rien comprendre.
    Va voir ici
    Ce que tu écris montre que tu n'as sans doute même pas ouvert un bouquin ou lu ton cours de C.
    Il faut trois instructions pour réaliser ça: alors apprends ton cours et reviens et tu auras appris quelque chose (ou trouve d'autres gogos pour faire ton boulot à ta place).
    A+
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  10. #9
    biloux911

    Re : Ptite aide SVP

    Un petit masquage et >>.<<

  11. #10
    mr_fayca

    Re : Ptite aide SVP

    Non arrêter ,je ne prend personne pour un pinguin , désolé si vous le prenez de la sorte.
    Tous ce que je voulé s’était de l'aide ! C tout merci comeme!

Discussions similaires

  1. aide svp quel antivirus choisir svp, merci infiniment de votre aide
    Par angesoleil dans le forum Internet - Réseau - Sécurité générale
    Réponses: 5
    Dernier message: 11/11/2012, 20h35
  2. Aide SVP SVP ! Fonctions et Valeur absolue
    Par Lilouchkaa dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 30/10/2011, 18h57
  3. Aide svp
    Par invite075a10c6 dans le forum Physique
    Réponses: 2
    Dernier message: 21/09/2011, 22h29
  4. SPECIALITé Maths 2 ptite questions SVP
    Par inviteb5b71ae1 dans le forum Mathématiques du collège et du lycée
    Réponses: 2
    Dernier message: 06/07/2008, 15h31
  5. Mode op en Allemand... Une ptite aide?
    Par Fajan dans le forum Chimie
    Réponses: 7
    Dernier message: 30/04/2008, 18h36
Découvrez nos comparatifs produits sur l'informatique et les technologies.