Cours:DM clignotementLeds : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Comportement)
Ligne 9 : Ligne 9 :
 
=Schéma=
 
=Schéma=
 
Créer un schéma comportant les éléments suivants :
 
Créer un schéma comportant les éléments suivants :
*un µcontrôleur attiny13
+
*un µcontrôleur attiny24
 
*une led rouge reliée sur la broche PA0
 
*une led rouge reliée sur la broche PA0
 
*une led verte reliée sur la broche PB7
 
*une led verte reliée sur la broche PB7

Version du 31 janvier 2023 à 13:36

Modalités

  • travail à réaliser sur simulIDE
  • 1 seul fichier au format .zip à déposer sur Moodle contenant :
    • le schéma : fichier .sim1
    • le code : fichier .c ou .cpp
  • travail en binôme possible

Schéma

Créer un schéma comportant les éléments suivants :

  • un µcontrôleur attiny24
  • une led rouge reliée sur la broche PA0
  • une led verte reliée sur la broche PB7
  • une led jaune reliée sur la broche PD6

Comportement

On souhaite que les 3 leds clignotent en permanence à un rythme différent :

  • la led rouge change d'état toutes les 200ms
  • la led verte change d'état toutes les 500ms
  • la led jaune change d'état toutes les 600ms

Aide

Plutôt que de faire d'avoir une boucle while(1) qui se répète toutes les 100ms on peut avoir une boucle plus rapide mais ne pas faire l'action à chaque itération :

int main()
{
  ...
  while(1)
  {
    action;
    _delay_ms(100);
  }
}
int main()
{
  uint8_t compteur=0;
  ...
  while(1)
  {
    compteur++;
    if (compteur==10)
    {
       action;
       compteur=0;
    }
    _delay_ms(10);
  }
}