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

programmer le PIC16F877A



  1. #1
    chaia

    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. Publicité
  3. #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.
    @+

  4. #3
    chaia

    Re : programmer le PIC16F877A

    Bonjour,
    Merci beaucoup je vais essayer d'éffectuer le programme et de le simuler
    Dernière modification par chaia ; 25/02/2009 à 12h55.

  5. #4
    chaia

    Re : programmer le PIC16F877A

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

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :

Discussions similaires

  1. Essais PIC16F877A
    Par alt_ctrl_suppr dans le forum Électronique
    Réponses: 8
    Dernier message: 07/09/2008, 12h02
  2. Pic16f877a!
    Par bibich2604 dans le forum Électronique
    Réponses: 0
    Dernier message: 24/05/2008, 17h34
  3. pic16f877A ROM
    Par hakim34 dans le forum Électronique
    Réponses: 5
    Dernier message: 07/08/2007, 13h51
  4. pic16F877A // USBMOD4
    Par hakim34 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/07/2007, 14h54
  5. adc + pic16F877A+LCD
    Par mejdi_electronique dans le forum Électronique
    Réponses: 0
    Dernier message: 29/05/2007, 22h59
Découvrez nos comparatifs produits sur l'informatique et les technologies.