Vous êtes sur la page 1sur 5

Introduction

Les microcontrôleurs ATmega font partie de la famille des microcontrôleurs AVR (Advanced Virtual
RISC) d'Atmel.
La famille ATmega est basée sur une architecture RISC (Reduced Instruction Set Computing) qui
favorise l'exécution rapide des instructions.

1. Caractéristiques techniques

L'Atmega2560 est un microcontrôleur 8 bits de la famille Atmega, fabriqué par


Microchip Technology. Il est basé sur l'architecture RISC et dispose d'un ensemble
d'instructions complet, ce qui le rend adapté à une grande variété d'applications.

Caractéristiques techniques
 Processeur : Atmel AVR RISC, 16 MHz
 Mémoire flash : 256 Ko
 Mémoire SRAM : 8 Ko
 Mémoire EEPROM : 4 Ko
 Registres : 32 registres généraux
 Périphériques :
o 2 timers 16 bits

o 6 timers 8 bits

o 3 UART

o 1 SPI

o 1 I2C

o 1 port série universel

o 2 ports parallèles

o 1 convertisseur analogique-numérique 10 bits

o 1 convertisseur numérique-analogique 8 bits

o 6 entrées/sorties programmables

 Boîtier : DIP 28 broches, QFN 32 broches, QFN 44 broches


Applications

L'Atmega2560 est un microcontrôleur polyvalent qui peut être utilisé dans une
grande variété d'applications, notamment :

Électronique grand public : Téléviseurs, lecteurs Blu-ray, appareils photo, etc.


 Électronique industrielle : Automatisation, contrôle, etc.
 Électronique embarquée : Robots, drones, etc.
Exemples de projets

Voici quelques exemples de projets qui peuvent être réalisés avec l'Atmega2560 :

 Contrôle d'un moteur


 Contrôle d'un capteur
 Communication série
 Communication parallèle
 Convertisseur analogique-numérique
 Convertisseur numérique-analogique

L'Atmega2560 est un microcontrôleur puissant et polyvalent qui peut être utilisé dans
une grande variété d'applications. Il est facile à programmer et dispose d'une large
gamme de périphériques intégrés, ce qui le rend idéal pour les projets électroniques.

2. Programmation et développement
Les microcontrôleurs ATmega peuvent être programmés en langage assembleur AVR, mais ils sont
souvent programmés en langage C à l'aide d'outils de développement tels que l'IDE Arduino.
Le langage Arduino simplifie la programmation des microcontrôleurs ATmega, rendant le processus
accessible même aux personnes sans une expertise approfondie en programmation bas niveau.

3. Périphériques intégrés
Les microcontrôleurs ATmega intègrent plusieurs périphériques utiles, y compris des temporisateurs,
des compteurs, des convertisseurs analogique-numérique (CAN), des interfaces de communication
série (USART, SPI, I2C), etc.
Ces fonctionnalités intégrées rendent les ATmega adaptés à une variété d'applications, de la robotique
aux systèmes de contrôle embarqués.

4. Utilisation dans les projets Arduino


Les microcontrôleurs ATmega, en particulier l'ATmega328, sont largement utilisés dans la plateforme
Arduino.
L'Arduino utilise une interface de programmation simplifiée et une bibliothèque de fonctions pour
faciliter le développement rapide de prototypes et de projets électroniques.

5. Jeu d’instruction du micro-processeur ATmega

Voici le jeu d'instruction de l'Atmega, basé sur l'architecture RISC. Les instructions sont
codées sur un seul octet, ce qui permet d'obtenir des performances élevées.

a. Instructions de chargement et de stockage

Les instructions de chargement et de stockage permettent de copier des données entre les
registres, la mémoire et les périphériques.

 LOAD : Charge le contenu de la mémoire dans un registre.


 STORE : Stocke le contenu d'un registre dans la mémoire.
 IN : Lit une donnée d'un périphérique.
 OUT : Écrit une donnée dans un périphérique.

b. Instructions arithmétiques et logiques

Les instructions arithmétiques et logiques permettent d'effectuer des opérations arithmétiques


et logiques sur les données contenues dans les registres.

 ADD : Additionne deux registres.


 SUB : Soustrait deux registres.
 MUL : Multiplie deux registres.
 DIV : Divise deux registres.
 AND : Effectue une opération AND logique sur deux registres.
 OR : Effectue une opération OR logique sur deux registres.
 XOR : Effectue une opération XOR logique sur deux registres.
 NOT : Inversion d'un registre.

c. Instructions de transfert de contrôle


Les instructions de transfert de contrôle permettent de changer de direction dans le
programme.

 JMP : Saute à une adresse spécifiée.


 CALL : Appele une fonction.
 RET : Retourne d'une fonction.
 RCALL : Appele une fonction récursive.
 IJMP : Saute à une adresse spécifiée en fonction de la valeur d'un registre.

d. Instructions de saut

Les instructions de saut permettent de sauter à une instruction spécifique en fonction d'une
condition.

 BRNE : Saute si la condition n'est pas remplie.


 BREQ : Saute si la condition est remplie.
 BRCS : Saute si le bit de carry est à 1.
 BRCC : Saute si le bit de carry est à 0.
 BRVS : Saute si le bit de signe est à 1.
 BRVC : Saute si le bit de signe est à 0.

e. Instructions de comparaison

Les instructions de comparaison permettent de comparer deux registres ou deux valeurs.

 CP : Compare deux registres.


 CPI : Compare un registre avec une valeur.
 CPC : Compare deux registres et incrémente le registre de statut.
 CPIR : Compare un registre avec une valeur et incrémente le registre de statut.

f. Instructions d'entrée/sortie

Les instructions d'entrée/sortie permettent de lire et d'écrire des données sur les périphériques.

 IN : Lit une donnée d'un périphérique.


 OUT : Écrit une donnée dans un périphérique.
 LDI : Charge un registre avec une valeur.
 STS : Stocke le contenu d'un registre dans la mémoire.
 LDS : Charge le contenu de la mémoire dans un registre.

g. Instructions avancées

En plus de ces instructions de base, le jeu d'instruction de l'Atmega comprend également des
instructions avancées telles que :

 Instructions de multiplication et de division rapides


 Instructions de manipulation de bits
 Instructions de gestion des interruptions
 Instructions de gestion de la pile

Le jeu d'instruction de l'Atmega est riche et complet, ce qui permet de développer une grande
variété d'applications.

Mode d'adressage

Les instructions de l'Atmega utilisent différents modes d'adressage pour accéder aux données.
Les modes d'adressage les plus courants sont les suivants :

 Mode immédiat : La valeur de l'opérande est codée directement dans l'instruction.


 Mode registre : L'opérande est un registre.
 Mode immédiat relatif : La valeur de l'opérande est codée directement dans
l'instruction, mais elle est relative à l'adresse de l'instruction suivante.
 Mode direct : L'opérande est une adresse de mémoire

conclusion
La famille de microcontrôleurs ATmega est appréciée pour sa polyvalence, sa facilité de
programmation et son intégration dans la plateforme Arduino, ce qui en fait un choix populaire pour
de nombreux projets électroniques

Vous aimerez peut-être aussi