programmer le PIC16F877A
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

programmer le PIC16F877A



  1. #1
    invite0c798c1f

    programmer le PIC16F877A


    ------

    Bonjour;
    Je prepare un projet sur la regulation de la temperature avec l'utilisation d'un PIC16F877A pour envoyer des impulsions sur un triac qui est relié au reseau (220V 50hz) et à une resistance chauffante. Je n'avais jamais utilisé un PIC auparavant donc j'ai des difficultés au niveau de la programmation notamment pour generer des signaux creneaux de 10ms en utilisant le mode PWM sachant que j'ai une horloge de frequence 4Mhz, j'arrive à generer des signaux de 10ms en simulant sur le logiciel PROTEUS mais avec une horloge de 1.6Mhz. Donc je voulais savoir comment faire? Et si je dois necessairement utiliser le timer?
    Merci d'avance

    -----

  2. #2
    invite03481543

    Re : programmer le PIC16F877A

    Bonjour,

    oui il vous faut un timer.

    Avec 4MHz vous pouvez prendre le Timer1 avec 16 bits en mode comparaison.

    A 4MHz, la période d'horloge est T=4/4MHz=1µs soit 1 tick=1µs

    pour obtenir 10ms cela représente 10000 ticks.

    Pour faire déborder précisément le timer1 toute les 10ms, il faut donc le précharger avec un offset:

    65536-10000=55536

    Remarque: -> Le prescaler est fixé à 1:1

    Il faut donc charger cette valeur d'offset dans le registre haut et bas de TMR1:

    TMR1H=0xD8;
    TMR1L=0xF0;

    Pour résumer:
    Vous déclarez TIMER1 en mode timer en mettant le bit 1 de T1CON à 0 pour un cadencement selon Fosc/4.
    Vous positionnez votre sortie à 1 (ou à 0 selon), vous préchargez TIMER1 avec la valeur d'offset (voir plus haut), vous autorisez l'interruption de débordement de TIMER1 (TMR1IF=1), ainsi que les interruptions générales (PEIE=1 et GIE=1).
    Lorsque TIMER1 déborde vous entrez en interruption et vous activez (ou désactivez) le port qui vous intéresse, ne pas oublier de remettre ce flag à 0 quand vous quittez l'interruption pour autoriser une nouvelle interruption 10ms plus tard.

    Faites l'essai avec une led pour commencer et vérifier au scope la période.
    Si vous voulez un code qui tourne si vous ne vous en sortez pas faites signe.
    @+

  3. #3
    invite0c798c1f

    Re : programmer le PIC16F877A

    Bonjour,
    Merci beaucoup je vais essayer d'éffectuer le programme et de le simuler

  4. #4
    invite0c798c1f

    Re : programmer le PIC16F877A

    Bonjour,
    Merci beaucoup je vais essayer d'éffectuer le programme et de le simuler

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Essais PIC16F877A
    Par invitefb880ebb dans le forum Électronique
    Réponses: 8
    Dernier message: 07/09/2008, 12h02
  2. Pic16f877a!
    Par invite6ab74433 dans le forum Électronique
    Réponses: 0
    Dernier message: 24/05/2008, 17h34
  3. pic16f877A ROM
    Par inviteca539e75 dans le forum Électronique
    Réponses: 5
    Dernier message: 07/08/2007, 13h51
  4. pic16F877A // USBMOD4
    Par inviteca539e75 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/07/2007, 14h54
  5. adc + pic16F877A+LCD
    Par invite412b515c dans le forum Électronique
    Réponses: 0
    Dernier message: 29/05/2007, 22h59
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...