Cours:DM clignotementLeds

De troyesGEII
Aller à : navigation, rechercher

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 PA3
  • une led jaune reliée sur la broche PB1

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 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);
  }
}