DEMOCRATIQUE ET POPULAIRE
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
INTITULE :
Microcontrôleur
Présenté par :
Khedim amel
Historique
Cette architecture a été introduite dans les années 50 l’Institute for Advanced Study (IAS) de
Princeton.z Von Neumann a donné son nom à l'architecture de Von Neumann utilisée dans la quasi
totalité des ordinateursmodernes, l'apport d'autres collaborateurs de l'EDVAC enest par conséquent
grandement minimisé (on citera J.Presper Eckert et John William Mauchly parmi d'autres).Cela est
dû au fait qu'il est, en 1944, le rapporteur des travaux pionniers en la matière (First Draft of a
Report onthe EDVAC).z Le modèle de calculateur à programme auquel sonoriste attaché et qu'il
attribuait lui-même à Turing, possède une unique mémoire qui sert à conserver les logiciels et les
données. Ce modèle, extrêmement innovant pour l’époque, est à la base de la conception de
nombre d’ordinateurs mais a fortement évolué depuis
De nos jours, les microcontrôleurs sont présents un peu partout : dans les appareils domestiques,
médicaux, de télécommunication, dans les voitures, les avions, l’industrie, …
Apparus dans les années 70, les microcontrôleurs à architecture 8 bits ne sont pas près de
disparaître. Très peu chère, on les retrouve dans des petites applications (ex. télécommande). Par
exemple, la célèbre carte Arduino UNO fonctionne avec un microcontrôleur 8 bits !
Carte Arduino UNO (microcontrôleur Atmel ATMEGA 328)
Actuellement, la tendance est aux microcontrôleurs 32 bits (ex. ARM Cortex-M, STM32, …) qui
sont plus adaptés aux applications plus évoluées. C’est ce type de microcontrôleur qui a permis le
portage du langage Python (MicroPython) au sein des microcontrôleurs. Les cartes Micro:bit,
Pyboard ou encore à base d’ESP32 en sont les parfaits exemples !
Carte micro:bit
Ces deux derniers points sont à prendre en considération. En particulier, au lycée, le choix de
Python comme langage de programmation des microcontrôleurs paraît logique.
En pratique, la plupart des manuels de sciences physiques et des fabricants de matériel spécialisé se
sont tournés vers les populaires cartes Arduino même si le langage de programmation utilisé n’est
pas du Python mais du C/C++ ! Cependant, il existe des solutions de pilotage d’une carte Arduino
en langage Python avec le librairies Nanpy ou encore PyFirmata.
Il est donc important d’expliquer comment s’effectue-la mesure d’une grandeur physique
analogique un appareil numérique.
Il en est de même pour la génération de signaux (ex. son) à partir d’un appareil numérique.
Les fonctions d’un microcontrôleur
Les microcontrôleurs permettent principalement de :
Périphériques
Les périphériques sont des circuits électroniques intégrés au microcontrôleur capables d'effectuer
des tâches spécifiques. On peut mentionner entre autres :
Le fonctionnement des périphériques peut être paramétré et commandé par le programme et/ou les
entrées-sorties. Les périphériques peuvent générer une interruption qui contraint le processeur à
quitter le programme principal pour effectuer une routine d'interruption.
Jeu d'instructions
On peut classer les instructions qu'un microcontrôleur est capable d'effectuer en quelques groupes.
Instructions de transfert
Le microcontrôleur passe une grande partie de son temps à transférer des octets d'un endroit à
l'autre du système : d'un périphérique vers un registre interne ou vice-versa, d'un registre interne
vers la mémoire RAM ou vice-versa. Ce qui ne peut en général pas être fait directement, c'est un
transfert direct d'une case mémoire vers une autre ou vers un périphérique, ou une écriture en
mémoire ROM, la structure du microcontrôleur rend obligatoire le passage des informations par un
de ses registres internes. Remarquons que, sauf exceptions, il s'agit plutôt d'une copie que d'un
transfert puisque la case mémoire d'origine garde son information (tant qu'on n'a pas écrit autre
chose à la place).
Instructions arithmétiques
Un microcontrôleur 8 bits n'est pas un grand mathématicien. Tout au plus est-il capable d'effectuer
des additions, des soustractions, des multiplications et des divisions sur des nombres binaires de 8
bits. Toutes les opérations mathématiques complexes telles que le traitement des grands nombres,
des nombres fractionnaires, des puissances, des racines carrées, des fonctions trigonométriques,
logarithmiques et exponentielles doivent être ramenées à une succession d'opérations simples
portant seulement sur des octets. Des routines mathématiques (petits programmes permettant de
réaliser les calculs complexes) ont été développées pour la plupart des microcontrôleurs populaires.
Instructions logiques
Les microcontrôleurs sont capables d'effectuer des opérations logiques : ET, OU, XOU (XOR),
NON (inverseur), rotations, décalages. Les opérations sont opérées simultanément sur les bits
correspondant des deux registres.
La comparaison des octets A et B, qui est considérée comme une opération logique, est réalisée
comme une soustraction dont on néglige le résultat ; on s'intéresse simplement au fait de savoir s'il
est nul (ce qui signifie que A = B), positif (A > B) ou négatif (A < B). Ces indications sont inscrites
dans des indicateurs d'états (petites mémoires d'1 bit situées dans le processeur).
Instructions d'entrées/sorties
Ces instructions sont utilisées pour :
Signalons que dans certains microcontrôleurs les périphériques sont considérés simplement comme
des cases de mémoire et ils sont gérés par les instructions de transfert (entrées/sorties intégrées
mémoire). D'autres microcontrôleurs disposent d'instructions spécifiques pour les entrées/sorties
(entrées/sorties indépendantes).
Instructions de branchement
Il s'agit d'instructions qui altèrent le déroulement normal du programme. On distingue les sauts et
les sous-routines.
Les sauts provoquent un branchement du programme vers une adresse mémoire qui n'est
pas contigüe à l'endroit où l'on se trouve.
inconditionnels ;
conditionnels, c'est-à-dire que le branchement n'a lieu que si une certaine condition est
remplie ; généralement, la condition testée est le contenu d'un des indicateurs d'état ; ceux-
ci indiquent par exemple si le contenu de l'accumulateur est nul, positif, négatif, de parité
paire ou impaires.
Instructions diverses
On trouve dans ce groupe :
Adressage implicite
Certaines opérations ne peuvent être réalisées que sur une donnée se trouvant en un endroit bien
précis du processeur (par exemple, l'accumulateur ou la pile). Dans ce cas, il n'est pas nécessaire de
spécifier l'adresse du registre en question et on parle d'adressage implicite.
Adressage immédiat
C'est un peu un abus de langage que de parler d'adressage dans ce cas-ci. En effet, la donnée suit
tout simplement l'instruction.
Adressage indexé
Ce mode est assez semblable à l'adressage indirect à registre. Il fait appel à un registre spécial
appelé " registre d'index ". Certains microcontrôleurs ne supportent pas ce mode, d'autres au
contraire ont 1 ou même 2 registres d'index. Deux registres d'index sont particulièrement bienvenus
lorsqu'il s'agit de déplacer un bloc de données dans la mémoire RAM.
Le ou les octets suivants spécifient la donnée (adressage immédiat), une adresse restreinte, une
adresse absolue (16 bits) ou une donnée 16 bits (peu utilisé).
Une instruction traite au maximum deux données, si l'on se limite à 3 octets pour l'instruction, une
seule des données peut être en RAM.
Adressage direct : dans ce cas, l'adresse où l'on doit aller est donnée en 16 bits ; on peut
donc se rendre n'importe où dans la mémoire (programme). Au moment du branchement, le
contenu du pointeur de programme est remplacé par l'adresse en question (si le
branchement concerne une sous-programme, on sauvegarde le contenu du pointeur de
programme).
Comme de nombreux branchements s'effectuent vers des adresses mémoire proches de l'endroit où
l'on se trouve au moment d'exécuter le branchement, on a prévu deux modes d'adressage plus
compacts, ne nécessitant qu'un octet pour l'adresse :
Familles de microcontrôleurs
la famille Atmel AT91 ;
la famille Atmel AVR ;
le C167 de Siemens/Infineon ;
la famille Hitachi H8 ;
la famille Intel 8051, qui ne cesse de grandir ; de plus, certains processeurs récents utilisent
un cœur 8051, qui est complété par divers périphériques (ports d'E/S,
compteurs/temporisateurs, convertisseurs A/N et N/A, chien de garde, superviseur de
tension, etc.) ;
l'Intel 8085, à l'origine conçu pour être un microprocesseur, a en pratique souvent été utilisé
en tant que microcontrôleur ;
le Motorola 68HC11 ;
la famille Freescale 68HC08
la famille Freescale 68HC12
la famille des PIC de Microchip ;
la famille des dsPIC de Microchip ;
la famille des ST6 de STMicroelectronics ;
la famille ADuC d'Analog Devices ;
la famille PICBASIC de Comfile Technology;
la famille MSP430 de Texas Instruments.
la famille 8080 , z80 , Rabbit : pour memoire , le 8080 est un des grands ancetres , mais z80
et Rabbit sont encore bien vivants
la famille PSoC de Cypress
la famille LPC21xx ARM7-TDMI de Philips
la famille V800 de NEC
la famille K0 de NEC
Applications
Les microcontrôleurs sont souvent utilisés dans l'élaboration de systèmes embarqués, nécessitant
des traitements spécialisés (autoradios, téléphones portables, lecteur mp3, GPS, etc.).
Ces circuits intégrés sont également très prisés en robotique amateur et permettent de réaliser de
nombreuses applications, y compris des robots autonomes, les automatismes en modélisme
(maquettes de réseau ferroviaire).
Les types de microcontrôleur sont indiqués sur la figure, ils sont caractérisés par leurs bits,
l'architecture de la mémoire, la mémoire / les périphériques et le jeu d'instructions. Discutons-en
brièvement.
Types de microcontrôleurs
Dans un 8 bits microcontrôleur, le point où le bus interne est à 8 bits, alors l'ALU effectue les
opérations arithmétiques et logiques. Les exemples de microcontrôleurs 8 bits sont les familles
Intel 8031/8051, PIC1x et Motorola MC68HC11.
Le 16 bits le microcontrôleur offre une plus grande précision et des performances par rapport au 8
bits. Par exemple, les microcontrôleurs 8 bits ne peuvent utiliser que 8 bits, ce qui donne une plage
finale de 0 × 00 - 0xFF (0-255) pour chaque cycle. En revanche, les microcontrôleurs 16 bits avec
leur largeur de données en bits ont une plage de 0 × 0000 - 0xFFFF (0-65535) pour chaque cycle.
La valeur la plus extrême d’une minuterie plus longue peut s’avérer utile dans certaines
applications et certains circuits. Il peut fonctionner automatiquement sur deux nombres de 16 bits.
Quelques exemples de microcontrôleurs 16 bits sont les MCU 16 bits sont des familles étendues
8051XA, PIC2x, Intel 8096 et Motorola MC68HC12.
Le 32 bits Le microcontrôleur utilise les instructions 32 bits pour effectuer les opérations
arithmétiques et logiques. Ceux-ci sont utilisés dans les dispositifs à commande automatique, y
compris les dispositifs médicaux implantables, les systèmes de commande de moteur, les machines
de bureau, les appareils et d'autres types de systèmes embarqués. Quelques exemples sont la
famille Intel / Atmel 251, PIC3x.
Types de microcontrôleurs selon les périphériques de
mémoire
Les périphériques de mémoire sont divisés en deux types, ils sont
RISQUE : Le RISC signifie Reduced Instruction Set Computer, ce type de jeu d'instructions réduit
la conception du microprocesseur pour les normes de l'industrie. Il permet à chaque instruction
d'opérer sur n'importe quel registre ou d'utiliser n'importe quel mode d'adressage et d'accès
simultané au programme et aux données.
D'après l'exemple ci-dessus, les systèmes RISC raccourcissent le temps d'exécution en réduisant les
cycles d'horloge par instruction, et les systèmes CISC raccourcissent le temps d'exécution en
réduisant le nombre d'instructions par programme. Le RISC donne une meilleure exécution que le
CISC.
Types de microcontrôleurs
Il existe différents types de microcontrôleurs comme 8051, PIC, AVR, ARM,
Microcontrôleur 8051
Il s'agit d'un microcontrôleur 40 broches avec Vcc de 5V connecté à la broche 40 et Vss à la broche
20 qui est maintenue à 0V. Et il y a des ports d'entrée et de sortie de P1.0 - P1.7 et qui ont une
fonction de drain ouvert. Port3 a des fonctionnalités supplémentaires. La broche 36 a la condition
de drain ouvert et la broche 17 a tiré un transistor vers le haut à l'intérieur du microcontrôleur.
Lorsque nous appliquons la logique 1 au port1, nous obtenons la logique 1 au port21 et vice versa.
La programmation du microcontrôleur est complètement compliquée. En gros, nous écrivons un
programme en langage C qui est ensuite converti en langage machine compris par le
microcontrôleur.
Une broche RESET est connectée à la broche 9, connectée avec un condensateur. Lorsque
l'interrupteur est sur ON, le condensateur commence à se charger et la RST est élevée.
L'application d'une valeur élevée à la broche de réinitialisation réinitialise le microcontrôleur. Si
nous appliquons un zéro logique à cette broche, le programme démarre l'exécution depuis le début.
La mémoire du 8051 est divisée en deux parties. Ce sont la mémoire de programme et la mémoire
de données. La mémoire de programme stocke le programme en cours d'exécution tandis que la
mémoire de données stocke temporairement les données et les résultats. Le 8051 a été utilisé dans
un grand nombre d'appareils, principalement parce qu'il est facile à intégrer dans un appareil. Les
microcontrôleurs sont principalement utilisés dans la gestion de l'énergie, les écrans tactiles, les
automobiles et les appareils médicaux.
Et
Broches 32-39: Connu sous le nom de Port 0 (P0.0 à P0.7) pour servir de ports d'E / S.
Broche 31: L'activation du verrouillage d'adresse (ALE) est utilisée pour démultiplexer le signal
de données d'adresse du port 0.
Pin-30: (EA) L'entrée d'accès externe est utilisée pour activer ou désactiver l'interfaçage de la
mémoire externe. S'il n'y a pas besoin de mémoire externe, cette broche est toujours maintenue
haute.
Broche 29: Program Store Enable (PSEN) est utilisé pour lire les signaux de la mémoire de
programme externe.
Broches - 21-28: Connu sous le nom de Port 2 (P 2.0 à P 2.7) - en plus de servir de port d'E / S, les
signaux de bus d'adresse d'ordre supérieur sont multiplexés avec ce port quasi bidirectionnel.
Broches 18 et 19: Utilisé pour interfacer un cristal externe pour fournir une horloge système.
Broches 10 à 17: Ce port remplit également d'autres fonctions telles que les interruptions, l'entrée
de la minuterie, les signaux de commande pour la mémoire externe interfaçant la lecture et
l'écriture. Il s'agit d'un port quasi bidirectionnel avec pull-up interne.
Broche 9: Il s'agit d'une broche RESET, utilisée pour mettre les microcontrôleurs 8051 à leurs
valeurs initiales, pendant que le microcontrôleur fonctionne ou au démarrage initial de
l'application. La broche RESET doit être réglée haut pendant 2 cycles machine.
Broches 1 à 8: Ce port ne remplit aucune autre fonction. Le port 1 est un port d'E / S quasi
bidirectionnel.
Microcontrôleur Renesas
Renesas est la dernière famille de microcontrôleurs automobiles qui offre des fonctionnalités
hautes performances avec une consommation d'énergie exceptionnellement faible sur une vaste
gamme d'articles. Ce microcontrôleur offre une sécurité fonctionnelle riche et des caractéristiques
de sécurité intégrées requises pour les applications automobiles nouvelles et avancées. La structure
de base du processeur du microcontrôleur prend en charge des exigences de haute fiabilité et de
hautes performances.
Ce microcontrôleur a une capacité de mémoire énorme ainsi qu'un brochage, ils sont donc utilisés
dans différentes applications de contrôle automobile. Les familles de microcontrôleurs les plus
populaires sont le RX ainsi que le RL78 en raison de leurs hautes performances. Les principales
caractéristiques de RENESAS RL78, ainsi que des microcontrôleurs de la famille RX, sont les
suivantes.
L'architecture utilisée dans ce microcontrôleur est l'architecture CISC Harvard qui offre des
performances élevées.
La famille de RL78 est accessible en microcontrôleurs 8 bits et 16 bits alors que la famille
RX est un microcontrôleur 32 bits.
Le microcontrôleur de la famille RL78 est un microcontrôleur à faible consommation tandis
que la famille RX offre une efficacité et des performances élevées.
Le microcontrôleur de la famille RL78 est disponible de 20 broches à 128 broches tandis
que la famille RX peut être obtenue dans un microcontrôleur à 48 broches dans un boîtier à
176 broches.
Pour le microcontrôleur RL78, la mémoire flash varie de 16 Ko à 512 Ko alors que, pour la
famille RX, elle est de 2 Mo.
La RAM du microcontrôleur de la famille RX va de 2 Ko à 128 Ko.
Le microcontrôleur Renesas offre une faible puissance, des performances élevées, des
packages modestes et la plus grande gamme de tailles de mémoire combinés avec des
périphériques riches en caractéristiques.
Microcontrôleurs Renesas
C'est un microcontrôleur à 20 broches. La broche 9 est Vss, broche de masse et Vdd, broche
d'alimentation. Il a trois types d'interruption différents, qui sont l'interruption normale,
l'interruption rapide, l'interruption à grande vitesse.
Les interruptions normales stockent les registres significatifs sur la pile à l'aide d'instructions push
et pop. Les interruptions rapides sont automatiquement stockées le compteur de programme et le
mot d'état du processeur dans des registres de sauvegarde spéciaux, le temps de réponse est donc
plus rapide. Et les interruptions à grande vitesse allouent jusqu'à quatre des registres généraux pour
une utilisation dédiée par l'interruption pour augmenter encore la vitesse.
La structure du bus interne offre 5 bus internes pour garantir que le traitement des données n'est pas
ralenti. Les extractions d'instructions se produisent via un large bus de 64 bits, de sorte qu'en raison
des instructions de longueur variable utilisées dans les architectures CISC.
L'automatisation industrielle
Applications de communication
Applications de contrôle de moteur
Test et mesure
Applications médicales
AVR Microcontrollers
Le microcontrôleur AVR est développé par Alf-Egil Bogen et Vegard Wollan d'Atmel
Corporation. Les microcontrôleurs AVR sont une architecture Harvard RISC modifiée avec des
mémoires séparées pour les données et le programme et la vitesse de l'AVR est élevée par rapport à
8051 et PIC. L'AVR signifie À lf-Egil Bogen et V egard Wollan's R Processeur ISC.
Les 8051 sont des contrôleurs 8 bits basés sur l'architecture CISC, les AVR sont des
contrôleurs 8 bits basés sur l'architecture RISC
8051 consomme plus d'énergie qu'un microcontrôleur AVR
En 8051, nous pouvons programmer facilement que le microcontrôleur AVR
La vitesse de l'AVR est supérieure à celle du microcontrôleur 8051
TinyAVR - Moins de mémoire, petite taille, convient uniquement aux applications plus
simples
MegaAVR - Ce sont les plus populaires ayant une bonne quantité de mémoire (jusqu'à 256
Ko), le plus grand nombre de périphériques intégrés et adaptés aux applications modérées à
complexes
XmegaAVR - Utilisé commercialement pour les applications complexes, qui nécessitent
une grande mémoire programme et une vitesse élevée
Il existe de nombreux microcontrôleurs de la famille AVR, tels que ATmega8, ATmega16, etc.
Dans cet article, nous discutons du microcontrôleur ATmega328. L'ATmega328 et l'ATmega8 sont
des circuits intégrés compatibles avec les broches, mais fonctionnellement ils sont différents.
L'ATmega328 a une mémoire flash de 32 Ko, alors que l'ATmega8 a 8 Ko. D'autres différences
sont la SRAM et l'EEPROM supplémentaires, l'ajout d'interruptions de changement de broche et
les minuteries. Certaines des fonctionnalités d'ATmega328 sont:
Caractéristiques de ATmega328
GND: Sol.
Port B: Le port B est un port d'E / S bidirectionnel 8 bits. Les broches du port B sont tri-déclarées
lorsqu'une condition de réinitialisation devient active ou une, même si l'horloge ne fonctionne pas.
Port C: Le port C est un port d'E / S bidirectionnel 7 bits avec des résistances de rappel internes.
PC6 / RÉINITIALISER
Port D: Il s'agit d'un port d'E / S bidirectionnel 8 bits avec résistances de rappel internes. Les
tampons de sortie du port D se composent de caractéristiques d'entraînement symétriques.
Microcontrôleur PIC
PIC est un contrôleur d’interface périphérique, développé par la microélectronique de l’instrument
général, en 1993. Il est contrôlé par le logiciel. Ils pourraient être programmés pour accomplir de
nombreuses tâches et contrôler une ligne de génération et bien d'autres. Les microcontrôleurs PIC
trouvent leur place dans de nouvelles applications telles que les smartphones, les accessoires audio,
les périphériques de jeux vidéo et les appareils médicaux avancés.
Il existe de nombreux PIC, commencés par PIC16F84 et PIC16C84. Mais c'étaient les seuls PIC
flash abordables. Microchip a récemment introduit des puces flash avec des types beaucoup plus
attrayants, tels que 16F628, 16F877 et 18F452. Le 16F877 est environ deux fois le prix de l'ancien
16F84 mais a huit fois la taille du code, beaucoup plus de RAM, beaucoup plus de broches d'E / S,
un UART, un convertisseur A / N et bien plus encore.
Microcontrôleur PIC
Caractéristiques du PIC16F877
Caractéristiques périphériques
Timer0, Timer2 est une minuterie / compteur 8 bits avec pré-scalaire 8 bits
Timer1 est de 16 bits, peut être incrémenté pendant le sommeil via un cristal / une horloge
externe
La fonction de capture d'entrée enregistre le compte Timer1 sur une transition de broche
Une sortie de fonction PWM est une onde carrée avec une période et un cycle de service
programmables.
Fonctions analogiques
Avantages de PIC
Le circuit ci-dessous est constitué d'une lampe dont la commutation est contrôlée à l'aide d'un
microcontrôleur PIC. Le microcontrôleur est interfacé avec un cristal externe qui fournit une entrée
d'horloge.
Le PIC est également interfacé avec un bouton poussoir et en appuyant sur le bouton poussoir, le
microcontrôleur envoie en conséquence un signal haut à la base du transistor, de manière à allumer
le transistor et ainsi donner une bonne connexion au relais pour l'allumer et permettre le passage du
courant alternatif vers la lampe et ainsi la lampe brille. L'état de l'opération est affiché sur l'écran
LCD interfacé avec le microcontrôleur PIC.
Microcontrôleur MSP
Un microcontrôleur comme MSP430 est un microcontrôleur 16 bits. Le terme MSP est l'acronyme
de «Mixed Signal Processor». Cette famille de microcontrôleurs provient de Texas Instruments et
est conçue pour les systèmes à faible coût et à faible dissipation de puissance. Ce contrôleur
comprend un bus de données 16 bits, modes d'adressage-7 avec jeu d'instructions réduit, ce qui
permet un code de programmation plus dense et plus court utilisé pour des performances rapides.
Ce microcontrôleur est un type de circuit intégré, utilisé pour exécuter les programmes pour
contrôler d'autres machines ou appareils. C'est une sorte de micro-appareil, utilisé pour contrôler
d'autres machines. Les caractéristiques de ce microcontrôleur peuvent normalement être obtenues
avec d'autres types de microcontrôleur.
SoC complet comme ADC, LCD, ports d'E / S, RAM, ROM, UART, minuterie de
surveillance, minuterie de base, etc.
Il utilise un cristal externe et un oscillateur FLL (boucle à verrouillage de fréquence) dérive
principalement tous les CLK internes
L'utilisation de l'énergie est faible comme 4,2 nW uniquement pour chaque instruction
Générateur stable pour les constantes les plus fréquemment utilisées telles que -1, 0, 1, 2, 4,
8
La vitesse élevée typique est de 300 ns pour chaque instruction, comme le CLK 3,3 MHz
Les modes d'adressage sont 11 où les sept modes d'adressage sont utilisés pour les
opérandes source et quatre modes d'adressage sont utilisés pour l'opérande de destination.
Architecture RISC avec 27 instructions de base
La capacité en temps réel est pleine, stable et la fréquence nominale CLK du système ne peut être
obtenue après 6 horloges qu'une fois que le MSP430 est rétabli à partir du mode basse
consommation. Pour le cristal principal, pas d'attente pour démarrer la stabilisation et l'oscillation.
Les instructions de base ont été combinées à l'aide de fonctionnalités spéciales pour rendre le
programme facile dans le microcontrôleur MSP430 en utilisant l'assembleur autrement en C pour
fournir des fonctionnalités exceptionnelles ainsi qu'une flexibilité. Par exemple, même en utilisant
un faible nombre d'instructions, le microcontrôleur est capable de suivre approximativement
l'ensemble du jeu d'instructions.
Microcontrôleur Hitachi
Le microcontrôleur Hitachi appartient à la famille H8. Un nom comme H8 est utilisé dans une
grande famille de microcontrôleurs 8 bits, 16 bits et 32 bits. Ces microcontrôleurs ont été
développés grâce à la technologie Renesas. Cette technologie a été fondée dans les semi-
conducteurs Hitachi, en 1990.
Microcontrôleur Motorola
Le microcontrôleur Motorola est un microcontrôleur extrêmement intégré, utilisé pour les
processus de traitement de données à haute performance. L'unité de ce microcontrôleur utilise un
SIM (System Integration Module), TPU (Time Processing Unit) et QSM (Queued Serial Module).
Avantages des types de microcontrôleurs
Les avantages des types de microcontrôleurs sont les suivants.
Sûr
Réutilisable
A faible consommation
Rentable
Réutilisable
Il nécessite moins de temps pour fonctionner
Ceux-ci sont flexibles et très petits
En raison de leur intégration élevée, sa taille et son coût du système peuvent être réduits.
L'interfaçage du microcontrôleur est facile avec des ports ROM, RAM et E / S
supplémentaires.
De nombreuses tâches peuvent être effectuées, de sorte que l'effet humain peut être réduit.
Il est simple à utiliser, le dépannage et la maintenance du système sont simples.
Il fonctionne comme un micro-ordinateur sans aucune pièce numérique
Complexité de la programmation
Sensibilité électrostatique
L'interfaçage avec des appareils haute puissance n'est pas possible.
Sa structure est plus complexe par rapport aux microprocesseurs.
Généralement, il est utilisé dans les microdispositifs
Il exécute simplement un non incomplet. d’exécutions simultanées.
Il est généralement utilisé dans les micro-équipements
Il a une structure plus complexe par rapport à un microprocesseur
Le microcontrôleur ne peut pas interfacer directement un appareil plus puissant
Il n'a effectué qu'un nombre limité d'exécutions simultanément
Automobiles
Systèmes de comptage portatifs
Téléphones portables
Systèmes informatiques
Alarmes de sécurité
appareils électroménagers
Compteur actuel
Appareils photo
Micro four
Instruments de mesure
Dispositifs de contrôle de processus
Utilisé dans les appareils de mesure et de mesure, voltmètre, mesure d'objets rotatifs
Contrôle des appareils
Appareils d'instrumentation industriels
Appareils d'instrumentation dans les industries
Détection de la lumière
Dispositifs de sécurité
Dispositifs de contrôle de processus
Contrôle des appareils
Détection d'incendie
Détection de température
Téléphones portables
Auto Mobiles
Machines à laver
Appareils photo
Alarmes de sécurité
Ainsi, il s'agit de un aperçu des types de microcontrôleurs . Ces microcontrôleurs sont des micro-
ordinateurs monopuce et la technologie utilisée pour sa fabrication est VLSI. Ceux-ci sont
également connus sous le nom de contrôleurs intégrés, disponibles en 4 bits, 8 bits, 64 bits et 128
bits. Cette puce est conçue pour contrôler différentes fonctions du système embarqué. Voici une
question pour vous, quelle est la différence entre un microprocesseur et un microcontrôleur?
Programmation
Le langage C est le langage de prédilection (avec l'assembleur) du développement sur
microcontrôleurs. Une fois le programme compilé, le fichier binaire doit être envoyé au
microcontrôleur. On utilise soit :
On peut alors utiliser le système. Toutefois, le programme qui a été envoyé peut comporter des
bogues, aussi, pour parvenir à les détecter on utilisera par exemple un émulateur in-circuit.
Structure interne
Caractéristiques de la CPU
- CPU à architecture RISC (8 bits)
- Mémoire programme de 8 Kmots de 14 bits (Flash),
- Mémoire donnée de 368 Octets,
- EEPROM donnée de 256 Octets,
- 14 sources interruptions
- Générateur d'horloge de type RC ou quartz (jusqu‟ à 20 MHz)
- 05 ports d'entrée sortie
- Fonctionnement en mode sleep pour réduction de la consommation,
- Programmation par mode ICSP (In Circuit Serial Programming) 12V ou 5V,
- Possibilité aux applications utilisateur d’accéder à la mémoire programme
Caractéristiques des périphériques
- Timer0 : Timer/Compteur 8 bitsavec un prédiviseur 8 bits
- Timer1 : Timer/Compteur 16 bits avec un prédivision de 1, 2, 4, ou 8 ; il peut être
incrémenté en mode veille (Sleep), via une horloge externe,
- Timer2 : Timer 8 bits avec deux diviseurs (pré et post diviseur)
- Deux modules « Capture, Compare et PWM » :
Module capture 16 bits avec une résolution max. 12,5 ns,
Module Compare 16 bits avec une résolution max. 200 ns,
Module PWM avec une résolution max. 10 bits,
- Convertisseur Analogiques numériques multi-canal (8 voies) avec une conversion
sur 10 bits,
Synchronous Serial Port (SSP) SSP, Port série synchrone en mode I2C (mode
maitre/escalve),
- Universel Synchronous Asynchronous Receiver Transmitter (USART) : Port série
universel, mode asynchrone (RS232) et mode synchrone
Structure externe
Le PIC16F877 est un circuit intégré de 40 broches :
L’alimentation
L’alimentation du circuit est assurée par les pattes VDD et VSS. Elles permettent à
l’ensemble des composants électroniques du PIC de fonctionner. Pour cela on relie VSS
(patte 5) à la masse (0 Volt ) et VDD (patte 14) à la borne positive de l’alimentation
qui doit délivrer une tension continue comprise entre 3 et 6 Volts.
Cadencement du PIC
Le PIC 16F877A peut fonctionner en 4 modes d’oscillateur.
LP : Low Power crystal : quartz à faible puissance.
XT : Crystal/Resonator : quartz/résonateur en céramique.
HS : High Speed crystal/resonator : quartz à haute fréquence/résonateur en céramique
HF.
RC : Circuit RC (oscillateur externe).
Dans le cas du 16F877, on peut utiliser un quartz allant jusqu’à 20Mhz relié avec deux
condensateurs de découplage, du fait de la fréquence importante du quartz utilisé.
Quelque soit l'oscillateur utilisé, l'horloge système dite aussi horloge instruction est obtenue
en divisant la fréquence par 4. Avec un quartz de 4 MHz, on obtient une horloge instruction
de 1 MHz, soit le temps pour exécuter une instruction de 1μs
Le port B peut être programmé pour un tirage à 5V (pull up) de toutes ses lignes que l'on
peut mettre ou non en service en mode entrée uniquement. Elles sont automatiquement
désactivées quand le port est configuré en sortie.
En mode entrée, chaque broche du PORTB doit être maintenue à un niveau haut par
l'intermédiaire de résistances de 10 k pour ne pas déclencher d'interruptions imprévues.
Cette possibilité d'interruption sur un changement d'état associé à la fonction de tirage
configurable sur ces 4 broches, permet l'interfaçage facile avec un clavier. Cela rend
possible le réveil du PIC en mode SLEEP par un appui sur une touche du clavier.
Port C
Le port C est partagé avec liaisons, les timers 1 et 2 et les modules CCP.
Port D et E
En plus de leur utilisation comme PORTS E/S; les ports D et E, permettent au
microcontrôleur de travailler en mode PSP (Parallel Slave Port) c’est-à-dire, qu’il peut
être interfacé avec un autre microprocesseur. Dans ce cas le PORTD représente le bus de
données et le PORTE les signaux de contrôle(RD\, WR\ et CS\).
Le PORTE peut être aussi, configuré en mode analogique pour former avec le PORTA
les 8 entrées du convertisseur analogique numérique. Par défaut, le PORTE est configuré
comme port analogique, et donc, comme pour le PORTA,
Chien de garde
Un chien de garde est un circuit électronique ou un logiciel utilisé en électronique
numérique pour s'assurer qu'un automate ou un ordinateur ne reste pas bloqué à une
étape particulière du traitement qu'il effectue. C'est une protection destinée
généralement à redémarrer le système, si une action définie n'est pas exécutée dans un
délai imparti ;
Dans le PIC, il s’agit un compteur 8 bits incrémenté en permanence (même si le μC est
en mode sleep) par une horloge RC intégrée indépendante de l'horloge système.
Lorsqu’il déborde, deux situations sont possibles :
- Si le μC est en fonctionnement normal, le WDT time-out provoque un RESET.
Ceci permet d’éviter de rester planté en cas de blocage du microcontrôleur par un
processus indésirable non contrôlé
- Si le μC est en mode SLEEP, le WDT time-out provoque un WAKE-UP,
l'exécution du programme continue normalement là où elle s'est arrêtée avant
de rentrer en mode SLEEP. Cette situation est souvent exploitée pour réaliser
des temporisations
Conclusion
La plus grande partie des systèmes électroniques complexes utilisés de nos jours sont des
Ils sont en général dédiés à une tâche bien précise. La taille des programmes et la quantité
de mémoire (vive et morte), dont ils disposent, sont modestes (face à un micro-ordinateur) ;
Ils doivent communiquer avec des dispositifs d'entrées-sorties (IO) : boutons, relais,
etc. ;
Ils n'ont parfois aucun dispositif d'interface homme-machine (IHM) : ni clavier, ni écran, ni
[2]: https://fr.wikipedia.org/wiki/Architecture_Harvard#Autres_architectures
[7] : pris en main de MPLNAB 6.40 , formation sur les micro contrôleurs PIC,
Lycée Philippe de Girard, France, 10 janv. 2004