Cours:InfoS2 tdOutput

De troyesGEII
Aller à : navigation, rechercher

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