Vous êtes sur la page 1sur 26

Microprocesseur / Microcontrôleur

µP-µC Mr.RACHEDI 1
Microprocesseur
(µP)

µP - µC Mr. RACHEDI 2
Le microprocesseur (µP) :
1- Définition :
Le microprocesseur ( M.P.U. : MicroProcessor Unit ; C.P.U. : Central Processing Unit) est
un circuit intégré complexe (ensemble de millions de transistors) appartenant à la famille des
Very Large Scale Intégration (VLSI) capable d'effectuer séquentiellement et automatiquement
des suites d'opérations élémentaires (programme).
Le microprocesseur remplit deux fonctions essentielles : le traitement des données et
le contrôle du système.
- Le traitement de données se fait par l'unité de traitement (fonction est dédiée à l'U.A.L. :
Unité Arithmétique et Logique et ALU : Arithmetic and Logic Unit en anglais).
- Le contrôle du système se traduit par des opérations de décodage et d'exécution des ordres
exprimés sous forme d'instruction, c’est donc le séquençage des opérations et c’est le rôle de
l’unité de commande.

µP - µC Mr. RACHEDI 3
Les grandes familles de processeurs

µp 8085 de INTEL µp 6800 de MOTOROLA µc PIC16F877 de


MICROCHIP

µc ARM cortex M4 de T.I µP DSP TMXE320 de T.I µp Atmega8L de


ATMEL

µP - µC Mr. RACHEDI 4
3- Architecture de base d’un µP :
3.1 L’Unité Arithmétique et Logique (U.A.L):
C’est un circuit complexe qui assure les fonctions
logiques (ET, OU, comparaison…) ou arithmétiques
(addition, division, soustraction…). Il permet donc de traiter
et tester les données.
3.2 L'accumulateur ou le registre de travail
(registre W):
Chaque registre stocke 8, 16 ou 32 bits. Le nombre
exact de registres dépend du type de processeur et varie
typiquement entre une dizaine et une centaine. Parmi les
registres, le plus important est le registre accumulateur
Il est utilisé pour stocker les résultats des opérations
arithmétiques et logiques. L'accumulateur intervient dans
une proportion importante des instructions.
Il sert pour les déplacements et les transferts des
données d'un endroit à un autre : de mémoire à mémoire
ou de mémoire à unités d'entrée-sortie (I/O). Ce type
d’actions se fait en deux temps :
source vers Accumulateur et ensuite Accumulateur vers
destination. µP - µC Mr. RACHEDI 5
3.3 Le registre d’état :
Le registre d'état Le registre d'état est formé de plusieurs bits appelés
drapeaux ou indicateurs (Flags) qui sont positionnés par l'ALU après chaque
opération. Par exemple l’indicateur Z indique quand il est positionné que le
résultat de l'opération est égal à Zéro. L’indicateur C indique que l'opération
a généré une retenue. Le bit N indique que le résultat est négatif...
3.4 L’unité de commande et de contrôle
L’unité de commande et de contrôle C'est l'unité de control qui
supervise le déroulement de toutes les opérations au sein du processeur
• Le compteur d’instruction ( PC ) ou compteur ordinal:
Le compteur d’instruction, appelé encore Compteur Programme (PC,
Program Couter PC en anglais.) ou Compteur Ordinal (C.O.) a pour mission
de Pointer TOUJOURS le premier octet d'une instruction qui doit être
exécutée après achèvement de l’exécution de l’instruction en cours. (il
contient l’adresse de la prochaine instruction à exécuter).
• Le registre d’instruction RI :
C’est là où le CPU stocke l'instruction en cours d'exécution. Le
décodeur, il décode l’instruction, et le séquenceur la exécute.
µP - µC Mr.RACHEDI 6
• le pointeur Pile (stack pointer):
C’est le pointeur d’une zone spéciale de la mémoire
appelée Pile où sont rangés les arguments des sous
programmes et les adresses de retour.
• les Bus :
Bus de données: véhicule les instructions en
provenance ou a la destination du µP. (bidirectionnel).
Bus d’adresses: (bus d’adressage ou bus mémoire)
transporte les adresses aux quelle le processeur
souhaite accéder pour lire ou écrire une donnée.
(unidirectionnel).
Bus de contrôle: ( bus de commandes) il transporte les
ordres et les signaux en provenance de l’unité de
commande et à destination de l’ensemble des
composants matériels. (unidirectionnel).
• L’horloge :
C'est l'horloge qui génère les signaux qui
permettent le cadencement et la synchronisation de
toutes les opérations. (exp : 30GHz).
µP - µC Mr. RACHEDI 7
4- Caractéristique d’un µP :
4-1 Le jeu d'instructions:
exp : additionner deux nombres, comparer deux nombres pour déterminer s’ils sont
égaux. Un processeur peut exécuter plusieurs dizaines, voire centaines ou milliers,
d’instructions différentes.
4-2 La complexité de son architecture:
Cette complexité se mesure par le nombre de transistors contenus dans le
microprocesseur. Plus le microprocesseur contient de transistors, plus il pourra effectuer
des opérations complexes, et/ou traiter des nombres de grande taille.
4-3 Le nombre de bits que le processeur peut traiter simultanément:
la capacité à traiter de grands nombres rapidement (plusieurs instructions en même
temps).
4-4 la vitesse de L’horloge :
Le rôle de l’horloge est de cadencer le rythme du travail du microprocesseur. Donc plus la
fréquence est élevée, plus le nombre d'instruction pouvant être exécutée est élevée.

µP - µC Mr. RACHEDI 8
Structure de base d’un microprocesseur

µP - µC Mr. RACHEDI 9
Les mémoires :
1- définition :
Une mémoire est un composant électronique à base de semi-conducteurs permettant de
stocker (enregistrer, conserver et restituer) des informations (instructions ou variables) sous
forme binaire. Ces informations peuvent alors être écrites ou lues.
2- Caractéristiques des mémoires :
• La capacité : exprimée souvent en octet, c’est le nombre total de bits que contient la mémoire.
• Le format des données : c’est le nombre de bits que l’on peut mémoriser par case mémoire ou
tout simplement c’est la largeur du mot mémorisable.
• Le temps d’accès : c’est le temps qui s'écoule entre l'instant où a été lancée une opération de
lecture/écriture en mémoire et l'instant où la première information est disponible sur le bus de
données.
• Le temps de cycle : il représente l'intervalle minimum qui doit séparer deux demandes
successives de lecture ou d'écriture.
• Le débit : c’est le nombre maximum d'informations lues ou écrites par seconde.
• Volatilité : elle caractérise la permanence des informations dans la mémoire. L'information
stockée est volatile si elle risque d'être altérée par un défaut d'alimentation électrique et non
volatile dans le cas contraire.
µP - µC Mr. RACHEDI 10
3- Types des mémoires :
RAM ( Read Access ROM ( Read Only EPROM (Erasable EEPROM
Memory) Memory) Programmable Read ( Erasable EPROM FLASH
Only Memory) Electricaly PROM)
- Les mémoires - Mémoire morte - Le contenu d’une - Effaçables et - Effaçable électriquement
vives sont volatiles à non volatiles. EPROM est effacé par reprogrammables et écriture plus rapide que
accès direct. une exposition aux électriquement les EEPROM.
rayons ultra-violets. par l’utilisateur,
- Perd son contenu - Le contenu d’une facile par rapport - Vitesse élevée,
une fois mise hors ROM, reste dans la - Un nouveau contenu à EPROM. durabilité, faible
secteur. mémoire même en peut être écrit via un consommation
absence appareil spécialisé. - Ne perd pas son
d’alimentation contenu. - La mémoire flash est
- Possibilité de idéale pour de nombreuses
- Lecture/écriture - Mémoire à Lecture l'effacement des données - c’est le applications.
seule par l'utilisateur. principale type de ( téléphone, imprimante…)
mémoire morte
pour les
mémoires SD,
USB … etc.

µP - µC Mr. RACHEDI 11
Microcontrôleur (µC)

µP - µC Mr RACHEDI 12
Le Microcontrôleur (µC) :
1- Définition du µC ( PIC16F84) :
Un PIC (Programmable Interface Controller) est un
microcontrôleur de chez Microchip, la société américaine Technology
à l’arizona.
2- Caractéristiques d’un PIC16F84 :
- Séparation des mémoires de programme et de données
(architecture Harvard).
- Communication avec l'extérieur seulement par des ports
(parallèles) .
- Utilisation d'un jeu d'instructions réduit (le nom de son
architecture : RISC (Reduced Instructions Set Construction)) . Les
instructions sont codées sur un nombre réduit de bits, ce qui
accélère l'exécution.
- L’architecture CISC (Complex Instructions Set Construction)
propose plus d'instructions codées sur plus de bits mais réalisant
des traitements plus complexes.

µP - µC Mr RACHEDI 13
3- les Familles De PIC :
-Base-Line : Les instructions sont codées sur 12 bits, -Mid-Line : Les instructions sont codées sur 14 bits et, -High-End :
Les instructions sont codées sur 16 bits.

xx XX yy – zz
xx : Famille du composant ( 12, 14, 16, 18….)
XX : Type de mémoire de programme. XX prend la lettre C pour une EPROM ou EEPROM, les lettres CR pour une
PROM et F pour une mémoire de type Flash.
yy : Identification.
zz : Vitesse quartz de cadencement du microcontrôleur (la fréquence : MHz) .
16 F 84 – 10
- 16 signifie que le PIC est de la famille Mid-Line - F le PIC a une mémoire programme de type FLASH
- Son type est 84 - 10 veut dire utilisation d’un Quartz à 10MHz au maximum.

µP - µC Mr RACHEDI 14
4 - brochage et fonctions des différentes pattes :

• VSS, VDD : Alimentation


• OSC1,2 : Horloge
• RA0-4 : Port A (entrées/Sorties
« Input/Output »)
• RB0-7 : Port B (entrées/Sorties
« Input/Output »)
• T0CKL : Entrée de comptage
• INT : Entrée d'interruption
• MCLR : Reset : 0V

µP - µC Mr RACHEDI 15
4 - Architecture interne de PIC16F84 :

- Une unité arithmétique et logique (ALU).


- Une mémoire flash de programme.
- Un compteur de programme (program counter) et
une pile (stack).
- Un bus spécifique pour le programme (program
bus).
- Un registre contenant le code de l'instruction à
exécuter.
- Un bus spécifique pour les données (data bus).
- Une mémoire RAM .
- les SFRs (Special Function Registers) .
- Une mémoire EEPROM de 64 octets de données
- 2 ports d'entrées/sorties .
- Un compteur (timer) .
- Un chien de garde (watchdog) .
- Un système de génération d'horloge à partir du
quartz externe (timing génération) . µP - µC Mr RACHEDI 16
4-1 Mémoire de programme (Flash):
Une fois chargée par un programmateur
hard dans le corps du PIC par la liaison série,
c'est elle qui contient le programme à exécuter .

0000h : Vecteur RESET.


0004h : Vecteur d’interruption.
0005h : début du programme.

µP - µC Mr RACHEDI 17
4-2 Mémoire de données :
La mémoire de donné (Data Memory) est
composée de deux parties formant la RAM et une zone
EEPROM. La première contient les registres SFRs
(Special Function Registers) qui permettent de contrôler
les opérations sur le circuit. La seconde contient des
registres généraux, libres pour l'utilisateur
(programmeur). La mémoire EEPROM de 64 octets
accessibles en lecture et en écriture par le programme.
On peut y sauvegarder des valeurs, qui seront conservées
même si l'alimentation est éteinte, et les récupérer lors de
la mise sous tension.

BANK 0 : TMR0, PCL, STATUS, FSR, PORTA, PORTB.

BANK 1 : OPTION, PCL, STATUS, FSR, TRISA, TRISB.

µP - µC Mr RACHEDI 18
•5-  Les registres :
• 5-1 Le registre « STATUS » :
Il contient l'état de l'unité arithmétique et logique ainsi que les bits de sélection des banques.

STATUS IRP RP1 RP0 Z DC C

IRP : 0  sélectionner les 2 banks ( BANK 0, BANK 1)


1  sélectionner les 2 banks ( BANK 2, BANK 3)
RP1 RP0 : 00  Sélectionner le Bank 0
01  Sélectionner le Bank 1
10  Sélectionner le Bank 2
11  Sélectionner le Bank 3
: le bit du Timer. DC : Digit carry bit ( retenue dans le 4eme bit « 0X0F to 0X10 »)
: Power down bit. Z : résultat = 0 C : carry ( retenue )

µP - µC Mr RACHEDI 19
5-2 Port A / Port B:
• Le PORT A donne accès en lecture ou écriture au Port A, 5 bits. Le bit 4 peut être utilisé en entrée de
comptage.

- - - RA4/T0CKL RA3 RA2 RA1 RA0


PORT A

Le TRIS A dans le BANK 0, indique la destination (entrée ou sortie) du Port A ( 1  Input ,


0  Output).

• Le PORT B donne accès en lecture ou écriture au Port B. Le bit RB0 peut être utilisé en entrée
d'interruption.

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0/INT


PORT B

Le TRIS B dans le BANK 0, indique la destination (entrée ou sortie) du Port B ( 1  Input ,


0  Output).
µP - µC Mr RACHEDI 20
Liste des instructions

µP - µC Mr RACHEDI 21
22
Exemple d’un programme assembleur :

µP - µC Mr RACHEDI 23
#Include « PIC16F84A.inc» // Appeler la bibliothèque du PIC et choisir le type PIC16F84A
ORG 0X00 // Se positionner dans la case mémoire 0000h de la mémoire de
programme
GOTO START // Aller à l’étiquette START pour commencer le programme
START // étiquette
ORG 0X05 // Se positionner dans la case mémoire 0005h pour commencer le programme
BSF STATUS, RP0 // Mettre 1 logique dans le bit RP0 du registre STATUS pour accéder au Bank 1
MOVLW 0X00 (B ’0000 0000’) // charger la valeur 00 dans le registre de Travail W
MOVWF TRISB //Mettre toutes les PIN du PORT B comme Sortie
MOVLW 0X1F (B ‘0001 1111’) // charger la valeur 1F dans le registre de travail W
MOVWF TRISA // Mettre toutes les PIN du PORT A comme Entrer
BCF STATUS, RP0 // Mettre 0 logique dans le bit RP0 du registre STATUS pour accéder au Bank 0
CLRF PORTB // Initialisation du PORT B ( LED éteinte)

REQ : OX00 et 0X1F ( en hexadécimale) , (B ’0000 0000’) (B ‘0001 1111’) (en Binaire)
µP - µC Mr RACHEDI 24
ControlerA0 // étiquette ( du sous programme pour allumer de la LED )
BTFSS PORTA, 0 // Tester si le RA0 = 1, sauter la prochaine instruction, si RA0 = 0 ne saute pas la
prochaine instruction
GOTO ControlerA0 // Revenir a l’étiquette ContolerA0 ( boucler jusqu’à se que le RA0 = 1)
BSF PORTB, 0 // Mettre 1 dans RB0 pour allumer la LED

ControlerA1 // étiquette ( du sous programme pour éteindre de la LED )


BTFSS PORTA, 1 // Tester si le RA1 = 1, sauter la prochaine instruction, si RA1 = 0 ne saute
pas la prochaine instruction.
GOTO ControlerA1 // Revenir a l’étiquette ContolerA01 ( boucler jusqu’à se que le RA1 = 1)
BCF PORTB, 0 // Mettre 0 dans RB0 pour éteindre la LED

END // Fin du programme

µP - µC Mr RACHEDI 25
Bon courage à tous
et Bonne chance

µP - µC Mr RACHEDI 26

Vous aimerez peut-être aussi