Pièce jointe « mod_TIMER0.tex »

Téléchargement

   1 \section{module TIMER0}
   2 
   3 Auteur: Santiago Gonzalez
   4 
   5 Courrier: santigoro en gmail.com
   6 
   7 Voici les fonctions pour travailler avec le TIMER0 des PIC16F87X.
   8 
   9 \subsection{timer0\_init}
  10 Initialise TIMER0 avec l'horloge interne (mode timer) ou externe (mode compteur).
  11 
  12 void timer0\_init(unsigned char intern\_extern);
  13 
  14 intern\_extern Établit si on utilise une horloge interne ou une horloge/stímuli externe (modo compteur).\\
  15 TIMER\_INTERN :Utilise l'horloge interne. \\
  16 COUNTER\_EXTERN :Utilise l'horloge/stimuli externe (mode compteur)
  17 
  18 timer0\_init(TIMER\_INTERN);
  19 
  20 Met à 0 le compteur du timer0 y efface le drapeau (flag) des interruptions. Le compteur s'incrémente à chaque cycle d'instructions (Freq.Osc. / 4) si on n'utilise pas le pré-diviseur (prescaler.)
  21 \subsection{timer0\_set\_edge}
  22 Indique si l'incrément du compteur se produit sur le front montant ou descendant (mode compteur).
  23 
  24 void timer0\_set\_edge(unsigned char set\_risfal);
  25 
  26 Met à 0 le compteur du timer0 y efface le drapeau (flag) des interruptions Le compteur s'incrémente sur le front montant ou descendant présent sur la broche (pin) RA4 si on n'utilise pas le pré-diviseur (prescaler.)
  27 
  28 set\_risfal Établit si l'incrément du compteur se produit sur le front montant ou descendant
  29 
  30 Les options possibles sont :
  31 
  32   RIS\_EDGE
  33   FAL\_EDGE
  34 
  35 Où RIS\_EDGE indique l'incrément du compteur sur front montant (rising) et FAL\_EDGE sur front descendant (falling).
  36 
  37 timer0\_set\_edge(FAL\_EDGE);
  38 
  39 \subsection{timer0\_set\_prescaler}
  40 Assigne le pré-diviseur (prescaler) du timer0 , ceci annule l'usage du prédiviseur (prescaler) du chien de garde (watchdog) et établit la valeur du pré-diviseur (prescaler.)
  41 
  42 void timer0\_set\_prescaler(unsigned char set\_presc);
  43 
  44 set\_presc Établit la valeur du pré-diviseur (prescaler.)
  45 
  46 Les options possibles sont :
  47 
  48 // Fréquence du cycle d'instructions \\
  49 PRESC\_DIV\_2 // (FOSC/4) del PIC divisé par 2 \\
  50 PRESC\_DIV\_4 // (FOSC/4) del PIC divisé par 4 \\
  51 PRESC\_DIV\_8 \\
  52 PRESC\_DIV\_16 \\
  53 PRESC\_DIV\_32 \\
  54 PRESC\_DIV\_64 \\
  55 PRESC\_DIV\_128 \\
  56 PRESC\_DIV\_256 \\ 
  57 PRESC\_OFF // assigné au chien de garde (watchdog)
  58 
  59 N'importe quelle opération d'écriture dans le registre TMR0 met automatiquement  à 0 le compteur du pré-diviseur (prescaler), bien qu'il garde sa configuration.
  60 \subsection{timer0\_write}
  61 Écrit la valeur du compteur TMR0. \\
  62 void timer0\_write(unsigned char set\_count); \\
  63 set\_count Écrit la valeur du compteur TMR0.
  64 \subsection{timer0\_read}
  65 Lit la valeur du compteur TMR0. \\
  66 \#define timer0\_read() TMR0
  67 \subsection{Exemple module TIMER0}
  68 Pour compiler tu as besoin des commandes suivantes 
  69 
  70 Exemple de compilation : ./compila.sh ej\_timer0.c 16f877a
  71 
  72 ej\_timer0.c
  73 \verbatiminput{source/ej_timer0.c}

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