Cours:InfoS2 tdTimerCTC : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 12 : Ligne 12 :
 
=Génération d'un signal carré périodique=
 
=Génération d'un signal carré périodique=
 
On souhaite faire clignoter une led en utilisant le timer1 d'un atmega328p.
 
On souhaite faire clignoter une led en utilisant le timer1 d'un atmega328p.
 +
 +
La fréquence du CPU est de Fcpu={{Rouge|1MHz}}.
  
 
==Utilisation de la broche OC1A==
 
==Utilisation de la broche OC1A==
 
Une led est connectée sur la broche PB1 ( OC{{Rouge|1}}A ). Le timer{{Rouge|1}} peut générer directement un signal sur cette broche particulière.
 
Une led est connectée sur la broche PB1 ( OC{{Rouge|1}}A ). Le timer{{Rouge|1}} peut générer directement un signal sur cette broche particulière.
 +
 +
{{Question|Faire clignoter la led à une fréquence de 1Hz}}
 +
 +
<source lang=cpp>
 +
#include ...
 +
 +
int main()
 +
{
 +
  // configurer sortie
 +
  // choisir prédiviseur du timer
 +
  // choisir le mode CTC
 +
  // choisir la valeur de remise à 0 du timer
 +
  // activer le contrôle de la sortie par le timer
 +
  while(1)
 +
  {
 +
  }
 +
}
 +
</source>

Version du 2 mars 2023 à 12:10

Atmega328pPinout.jpeg

Fiche résumé

Retour à la liste des Tps

Éléments de correction

simuler avec simulIDE


Génération d'un signal carré périodique

On souhaite faire clignoter une led en utilisant le timer1 d'un atmega328p.

La fréquence du CPU est de Fcpu=1MHz.

Utilisation de la broche OC1A

Une led est connectée sur la broche PB1 ( OC1A ). Le timer1 peut générer directement un signal sur cette broche particulière.

Question.jpg Faire clignoter la led à une fréquence de 1Hz

#include ...

int main()
{
  // configurer sortie
  // choisir prédiviseur du timer
  // choisir le mode CTC
  // choisir la valeur de remise à 0 du timer
  // activer le contrôle de la sortie par le timer
  while(1)
  {
  }
}