Académique Documents
Professionnel Documents
Culture Documents
2023-2024
Microprocesseur I et Microcontrôleur
Chapitre 1 :
INTRODUCTION
Quand on frappe la lettre ‘’a ‘’ sur le clavier de la machine à écrire ordinaire, on entend le bruit
du marteau où est inscrit le caractère ‘’a ‘’ en actionnant en fait un levier.
Quand on frappe la même lettre sur un clavier d’ordinateur, on fait surgir huit impulsions
électriques, réparties en deux catégories, des faibles et des fortes qui correspondent par
convention 0 et 1. Le code pour la lettre ‘’a’’ est 01000001. A l’intérieur de l’ordinateur,
La série 01000001 déclenche des signaux lumineux qui deviennent un ‘’a’’ sur l’écran.
Le code pour ‘’b’’ est 0100010, celui pour ‘’c’’ est 01100011.
On utilise le système binaire dans les communications notamment dans l’enregistrement des
œuvres musicales.
D’une façon générale, le nombre de symboles utilises est appelée Base. Lorsqu’un nombre est
écrit, la position respective des symboles détermine le poids.
Le tableau suivant donne pour quelques nombres leurs correspondances dans les bases 2
(binaire), 8 (octal) et 16 (hexadécimal).
Tableau 1 : correspondance de quelques nombres
Décimal (N)10 Binaire (N)2 Octal (N)8 Hexadécimal (N)16
0 0 0000 00 00
1 0 0001 01 01
2 0 0010 02 02
3 0 0011 03 03
4 0 0100 04 04
5 0 0101 05 05
6 0 0110 06 06
7 0 0111 07 07
8 0 1000 10 08
9 0 1001 11 09
10 0 1010 12 0A
11 0 1011 13 0B
12 0 1100 14 0C
13 0 1101 15 0D
14 0 1110 16 0E
15 0 1111 17 0F
16 1 0000 20 10
17 1 0001 21 11
18 1 0010 22 12
19 1 0011 23 13
20 1 0100 24 14
21 1 0101 25 15
22 1 0110 26 16
23 1 0111 27 17
24 1 1000 30 18
25 1 1001 31 19
26 1 1010 32 1A
27 1 1011 33 1B
28 1 1100 34 1C
29 1 1101 35 1D
30 1 1110 36 1E
31 1 1111 37 1F
27 26 25 24 23 2² 21 20
0 1 0 0 1 1 0 1
87 86 85 84 83 8² 81 80
Le nombre en base 10 est : 83 + 8² + 81 + 80 =
0 0 0 0 7 6 0 1
7*512 + 6*64 + 0*81 + 1*80 = 3969
Remarque : Pour passer d’une base B1 à B2 avec B1 et B2 différents de la base 10, on passe B1
d’abord en base 10 puis en base B2.
B1 B2
II. conversion (base 2 vers 10, base 2 vers 16, base 10 vers
2)
Chapitre 2
d’exécution des instructions d’un programme. Comme dans tout circuit intégré, la technologie
de fabrication impose au microprocesseur des caractéristiques de :
- temps de réponse,
- consommation.
Entre les différents ensembles, les liaisons fonctionnelles sont assurées par trois groupes de
conducteurs en parallèles appelés bus et ayant chacun une fonction spécifique.
2. Interface :
L’interfaçage est l’ensemble matériel qui permet de transférer les données entre le système
de traitement de l’information et les périphériques. On distingue les interfaces série et les
interfaces parallèles.
3. Périphériques :
Les périphériques sont les matériels extérieurs aux systèmes informatiques. On y retrouve :
tous les matériels qui servent à la communication de l’homme avec le système
informatique : écran, clavier, souris…
tous les systèmes de stockage des informations : lecteur de disquettes et CDROM,
disque dur, lecteur de bandes magnétiques…
tous les appareils qui servent à traduire les données sur papier : imprimante à aiguilles,
jet ou bulles d’encre, laser…
tous les appareils qui servent à acquérir des informations extérieures : lecteur de cartes
magnétiques, scanner, appareil photo numérique, carte d’acquisition son et vidéo…
II. MICROPROCESSEUR
Le registre d'instruction contient maintenant le premier mot de l'instruction qui peut être codée
sur plusieurs mots. Ce premier mot contient le code opératoire qui définit la nature de l'opération
à effectuer (addition, rotation,...) et le nombre de mots de l'instruction.
1. L'unité de commande transforme l'instruction en une suite de commandes élémentaires
nécessaires au traitement de l'instruction.
2. Si l'instruction nécessite une donnée en provenance de la mémoire, l'unité de commande
récupère sa valeur sur le bus de données.
3. L’opérande est stocké dans un registre.
– Phase 3 : Exécution de l'instruction
1. Le microprogramme réalisant l'instruction est exécuté.
2. Les drapeaux sont positionnés (registre d'état).
3. L'unité de commande positionne le PC pour l'instruction suivante.
Les différents organes du système sont reliés par des voies de communication appelées bus.
2. ARCHITECTURE DE HARVARD
Cette architecture sépare systématiquement la mémoire de programme de la mémoire des
données : l'adressage de ces mémoires est indépendant. Ce type d’architecture est utilisé sur des
microcontrôleurs qui ont connu un développement important ces dernières années.
Quoique cette architecture puisse être complexe mais elle est performante: Gain en
terme de vitesse d’exécution des programmes : L’exécution d’une instruction ne fait plus appel
qu’à un seul cycle machine puisque l’on peut simultanément, grâce au deux bus, rechercher le
code de l’instruction et la ou les données qu’elle manipule
Chapitre 3 :
Les BUS
Comme nous l’avions vu plus haut, les trois éléments fondamentaux d’un système
microprogrammé sont : le microprocesseur ou microcontrôleur, la mémoire et les boîtiers
d’entrées sorties. Tous ces éléments sont reliés entre eux par des bus comme le montre la figure
ci dessous :
I. Bus de données.
Il permet de véhiculer des données du microprocesseur vers un composant ou d'un composant
vers le microprocesseur. Il est donc bidirectionnel. Le nombre de fils de ce bus varie suivant les
microprocesseurs (8 / 16 / 32 / 64 bits). Dans la littérature, les différents fils de ce bus sont
appelés D0, D1, ..., Dp-1, si le bus a "p" fils.
Dans l'exemple précédent, le microprocesseur écrit la donnée 10101111 dans la case mémoire
d'adresse 1011 1111 0110 1010.
Le bus d’adresse est unidirectionnel : du microprocesseur vers les autres composants. Il se
compose de 16 à 32 fils, suivant les microprocesseurs, que l'on nomme A0, A1, ..., An-1. Le
tableau suivant donne l’espace mémoire adressable en fonction du nombre des lignes
d’adresses.
Chapitre 4
Les Mémoires
La mémoire vive, généralement appelée RAM (Random Access Memory, mémoire à accès
aléatoire), est la mémoire principale du système, c'est-à-dire qu'il s'agit d'un espace permettant
de stocker de manière temporaire des données lors de l'exécution d'un programme. En effet le
stockage de données dans la mémoire vive est temporaire, contrairement au stockage de
données sur une mémoire de masse telle que le disque dur, car elle permet uniquement de
stocker des données tant qu'elle est alimentée électriquement. Ainsi, à chaque fois que
l'ordinateur est éteint, toutes les données présentes en mémoire sont irrémédiablement effacées.
La mémoire morte, appelée ROM pour Read Only Memory (mémoire à lecture seulement) est
un type de mémoire permettant de conserver les informations qui y sont contenues même
lorsque la mémoire n'est plus alimentée électriquement. A la base ce type de mémoire ne peut
être accédé qu'en lecture. Toutefois il est désormais possible d'enregistrer des informations dans
certaines mémoires de type ROM.
La mémoire peut être vue comme un large vecteur (tableau) de mots ou octets.
– Un mot mémoire stocke une information sur D bits.
– Un mot mémoire contient plusieurs cellules mémoire.
– Une cellule mémoire mémorise un seul bit.
– Chaque mot possède sa propre adresse.
– Une adresse est un numéro unique qui permet d’accéder à un mot mémoire.
– Les adresses sont séquentielles (consécutives).
– La taille de l’adresse (le nombre de bits) dépend de la capacité de la mémoire.
Les mémoires sont connectées à un bus d’adresse de n bits, un bus de données de p bits et des
lignes de commandes. Pour pouvoir communiquer avec le microprocesseur, on va relier leurs
bus ensembles. Pour cela, il est nécessaire d'avoir adéquation entre le nombre de bits des bus
de données et d’adresse de la mémoire et du microprocesseur. Sur la figure 2.10 apparaît une
broche de validation. Elle permet de sélectionner un boîtier mémoire parmi plusieurs, d'où son
appellation : "chip select". Cette broche permet d’éviter les conflits sur le bus de données. En
effet dans le cas général, il existe plusieurs boîtiers mémoire sur la carte, tous branchés sur le
même bus de données. Dans ce cas, il est nécessaire de construire un signal qui permettra à un
seul boîtier d'accéder au bus de données. Ce signal CS (chip select) sélection de boîtier ou CE
(chip enable) validation de boîtier. Il faut créer autant de CS qu'il y a de boîtiers. Dans notre
exemple figure 2.11, il nous faut fabriquer deux CS : CS1, CS2
est appelé
Exemple :
Le bus d’adresse est sur 16 bits, le bus de données est sur 8 bits (figure 2.11). A l'adresse 1000H,
le premier boîtier mémoire contient A7H et le second contient A6H. Si le microprocesseur fait
une lecture à l'adresse 1000H (RD=1). Le premier boîtier mettra A7H sur le bus de données et
le deuxième A6H sur le bus de données. Le bus de données D7- D0 a donc sur son fil D0 un
"0" et un "1" ; c'est à dire 5 volts et la masse. C'est donc un court-circuit.
Les sélections de boîtiers "CS" (CS1 et CS2 sur la figure suivante) sont des fonctions logiques.
Elles proviennent de circuits combinatoires appelés "logique de décodage ou encore décodage
adresse". Les variables logiques de ces fonctions logiques sont les variables du bus d’adresse
(A0-An-1). Le choix des plages de validation des CSi sont exclusives les unes par rapport aux
autres. C'est à dire qu'elles ne se recouvrent pas.
Prenons l'exemple de la figure 2.13, si le bus d’adresse se compose de 16 fils (A0- A15).
Supposons que la taille mémoire des deux boîtiers soit 32*1024 = 32K = 215 adresses.
Il y a donc 15 broches adresses sur chaque boîtier. Nous pourrons mettre les fils A0 - A14 du
bus d’adresse sur ces broches. On peut prendre CS1 = /A15 (complément de A15)
CS2=A15. Une lecture du microprocesseur à l'adresse 1000H donnera : CS1 =1 et CS2 =0. Ce
sera donc le premier boîtier qui sera validé et qui mettra le contenu de sa mémoire n° 0001 0000
0000 0000 sur le bus de données (A7H si on reprend l'exercice précédent). L'assemblage de
plusieurs boîtiers forme un plan mémoire de plus grande capacité. L'assemblage horizontal (en
largeur) permet de réaliser des mémoires de mots plus grands. Les boîtiers partagent le même
bus d’adresses et de contrôle. Tandis que l'assemblage vertical (en profondeur) augmente la
capacité (taille) mémoire du micro-ordinateur, les boîtiers partagent
le même bus de données.
Chapitre 5
Remarque :
Le port C est divisé en deux port C haut et port C bas
Le schéma bloque du 8255A est donné par la figure suivante :
Le schéma bloc du 8255 montre bien qu'il est divisé en deux groupes :
La sélection du 8255A se fait par l'intermédiaire de la pine CS (qui est en général fournie par
une logique de décodage qui permet la sélection du 8255A : voir plus loin les exemples
d'applications)
Le bus d'adresse du 8255A est formé essentiellement par deux pines (A0et A1) qui permettent
de sélectionner les ports ainsi que le registre de contrôle comme le montre le tableau suivant :
Plus en détail l'adressage des différents ports en entrée sortie se fait selon la table de vérité
suivante :
II ) Programmation du 8255A :
On peut programmer le 8255A selon trois modes :
En mode zéro les ports du 8255A peuvent être programmés en entrée ou en sortie : 8 bits pour
le port A, 8 bits pour le port B et le port C est formé de deux quartes ( un quarte haut et un
quarte bas ) , donc il y a 16 combinaisons possibles :
Exemple si on veut configurer le port A en sortie, port B en entrée, port C haut entrée et port C
bas sortie le mot de commande est 93H
Remarque :
Chapitre 6
LE CAN
Ce convertisseur analogique numérique est constitué d’une entrée analogique Vin et d’une
sortie numérique parallèle de 8bits. Et aussi d’une activation CS active au niveau haut
(1ogique). Sans oublier des broches de référence VREF+ et VREF-.
NB : dans ce cas de CAN, la tension de référence à utiliser est la différence de potentiel entre
VREF+ et VREF-. . Ce type de CAN ne peut prendre qu’un seul capteur.
Nous avons vu qu’il existe des CANs qui ont juste une entrée c’est-à-dire qu’on ne peut
connecter juste un capteur sur ces CANs. Il existe une méthode pour multiplier les entrées de
ces CANs.
Questions :
Élaborer le schémas électronique d’un CAN à une entrée comportant 4 bits de sortie
avec un multiplexeur de 3 entrées et une sortie.
Combien de capteurs à sortie analogique peut connecter sur ce schéma.
Ou devrons - nous connecter ces capteurs ?