Programmation PIC - Page 8
Répondre à la discussion
Page 8 sur 8 PremièrePremière 8
Affichage des résultats 211 à 219 sur 219

Programmation PIC



  1. #211
    terrdala

    Re : Programmation PIC


    ------

    Bon voila,voici mes progrès en programmation,voici un programme que j'ai écrit.

    Code:
    #define BP1 PORTB.B1
    #define BP2 PORTB.B2
    #define LEDR PORTA.B0
    #define LEDB PORTA.B1
    
    unsigned char bascule1;
    unsigned char bascule2;
    bit seconde;
    unsigned int compteur;
    
    void interrupt()
    {
     if (INTCON.INTF == 1) // interruption sur RB0
     {
      INTCON.INTF = 0;
      if (BP1 == 1)
      {
       bascule2 = 0;
       compteur = 976; // time 250ms
       bascule1++;
      }
      
      if (BP2 == 1)
      {
       bascule1 = 0;
       bascule2++;
      }
     }
     
     if (INTCON.T0IF == 1) // interrutpion TMRO
     {
      INTCON.T0IF = 0;
      compteur++;
     }
    }
    
    void main()
    {
     CMCON = 7; // comparateur inactif
     PCON = 0b00001000; // int oscf interne 4MHZ
     OPTION_REG = 0b11000000; // pull up inactif et int rising RB0
     INTCON = 0b10110000; // GIE, T0IE et INTE activé
    
     PORTA = 0; // int 0V
     PORTB = 0; // int 0V
     TRISA = 0; // int full sortie
     TRISB = 0b00000111; // int RB0,RB1 et RB2 en entrée
     
     compteur = 0;
     bascule1 = 0;
     bascule2 = 0;
     seconde = 0;
     
    while(1)
    {
      if (compteur == 976)
      {
       seconde++;
       compteur = 0;
      }
    
    
      if (bascule1 == 1)
     {
      LEDR = 0;
      bascule2 = 0;
      if (seconde == 1)
      {
       LEDB = 1;
      }
    
      if (seconde == 0)
      {
       LEDB = 0;
      }
     }
     
     if (bascule1 == 2)
     {
      LEDB = 0;
      if (seconde == 1)
      {
       LEDR = 1;
      }
    
      if (seconde == 0)
      {
       LEDR = 0;
      }
     }
     
      if (bascule1 == 3)
      {
        LEDR = 0;
        bascule1 = 0;
      }
    
    
      if (bascule1 == 0)
      {
       seconde = 0;
       compteur = 0;
      }
      
      
      if (bascule2 == 1)
      {
       LEDR = 0;
       bascule1 = 0;
       LEDB = 1;
      }
      
      if (bascule2 == 2)
      {
       LEDB = 0;
       LEDR = 1;
      }
      
      if (bascule2 == 3)
      {
       LEDR = 0;
       bascule2 = 0;
      }
    }
    }
    Il faut surement optimisé ça mais ça fonctionne bien.

    BP1 permet de choisir le clignotement de la led bleu ou de la led rouge ou OFF.BP1 sert a choisir entre laisser la bleu comme couleur fixe ou la rouge ou OFF.

    Dans la mode clignotement je peut en sortir en activant le mode couleur fixe et inversement.

    -----
    <<La détermination mène a la satisfaction>>

  2. #212
    FEFE_CMC

    Re : Programmation PIC

    Ton programme est bien structuré.
    Mets des alinéas quand tu ouvres des accolades tu y verras plus claire dans ton programme .
    C'est un conseils mais c'est du beau travail tu es quelqu'un de motivé


    Citation Envoyé par HULK28 Voir le message
    Qui te parle d'assembleur antek?
    Juste pour ton info, l'assembleur est réservés à ceux qui comprennent ce qu'il font, c'est un langage natif et simple, juste que ça nécessite d'être rigoureux, ce qui est une tendance en voie de disparition quand je lis les discussions sur ce forum.
    Les plus grand soft bas niveau ont été faits ainsi, c'est comme ça.
    Je pense que tu es trop jeune pour le savoir, mais dans les logiciels embarqués le C côtoie l'assembleur régulièrement, les bons programmes sont faits ainsi.

    Ca part toujours mal ce genre de discussion car de nos jours vous ne savez plus programmer, votre apprentissage se faisant sous flow code ou quelconques simulateurs et autres billevesées... sans vouloir prendre la peine d'ouvrir la datasheet du µC.
    Ce sera tout pour ma part sur ce sujet.
    Apres mettre fais descendre en parlant de C a la place d'assembleur pour les debutants comme par magie c'est un programme en C qui voit enfin le jour ....
    Je remet cela sur le tapis car je n'aime pas me faire descendre sur la toiles Bises .

    @+

  3. #213
    Gérard

    Re : Programmation PIC

    Le problème quand on débute, c'est qu'on ne sait rien. C'est d'ailleurs valable pour toutes les disciplines.
    Que ce soit en asm, en C ou en tout autre langage. Comme tout apprentissage, il faut étudier les docs (des µC, du compilateur, du programmateur ...) et surtout s'armer de beaucoup de patience.
    Une autre qualité indispensable est la modestie et commencer par le début. Faire clignoter une LED n'est pas une tare, ça fait parti de l'apprentissage. Vouloir tout de suite gérer une interface ethernet en wifi c'est comme vouloir piloter un A380 après 2h de cours théoriques sur l'aérodynamisme.

    Et pour terminer, le meilleur langage est celui dont on sait se servir.

    Bonne journée à tous.

  4. #214
    antek

    Re : Programmation PIC

    Citation Envoyé par FEFE_CMC Voir le message
    Apres mettre (1) fais descendre en parlant de C a la place d'assembleur pour les debutants (2) comme par magie c'est un programme en C qui voit enfin le jour ....
    Je remet cela sur le tapis (3) car je n'aime pas me faire descendre sur la toiles Bises .
    @+
    (1) C'est de la paranoïa ou un manque de lecture ?
    (2) Non, c'est parce que le demandeur écrit en C.
    (3) Tu dois être maso

  5. #215
    terrdala

    Re : Programmation PIC

    Citation Envoyé par FEFE_CMC
    Ton programme est bien structuré.
    Mets des alinéas quand tu ouvres des accolades tu y verras plus claire dans ton programme .
    C'est un conseils mais c'est du beau travail tu es quelqu'un de motivé
    C'est sympas de voir que quelqu'un vois mes progrès.

    Ton conseil est avisé,mais peut être pas fait pour moi mais je testerais quand même.Pour le moment je me sent bien comme j'écrit et je m'y retrouve facilement.

    Un grand merci a toi en tous cas.
    <<La détermination mène a la satisfaction>>

  6. #216
    terriblement

    Re : Programmation PIC

    Je me disais aussi ca... au début...

    Mais quand tu as 5 ( ou plus) if while ou je ne sais quoi imbriqués, tu n'as plus le choix

  7. #217
    terrdala

    Re : Programmation PIC

    Pour l'instant je me concentre sur le faite d'apprendre d'abord a utilisé les registre du PIC a les comprendre a les appliqué et a corriger les bug lorsque que je tombe dessus.

    Ensuite forcément vient l'apprentissage de la structure du programme,ce dire qu'avec des connaissance acquise on réfléchi mieux a comment placer certain code pour plus de facilité.

    Enfin c'est mon avis,chacun a sa méthode d'apprentissage.

    Pour moi la structure est la finition mdr.
    <<La détermination mène a la satisfaction>>

  8. #218
    terriblement

    Re : Programmation PIC

    On en reparlera quand tes if feront une centaine de lignes

  9. #219
    terrdala

    Re : Programmation PIC

    Si tu veux lol
    <<La détermination mène a la satisfaction>>

Page 8 sur 8 PremièrePremière 8

Discussions similaires

  1. quelle est la difference entre programmation procedurale et la programmation orientee objet
    Par invite430abc62 dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 27/01/2016, 12h34
  2. Programmation D'un H.M.I (XBT)
    Par invite3e84e96d dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 10/01/2011, 18h17
  3. help me =>programmation
    Par invitec3f7c029 dans le forum Programmation et langages, Algorithmique
    Réponses: 4
    Dernier message: 28/12/2010, 21h44
  4. programmation de pic en C
    Par invite81170861 dans le forum Électronique
    Réponses: 5
    Dernier message: 22/05/2007, 15h16
  5. programmation
    Par invite92c7ec27 dans le forum Électronique
    Réponses: 3
    Dernier message: 24/03/2006, 23h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.