Cours:InfoS2 tdOutput : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 5 : Ligne 5 :
 
[[Cours:SimulIDE|{{Bleu|<big>'''simuler avec simulIDE'''</big>}}]]
 
[[Cours:SimulIDE|{{Bleu|<big>'''simuler avec simulIDE'''</big>}}]]
  
=Exercice : 2 leds=
+
=Exercice : faire clignoter des leds=
  
 
2 leds sont connectées sur un attiny13.
 
2 leds sont connectées sur un attiny13.
Ligne 60 : Ligne 60 :
 
*Changer l’état des leds toutes les 100ms.
 
*Changer l’état des leds toutes les 100ms.
 
*Changer l’état des leds toutes les 100ms, en opposition.
 
*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 :
 +
{| class="wikitable"
 +
|-
 +
! Couleur !! Numéro de broche !! Port
 +
|-
 +
| rouge || 5 || PB2
 +
|-
 +
| orange || 8 || PA5
 +
|-
 +
| verte || 9 || PA4
 +
|}
 +
 +
{{Question|Écrire un programme décrivant le cycle d’un feu de circulation :}}
 +
*rouge durée 30s
 +
*vert durée 60s
 +
*orange durée 2s

Version du 29 janvier 2023 à 12:16

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