Cours:InfoS2 tdGenerationSignal : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Page créée avec « 600px|droite {{EnTeteTdInfoS2|InfoS2_tdGenerationSignal_corrige}} fichier pour simuler avec simulIDE : Media:infouc_TdMli.sim1|infouc_... »)
 
Ligne 3 : Ligne 3 :
  
  
  fichier pour simuler avec simulIDE : [[Media:infouc_TdMli.sim1|infouc_TdMli.sim1]]
+
  fichier pour simuler avec simulIDE : [[Media:infouc_TdGenerationSignal.sim1|infouc_TdGenerationSignal.sim1]]
  
 
  [[Media:Atmega328p.pdf|{{Rouge|datasheet aTmega328p}}]]
 
  [[Media:Atmega328p.pdf|{{Rouge|datasheet aTmega328p}}]]

Version du 11 mars 2024 à 19:16

Atmega328pPinout.jpeg

Fiche résumé

Retour à la liste des Tds/Tps

Éléments de correction

simuler avec simulIDE

Pensez à mettre sur la 1ère ligne de votre code :
// Compiler: Avrgcc device: nomDuMicrocontroleur


fichier pour simuler avec simulIDE : infouc_TdGenerationSignal.sim1
datasheet aTmega328p


Cahier des charges

Configuration du timer en fast PWM

Question.jpg D'après le schéma simulIde et le pinout du µcontrôleur, quel timer devons nous configurer ?

Todo.jpg Chercher dans la datasheet du µcontroleur (lien ci dessus) la section décrivant ce périphérique et plus particulièrement les pages donnant la descriptions des registres

Question.jpg Quel tableau permet de choisir:

  • le mode de fonctionnement (normal, ctc, pwm ...)
  • le prédiviseur (qui changera la Fmli )
  • la configuration des bits COMxAx sachant que nous utilisons le mode fast PWM
! Fcpu = 8 MHz !

Question.jpg Compléter en conséquence le programme avec la configuration du timer :

int main()
{
  // configuration des sorties

  // timer en mode fast PWM (mode 3)

  // valeur du prediviseur

  // génération de la sortie par le timer

  // rapport cyclique
  
  while(1)
  {
    // on peut changer le rapport cyclique régulièrement
    _delay_ms(500);
  }
}