Cours:InfoS2 tdOutput : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 79 : Ligne 79 :
 
*vert durée 60s
 
*vert durée 60s
 
*orange durée 2s
 
*orange durée 2s
 +
 +
fichier pour simuler avec simulIDE : [[Media:td1-exCycleLed.sim1|td1-exCycleLed.sim1]]

Version du 29 janvier 2023 à 12:18

Retour à la liste des Tps

Éléments de correction

simuler avec simulIDE

Exercice : faire clignoter des leds

2 leds sont connectées sur un attiny13.

l’une sur la broche 2(PB3), et l’autre sur la broche 6(PB1).

fichier pour simuler avec simulIDE : Infouc-Td1-ex1.sim1


Registres

Compléter le tableau suivant avec le nom du registre utile et un code possible :

Broche Rôle Nom du registre ______________________exemple de code______________________
PB1 mettre en sortie
PB1 mettre la sortie à 1
PB3 mettre en sortie
PB3 mettre la sortie à 0
Bluebg.png
Aidesmall.png
À propos de cette image

Exemple :




Faire clignoter la led PC5


#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

int main()
{
  DDRC |= (1<<PC5);     // broche PC5 en sortie
  while(1)
  {
    PORTC ^= (1<<PC5);  // changer l'état de PC5
    _delay_ms(500);
  }
}

Programmes

Écrire les programmes qui répondent aux questions suivantes (indépendantes) :

  • Allumer les 2 leds en permanence
  • Répéter le cycle : leds allumées pendant 50ms, puis éteintes 500ms.
  • Changer l’état des leds toutes les 100ms.
  • Changer l’état des leds toutes les 100ms, en opposition.

Exercice : changer l'état des leds

3 leds (rouge/orange/verte) sont connectées sur un attiny24 (Fcpu 1MHz) de la façon suivante :

Couleur Numéro de broche Port
rouge 5 PB2
orange 8 PA5
verte 9 PA4

Question.jpg Écrire un programme décrivant le cycle d’un feu de circulation :

  • rouge durée 30s
  • vert durée 60s
  • orange durée 2s
fichier pour simuler avec simulIDE : td1-exCycleLed.sim1