Présentation générale des micro contrôleurs

Un micro contrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : le processeur, les différentes mémoires (mémoire morte pour le programme, mémoire vive pour les données), unités périphériques et interfaces d'entrées-sorties. Les micro contrôleurs se caractérisent par :
  • un plus haut degré d'intégration,
  • une plus faible consommation électrique,
  • une vitesse de fonctionnement plus faible et variable(de quelques mégahertz jusqu'à plus d'un gigahertz),
  • un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels.

Les micro contrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme les contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau, l'électroménager, les jouets, la téléphonie mobile, etc. Ils sont également très prisés en robotique amateur (robots autonomes) et en modélisme (automatismes des maquettes de réseaux ferroviaires par exemple).

Coté programmation, le programme d'un micro contrôleur est généralement appelé firmware ou micro-logiciel.
À l'origine, les micro contrôleurs se programmaient en assembleur. Désormais, on utilise de plus en plus des langages de haut niveau, notamment le langage C, capable de faciliter la programmation de micro contrôleurs toujours plus puissants.
Les combinaisons de bits du langage machine sont représentées par des symboles dits « mnémoniques » , c'est-à-dire faciles à retenir. Le programme assembleur convertit ces mnémoniques en langage machine en vue de créer par exemple un fichier exécutable. Avec l’augmentation de la puissance et de la quantité de mémoire de stockage (FLASH) disponible dans les micro contrôleurs, les programmes de ces derniers peuvent désormais être écrits en C++. Il existe même des framework (kit de composants logiciels structurels) et plateformes en C++ dédiés à l’embarqué, comme Qtopia (désormais Qt Extended), mais leur utilisation restera limitée aux micro contrôleurs les plus puissants.
Des simulateurs sont disponibles pour certains micro contrôleurs, comme l'environnement MPLAB de Microchip. Les développeurs peuvent ainsi analyser le comportement du micro contrôleur et du programme, comme s'il s'agissait du composant réel. De la même façon, certains logiciels de CAO simulent le comportement du micro contrôleur et des composants qui l'entourent. On peut ainsi afficher les états des entrées et sorties des différents composant au cours de l'exécution d'un programme.

Quelques définitions :

Un assembleur abrégé ASM est en programmation informatique, un langage qui représente le langage machine sous une forme de langage lisible par un humain. Le langage machine est le seul langage qu'un processeur puisse exécuter. Or chaque famille de processeur utilise un jeu d'instructions différent. Par exemple, un processeur de la famille x86 reconnaît une instruction du type : 10110000 01100001 (binaire)
En langage assembleur, cette instruction est représentée par un équivalent plus facile à comprendre pour le programmeur : movb $0x61,%al =>10110000 01100001
Ce qui signifie : « mettre la valeur hexadécimale 61 dans le registre "AL" ».

Qtopia est une plate-forme libre développée par Qt Software, basée sur la bibliothèque Qt pour les systèmes embarqués équipés du noyau Linux

Quelques images de Micro contrôleurs :
Créateurs
Benjamin Dumont-roty
Lucas Vandelannoote
Kevin Sot