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.Vous n'êtes pas autorisé à joindre un fichier à cette page.