Cours:TPS 2103 tp1 supplement
plusieurs leds ...
Plusieurs leds simultanées
Modifier le programme précédent pour ajouter une deuxième led (f1) s'allumant et s'éteignant au même rythme
Faire en sorte que les 2 leds soient allumées en alternance
Les limites ...
On souhaite avoir 2 rythmes différents pour le clignotement. L'une des leds aura une période de 1s (2x500ms), et l'autre led de 200ms (2x100ms).
On constate aisément que le rapport entre les périodes est de 5, on choisira un "delay" de boucle de 100ms et il suffira de ne changer l'état de la 2ème led que toutes les 5 itérations, suivant le principe suivant :
#include <avr/io.h>
#include <util/delay.h>
int main()
{
uint8_t n=0;
// configuration
...
while(1)
{
n++;
PORTx .....;
if (n==Nb) // toutes les Nb itérations
{
...
n=0;
}
_delay_ms(???); // un seul delay dans le programme
}
return 0;
}
Comme le commentaire l'indique le programme ne doit comporter qu'un seul delay !!! Il faut donc bien le choisir !
Écrire le programme répondant au cahier des charges
Essayer ensuite de modifier le programme pour avoir un changement d'état toutes les 225ms pour l'une des leds et 190ms pour l'autre.
Ensuite, il suffit d'utiliser 2 variables n1 et n2, telles que :
|