Vous êtes sur la page 1sur 14

Microcontrôleur

UNIVERSITE ABDELMALEK ESSAADI


ECOLE NATIONALE DES SCIENCES APPLIQUEES
DE TETOUAN

Microcontrôleur

POLYCOPIE DE COURS
Prof. KHOULJI S.

MODULE : Informatique industriel


MATIERE : Les Microcontrôleurs
FILIERE : GSTR
NIVEAU : 2ème année
SEMESTRE : S4

1 Prof. KHOULJI S.
Microcontrôleur

TABLE DE MATIERES

Chapitre I : Introduction et Rappel.

Chapitre II : Architecture Générale d’un microcontrôleur

Chapitre III : Microcontrôleur type PIC 16F84

Chapitre IV : Programmation avec MPLAB

2 Prof. KHOULJI S.
Microcontrôleur
Chapitre I :
Introduction et Rappel

Plan
-------------------------------------------------------------------------------------
1. Architecture de l’ordinateur
2. Les différentes bases de numérotation : (binaire, octal, décimal,
hexadécimal)
3. Conversions et opérations sur les nombres binaires
4. Notions d'électronique numérique : (fonctions logiques
combinatoires et séquentielles)

--------------------------------------------------------------------------------------
1. Architecture de l’ordinateur
L’ordinateur a besoin de matériel informatique (HARDWARE) et de logiciels (software) pour
exécuter ces quatre fonctions : Entrée, stockage, traitement et sortie des données ou des
instructions.
Le matériel informatique est constitué du :
➢ Unité centrale: se matérialise par un boîtier, qui recèle tous les composants essentiels d'un
ordinateur exceptés le clavier, le moniteur et la souris: à savoir la carte mère et
son processeur, le disque dur, les lecteurs et graveurs de CD/DVD et de nombreux autres
composants.
➢ Les périphériques : tous les composants reliés à l’ordinateur par des câbles ou par une
technologie sans fils.

Carte mère :
L'élément constitutif principal de l'ordinateur est la carte mère, sur laquelle sont connectés tous
les autres éléments
- le processeur (cerveau de l'ordinateur)
- la mémoire (ROM, RAM, mémoire cache)
- le(s) disque-dur(s), lecteurs CD-ROM, lecteurs de disquettes
- les périphériques internes (sur les bus ISA, PCI, AGP)
Le microprocesseur :
C’est le cerveau de l’ordinateur, il contient différentes composantes responsables pour
l'interprétation des instructions que lui envoient le matériel, le système d'exploitation et les
programmes.
Le microprocesseur ou CPU (central processing unit) est en charge de tous les « calculs »
réalisés par l’ordinateur. Plus précisément, un microprocesseur a pour tâche d’exécuter des
opérations élémentaires : additionner ou multiplier deux nombres, écrire ou lire une donnée en
mémoire, effectuer une opération si un nombre est plus grand qu’un autre, etc. Tous les
programmes exécutés sur un ordinateur sont décomposés en instructions de ce type.

3 Prof. KHOULJI S.
Microcontrôleur

Les mémoires :
La mémoire vive ou RAM :
La mémoire vive ou RAM (de l'anglais Random Access Memory : mémoire à accès aléatoire) est
la mémoire la plus connue de l'ordinateur. Son avantage majeur est sa capacité de lecture très
rapide par rapport au disque dur et qui permet une utilisation fluide de votre ordinateur. Son but
n'étant pas de ranger de l'information mais d'y accéder rapidement et provisoirement.
 Le processeur l'utilise pour stocker toutes sortes de données dont il a besoin rapidement.
Sans mémoire vive, un ordinateur ne peut pas fonctionner. Ainsi, dès qu'on veut exécuter
un logiciel, par exemple, il est d'abord chargé depuis le disque dur dans la mémoire vive
avant d'être exécuté par le processeur.
 Lorsque l'ordinateur est éteint, cette mémoire est effacée. C'est pour cela qu'il est
important de sauvegarder sur le disque dur (ou autre) son travail, lorsqu'on éteint son
ordinateur.
 La mémoire vive se présente sous forme de petites cartes (appelées barrettes mémoire)
qui se fixent sur la carte mère. Selon le modèle de l'ordinateur, on peut en fixer 2, 3 ou 4.
Chaque barrette a une capacité (une taille) exprimée en mégaoctets ou en gigaoctets (en
abrégé Mo et Go).
 Les systèmes d'exploitation modernes utilisent également la mémoire vive pour servir
de cache aux disques durs.

Les mémoires mortes ou ROM :


On appelle mémoire morte ou ROM (de l'anglais Read Only Memory : mémoire en lecture seule)
une mémoire qui ne perd pas son contenu lorsqu'elle n'est pas alimentée en courant électrique.
C'est le cas des ROM BIOS, qui sont des puces qui contiennent le programme (BIOS) qui sera
utilisé lors de l'allumage de l'ordinateur (quand la mémoire vive ne contient encore aucun
programme et que nul système d'exploitation n'est chargé).
Le BIOS est un programme permettant de vérifier l’état de l’ordinateur. IL pilote les interfaces
d'entrée-sortie principales du système.
Mémoire de masse :
DISQUE DUR : C'est la mémoire de l'ordinateur puisque son rôle est de stocker des données
informatiques. Le disque dur contient le système Windows, vos programmes installés ainsi que
vos données personnelles.
Aujourd'hui un disque dur atteint plusieurs To (Téra Octets) soit 1000 Go (Giga Octets) soit
mille milliard d'octets.

La mémoire cache : permet au processeur de se "rappeler" des opérations déjà effectuées


auparavant.

Les périphériques
Les périphériques de sortie : ils servent à restituer l’information. Ils envoient des informations
vers l’ordinateur : l'écran, l'imprimante, les haut-parleurs, le casque, vidéoprojecteur, etc…
Les périphériques d’entrée : ils servent à envoyer des informations à l’unité centrale : le
clavier, la souris, le scanneur, le microphone, webcam, etc….
Les périphériques mixte: Modem

Le chipset : C’est un circuit électronique chargé de coordonner les échanges de


données entre les divers composantes de l'ordinateur (processeur, mémoire; ...). Dans la mesure
où le chipset est intégré à la carte-mère, il est important de choisir une carte-mère embarquant un
chipset récent afin de garantir à votre PC un maximum de chance de pouvoir évoluer.

4 Prof. KHOULJI S.
Microcontrôleur
Architecture de l’ordinateur :
Avant d'aborder le cas du microcontrôleur, faisons un petit parallèle avec l'ordinateur que tout le
monde connaît bien. Les éléments de base sont : la carte mère, le processeur, la mémoire (sous
plusieurs formes), et les connecteurs d'extension. Tous ces éléments communiquent entre eux par
ce que l'on appelle des bus. C'est en fait un regroupement de pistes de même nature : par
exemple, un bus de données de 8 bits sera constitué de 8 pistes (chacune sera un bit) et
véhiculera seulement des données (une variable etc...). Le diagramme ci-dessous montre
comment est interconnecté tout ça. (c'est simplifié bien évidemment).

Le bus d'adresse sert à choisir où l'on va écrire une donnée dans une mémoire. Par exemple, le
microprocesseur choisit d'écrire une variable dans la RAM (mémoire vive) : il va la sélectionner
avec le bus de contrôle, choisir à quel emplacement à l'intérieur de la RAM il va écrire la donnée
grâce au bus d'adresse et va écrire la donnée transmise par le bus de données.
Dans le schéma ci-dessus, la mémoire morte peut être un CD-ROM, le BIOS, la mémoire vive
est la RAM ou un disque dur et les entrées/sorties (E/S) sont les ports PCI, parallèle (Lpt), série
(Com) etc.

L'ordinateur est donc une association entre plusieurs éléments.

Composants de l'ordinateur
Nous allons maintenant voir comment sont constitués chacun des éléments décrits ci-dessus.
Cette étape est importante car l'assembleur est un langage de bas niveau, ce qui signifie qu'il tient
compte du matériel utilisé et de la structure interne de chaque composant.
La mémoire est l'endroit où sont stockées les données. Elle peut être volatile ou non. Pour
simplifier, on peut la voir comme le schéma ci-dessous.

C'est une mémoire de 256 octets, ou de 256*8 = 2048 bits.

5 Prof. KHOULJI S.
Microcontrôleur
Voyons maintenant l'extérieur de la mémoire. Nous avons vu précédemment qu'il existait un bus de
données, de contrôle et d'adresse. Le schéma ci-dessous résume bien l'utilité de ces signaux.

Prenons un exemple pour bien comprendre :


Si vous avez une mémoire de 8 octets, la mémoire sera vue comme un empilement de 8 mots de
8 bits. Vous souhaitez écrire une donnée de 8 bits dans cette mémoire, par exemple le chiffre
(3A)hex (rappelons que (3A)hex = (58)dec = (00111010)bin, ; cette donnée passera par le bus de
données par ses 8 pistes (le trait qui coupe le bus et le chiffre au-dessus indique de combien de
pistes est
constitué le bus ; c'est ce qu'on appelle un schéma unifilaire).
C'est là que le bus d'adresse prend toute son utilité : grâce à elle, vous pouvez choisir dans quel
mot (à quel emplacement) vous souhaitez écrire la donnée.
L'adresse est codée en binaire : ainsi, il faudra coder l'adresse sur 3 digits pour pouvoir obtenir
l'empilement de 8 mots souhaité ci dessus, (ce qui permet d'adresser une mémoire de 2^3=8 mots
maximum).
Exemple si le bus d'adresse vaut (3)dec = (011)bin :

Nous avons bien le chiffre (3A)hex à la position mémoire (= à l'adresse) 3.

Les lignes LEC (lecture) et ECR (écriture) servent à déterminer si l'on veut écrire une donnée à une
adresse ou lire une donnée à une adresse.
Parlons maintenant de l'élément de traitement de l'information : le microprocesseur. On le représente
schématiquement comme cela :

6 Prof. KHOULJI S.
Microcontrôleur

Nous retrouvons les bus de données, d'adresses et de contrôle. Ceux-ci sont générés par le
microprocesseur et sont situés sur des entrées/sorties spéciales. Il est également représenté
l'entrée de l'horloge : c'est généralement un quartz (pour les petites fréquences) qui fournit la
fréquence de cadencement du processeur. Ainsi, plus sa fréquence est élevée, plus le processeur
exécutera vite les calculs et les transferts de données. Pour les microcontrôleurs, les fréquences
usuelles sont 8,12 ou 16 MHz. Certains micros de la famille 80C51 peuvent cependant aller
jusqu'à plus de 40 MHz.
Comme nous l'avons vu précédemment, la taille du bus d'adresse déterminera la taille maximale
de la mémoire adressable.

Le microprocesseur est donc une association entre le matériel (hardware) et le logiciel (software)
: il est donc nécessaire d'avoir un programme pour que le processeur serve à quelque chose J. Le
programme est un ensemble logique convenablement ordonné d'opérations élémentaires que le
microprocesseur sait exécuter. Le programme est toujours rangé dans la mémoire de l'ordinateur
: le microprocesseur doit aller chercher les instructions au fur et à mesure pour les exécuter.
Certaines instructions impliquent des calculs, d'où la présence d'une UAL (Unité Arithmétique et
logique) dans les processeurs.

2. Les différentes bases de numérotation : Binaire, octal,


décimal et hexadécimal
On rappelle tout d'abord les différentes bases qui nous seront utiles :
Le binaire (base 2) est constitué de 2 chiffres : 0, 1
L’octal (base 8), est constitué de 8 chiffres : 0, 1, 2, 3, 4, 5, 6, 7
Le décimal (base 10), est constitué de 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
L’hexadécimal (base 16), est constitué de 16 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,
E, F

Remarque : pour connaître la base associée à un nombre, on le note entre parenthèse avec en
indice une lettre b,o,d ou h selon qu'il s'agit d'un codage binaire, octal, décimal ou
hexadécimal. Par exemple, (1001)b, (3F1)h ou (128)d .

1. Code pondérés
Dans une base donnée, le nombre s'exprime comme une somme pondérée. Par exemple, le
nombre 128 décimale (base 10) est constitué de 3 chiffres :
• le chiffre 8 est affecté du poids de 1 (unités)
• le chiffre 2 est affecté du poids de 10 (dizaines) « Un Zéro »
• le chiffre 1 est affecté du poids de 100 (centaines) « Un Zéro Zéro»

7 Prof. KHOULJI S.
Microcontrôleur

Le nombre 10 binaire (base 2) est constitué de 2 chiffres :


● Le chiffre 0 est affecté du poids de 1
● Le chiffre 1 est affecté du poids de 10 (exprimé en base 2)

Remarque : le nombre 10 binaire ne s'exprime pas dix car ceci sous-entend que le nombre est
exprimé en décimal...

Dans une base donnée, le nombre s'exprime comme une somme pondérée. Par exemple, le
nombre
1F8 hexadécimal (base 16) est constitué de 3 chiffres :

● Le chiffre 8 est affecté du poids de 1 (unités)


● Le chiffre F est affecté du poids de 10 (dizaines)
● Le chiffre 1 est affecté du poids de 100 (centaines)

Le nombre peut donc s'écrire : 1 x 100 + F x 10 + 8 x 1 = (1F8)h

3. Conversions et opérations sur les nombres binaires :

Conversion en décimal : développement en somme de puissances de la base.

8 Prof. KHOULJI S.
Microcontrôleur

Conversion décimal ➔ binaire : division par 2 successives...

Conversion décimal ➔ hexadécimal : division par 16 successives...

Pour indiquer le signe d’un nombre binaire, on ajoute un bit en tête du nombre.
On peut ainsi coder les entiers relatifs et les nombres réels.

 Un octet (8 bits)
 Un mot ou word (16 bits)
 Un double mot ou double word (32 bits)

Opérations arithmétiques binaires


Les techniques de calcul des opérations arithmétiques peuvent être transposées du décimal au
binaire.
● Addition: V = A + B, Exemple : (0110)b + (0101)b = (1011)b

9 Prof. KHOULJI S.
Microcontrôleur
● Multiplication : V = A x B, Exemple : (0110)b . (0101)b = (011110)b
● Soustraction: V = A – B,
Pour calculer V, on calcule la somme entre A et le complément à deux de B
Exemple : (0110)b – (0101)b = (0001)b

4. Logique combinatoire et séquentielle


La compréhension du fonctionnement d'un microcontrôleur s'appuie sur des connaissances
élémentaires de logique combinatoire et séquentielle.
Un système est dit combinatoire si l'état (logique) des sorties ne dépend que de l'état (logique)
présent appliqué à ses entrées.

Un système est dit séquentiel si l'état (logique) de la sortie du système à l'instant t dépend de
l'état (logique) présent appliqué aux entrées et des états de la sortie dans le passé.

Table de vérité
Considérons tout d'abord le cas de la logique combinatoire à 1 sortie (le cas à plusieurs sorties
n'est pas très différent). Pour connaître l'état du système aux divers combinaisons logiques des
entrées on construit la table de vérité qui exprime la valeur de la sortie s en fonction de toutes
les configurations possible des entrées binaires (Ei), cf. ci-dessous.

10 Prof. KHOULJI S.
Microcontrôleur
On notera que pour une fonction logique à une seule variable d'entrée, il existe 22=4
combinaisons de sorties.

De même, pour deux variables d'entrées, il existe 24=16 combinaisons de sorties.

Opérateurs élémentaires
Dans ces configurations, on extrait typiquement 6 fonctions logiques d'intérêt que sont les
opérateurs NON (une entrée), ET, OU, ET-NON, OU-NON, et OU-EXCLUSIF (deux
entrées).

Les opérateurs ET-NON et OU-NON forment un groupe complet, c.à.d. que toute fonction
logique complexe peut être construite sur la base de l'une de ces fonctions élémentaires.

Algèbre de BOOLE
Les opérateurs logiques élémentaires permettent la construction d'une algèbre dite « algèbre
de Boole ». Ainsi, si on considère deux entrées binaires A et B, on adopte alors la convention
suivante pour construire des équations logiques :

11 Prof. KHOULJI S.
Microcontrôleur
Les différentes opérations bénéficient des propriétés suivantes

Le chronogramme
Dans les microcontrôleurs, les états du système changent en fonction d'une base de temps qui
est l'horloge. Ceci conduit naturellement à introduire les chronogrammes comme outil d'analyse
des états logiques d'un système.

Le chronogramme a pour objet de tracer l'état binaire de la (des) sortie(s) en fonction de


l'évolution au cours du temps de l'état des entrées. Ceci est illustré ci-dessous.

Les bascules asynchrones


Le verrou D (Latch D)
Pour l'essentiel, une bascule asynchrone est une fonction « mémoire » qui est commandée. Ce
type de fonction est notamment utilisé pour créer des registres du microcontrôleur.
Le verrou D (ou bascule D asynchrone) est très répandu : elle copie en sortie l'état de l'entrée D
uniquement si sa commande C est active ; dans le cas contraire, l'état en sortie Q est celui
précédent.

12 Prof. KHOULJI S.
Microcontrôleur

Les bascules synchrones


Une bascule synchrone est une bascule qui ne change d'état que sur front montant ou
descendant appliqué sur son entrée de commande. Ce type de bascule est à la base du
fonctionnement du microcontrôleur.
La Bascule D (Flip-Flop D) : C'est la version synchrone du verrou D !

La Bascule JK (Jump-Knock out)

13 Prof. KHOULJI S.
Microcontrôleur

14 Prof. KHOULJI S.

Vous aimerez peut-être aussi