Partage
  • Partager sur Facebook
  • Partager sur Twitter

PROGRAMMATION PIC16F628A - CLIGNOTANT LED

    2 septembre 2019 à 12:24:25

    Bonjour, j'ai récemment acheter un MC PIC16F628A pour apprendre la programmation de A-Z (sans passé par un Arduino ou autre déjà pré-configurer).

    Au début je voulais juste allumer une LED et ça a bien fonctionner et maintenant je souhaite la faire clignoter en utilisant le quartz interne, quelque chose de basique normalement mais je bloque et ça fait plusieurs jours que je cherche de ou peu venir le problème, mais rien.

    Pour poser le décors je programme sur MPLAB X IDE V5.5  XC8, une fois que le code est écris je réalise des simulations sur le logiciel PROTEUS 8 Professional puis j'injecte le code dans le PIC. Le soucis que j'ai ici, c'est que le code me semble bon, la simulation est d'accord mais quand je passe à l'application la LED reste fixe.

    Voici mon code :

    // PIC16F628A Configuration Bit Settings

    // 'C' source line config statements

    // CONFIG

    #pragma config FOSC = INTOSCIO

    #pragma config WDTE = OFF

    #pragma config PWRTE = OFF

    #pragma config MCLRE = ON

    #pragma config BOREN = OFF

    #pragma config LVP = ON

    #pragma config CPD = OFF

    #pragma config CP = OFF

    #define _XTAL_FREQ 4000000

    #include <xc.h>

    void main(void)

    {

        //OSCF = 1;

        PCON = 0x00010000;

        CMCON = 0x00000000;

        TRISB = 0x00;

        PORTB = 0x00;

        while (1)

        {

            PORTBbits.RB0 = 1 ;

            __delay_ms(1000);

            PORTBbits.RB0 = 0 ;

            __delay_ms(1000);

        }

    }

    Je suis preneur pour toutes remarque, merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      2 septembre 2019 à 20:05:40

      Bonjour,

      D'après la doc, le registre PCON devrait plutôt être initialisé comme ceci :

      PCON = 0b00001000;

      De plus, comme ça semble être la valeur par défaut du registre, ce n'est pas la peine de la changer.

      Avec le bit 3 à 0 plutôt qu'à 1, le PIC fonctionne à 48KHz  au lieu de 4MHz, donc le clignotement a bien lieu, mais toutes les 83 secondes.

      PS: Il faut utiliser le bouton "</>" pour insérer du code sur le forum afin qu'il soit plus lisible.

      PPS: Les puces AVR qui équipent les arduinos (UNO, MEGA, NANO, PRO), peuvent également se programmer sous cette forme sans passer par la bibliothèque arduino.

      • Partager sur Facebook
      • Partager sur Twitter
        2 septembre 2019 à 22:20:48

        C'est bon j'ai trouvé mon erreur et ça fonctionne bien, merci beaucoup de votre aide.

        -
        Edité par YamatoGhost1 2 septembre 2019 à 22:46:01

        • Partager sur Facebook
        • Partager sur Twitter
          9 septembre 2019 à 22:19:05

          Regarde par ici, on y parle PIC.
          • Partager sur Facebook
          • Partager sur Twitter
          Le 25 juillet 2016, j'ai essayé une Ford Mustang.

          PROGRAMMATION PIC16F628A - CLIGNOTANT LED

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown