Cours:InfoS2 tdOutput : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 1 : Ligne 1 :
 +
[[Cours:TPs_2103|{{Rouge|<big>'''Retour à la liste des Tps'''</big>}}]]
 +
 +
[[Cours:InfoS2_tdOutput_corrige|{{Vert|<big>'''Éléments de correction'''</big>}}]]
 +
 +
 
=Exercice 1=
 
=Exercice 1=
  

Version du 27 janvier 2023 à 18:11

Retour à la liste des Tps

Éléments de correction


Exercice 1

2 leds sont connectées sur un attiny13.

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

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.