Pièce jointe « ej_timer2.c »

Téléchargement

   1 ej_timer2.c
   2 /*
   3 Exemple d'utilisation des fonctions du module TIMER2.
   4 valide pour la famille 16f87Xa,
   5 Dans  cet exemple on utilise le timer2 avec un compteur par logiciel,
   6 pour faire une led clignotante:
   7 connecter une led ou autre sortie à RB7.
   8 RB7 se mettra à l'état haut (Vdd) durant approximativement 1 seconde avec une horloge de 4 MHz, et à  l'état bas durant une autre seconde.
   9 */
  10 #include <pic/p16f877a.h>
  11 #include <timer2.h>
  12 int main(void)
  13  {
  14    unsigned char compteur;
  15    TRISBbits.TRISB7 = 0;
  16    PORTBbits.RB7 = 0;
  17    timer2_init();                        // Initialise le timer2
  18    timer2_set_prescaler(PRESC_DIV_16);   // Établit le pré-diviseur en fréquence d'instructions
  19    timer2_set_period(255);               // Établit la période à 255
  20    compteur = 0;
  21    bucle:
  22    while (timer2_read() < 255);          // Attend ici tant que le compteur du timer <255 
  23    compteur = compteur + 1;              // Incrémente le compteur
  24    if (compteur == 255)                  // Si compteur = 255 inverse l'état de RB7
  25      {
  26        if (PORTBbits.RB7 == 0)
  27            PORTBbits.RB7 = 1;
  28        else
  29            PORTBbits.RB7 = 0;
  30        compteur = 0;                    // Reinitialise le compteur
  31      }
  32    goto bucle;
  33  }

Fichiers joints

Pour vous référer aux pièces jointes d'une page, utilisez attachment:filename, comme indiqué ci-dessous dans la liste de fichiers. N'utilisez pas l'URL du lien [get], car elle peut changer et donc être facilement cassée.
 Tous les fichiers | Fichiers sélectionnés supprimer déplacer vers la page copier vers la page

Vous n'êtes pas autorisé à joindre un fichier à cette page.

Site hébergé sur un Cloud Public IKOULA Ikoula