Pièce jointe « ej_timer0.c »

Téléchargement

   1 /* Exemple d'utilisation des fonctions du module TIMER0,
   2  valide pour la famille 16f87Xa,
   3 Dans cet exemple on utilise le timer0 comme compteur,
   4 connecter un bouton poussoir entre RA4 y 0V
   5 et une résistance de tirage vers le haut (pullup) 
   6 de 5 Kohms entre RA4 y Vdd (+5v),
   7 connecter une led ou une autre sortie à RB7.
   8 RB7 se mettra à l'état haut (Vdd) quand on appuie 4 fois. */
   9 #include <pic/p16f877a.h>
  10 #include <timer0.h>
  11 
  12 int main(void)
  13  {
  14    TRISAbits.TRISA4 = 1;
  15    TRISBbits.TRISB7 = 0;
  16    PORTBbits.RB7 = 0;
  17    timer0_init(COUNTER_EXTERN); 
  18    // Initialise timer0 mode compteur (horloge ou stímuli externe en RA4)
  19    timer0_set_edge(FAL_EDGE); // indique l'incrément du compteur sur front descendant
  20    timer0_set_prescaler(PRESC_DIV_2); 
  21    // établit  le pré-diviseur (prescaler) en fréquence d'instructions / 2
  22    while (timer0_read() < 2); // Attends ici tant que le compteur du timer < 2
  23    PORTBbits.RB7 = 1;
  24  }

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