/* * tutoriel.c * * Created: 29/01/2021 09:13:18 * Author : yboujon1 */ #include // necessaire pour l'acces au reg IO #define F_CPU 3686400 //nous specifions la fréquence du processeur #include //bibliotheque necessaire pour le delai en millisecondes #define V1R2 ~0x81 //on defini chaque pattern de leds donné dans le tp #define O1R2 ~0x41 #define R1R2 ~0x21 #define R1V2 ~0x24 #define R1O2 ~0x22 #define R1R2 ~0x21 void seconde(char x); //fonction qui fait attendre x secondes int main(void) { DDRB = 0xFF; //sortie DDRA = 0x00; //entree char tabsec[6]= {2, 4, 2, 15, 4, 2}; //on defini chaque cycle en secondes char tabfeu[6]= {V1R2, O1R2, R1R2, R1V2, R1O2, R1R2}; //on defini le pattern de chaque led while (1) { int i; for(i=0;i<6;i++) //on repete 6 fois l'action en fonction des valeurs du tableau { PORTB=tabfeu[i]; //on affect un pattern en fonction de sa valeur dans le tableau seconde(tabsec[i]); //on attends x secondes en fonction de la durée du cycle défini dans le tableau }; }; } void seconde(char x) { int y; for(y=0;y<100*x+1;y++) { _delay_ms(10); } }