Incubator‎ > ‎Microcontrôleur‎ > ‎

Microcontrôleur séance 2

Les interruptions

Le cours du jour


TD2

Vous aurez besoin :
Exercice 1 : une interruption interne le Timer

Faites clignoter la led avec le Timer1

N'hésitez pas à utiliser les explications de Dean Camera

Exercice 2 : une interruption externe Int0

Faites changer d'état la led lorsque l'on appuie sur un interrupteur connecté sur Int0
Rappelez-vous que vous avez le schéma de correspondance des pins Atmel et Arduino
Voici un lien explicitant l'utilisation de cette interruption

Exercice 3 : gestion de l'alimentation

A la mise sous tension le processeur allume la led pendant approximativement 5 secondes. Puis le processeur se met hors tension et recommencera le cycle lors de l'appui sur l'interrupteur mis sur int0.

Je n'ai pas trouvé d'explication convaincante pour la gestion de l'alimentation, mais voici la page de code qui permet d'agir.
Les modes d'assoupissement sont :
SLEEP_MODE_IDLE
SLEEP_MODE_ADC
SLEEP_MODE_PWR_DOWN
SLEEP_MODE_PWR_SAVE
SLEEP_MODE_STANDBY
SLEEP_MODE_EXT_STANDBY

Leur effet est explicité dans la documentation du processeur :SLEEP_MODE_PWR_SAVE nous ira très bien.

Exercice 4 : USART les communications

Utilisez l'USART pour lire les caractères arrivant du clavier et les transmettre afin qu'ils s'affichent sur le terminal.
Faites-le en 2 temps :
  • en testant le bit de l'Usart vous permettant de savoir qu'un caractère est en attente. Faites clignoter la led à chaque réception.
  • faites un autre programme en utilisant les interruptions. Puisque la boucle principale ne fait rien autant faire clignoter la les à 100 ms.
N'hésitez pas à utiliser les explications de Dean Camera, attention son processeur est différent, consultez la documentation du 328 pour adapter le programme.




Ċ
Pascal Vaxiviere,
7 sept. 2014 à 22:38
Comments