Académique Documents
Professionnel Documents
Culture Documents
http://ent.uvt.rnu.tn/course 2021/2022
Chapitre 1 :
Du Microprocesseur au
Microcontrôleur
Introduction
• Un microprocesseur est un circuit intégré complexe caractérisé par une
très grande intégration et doté des facultés d'interprétation et
d'exécution des instructions d'un programme.
3
Le microprocesseur
Architecture interne
Bus d’adresses
Microprocesseur
Accumulateur Programme
Unité de
Registre d’état Unité de
traitement commande
Mémoire
Données
Bus de données 4
Le microprocesseur
Architecture interne
Bus d’adresses
Microprocesseur
Accumulateur
Accumulateur PC Programme
Registre d’état
Registre
Mémoire
d’état
Bloc logique
de commande
Décodeur Données
d’instruction
Bus de données 5
Le microprocesseur
Le microprocesseur
Unité de commande (de contrôle)
Elle permet de séquencer le déroulement des instructions.
➢Architecture Harvard
Les microprocesseurs utilisant des espaces
mémoires séparés pour les données et les
instructions du programme ont une
architecture de type Harvard
Architecture Harvard :
PIC, DSP...
10
Le traitement des instructions
Les architectures RISC et CISC
12
CAN
Microprocesseur RAM
Program
Memory
Oscillateur
0 - 40MHz
Microcontrôleur
13
Le microcontrôleur
Aspect général
15
Le microcontrôleur
Harvard : Cas des microcontrôleurs PIC
16
Le microcontrôleur PIC
Famille des PICs
• Microchip propose 3 familles de PIC.
• Certaines versions du PIC existent en ROM et d'autres en EEPROM, ou
encore en mémoire Flash.
• Ondistingue aussi les familles suivantes selon la taille du bus de
données de sa mémoire de programme :
• Base-Line : Les instructions sont codées sur 12 bits
• Mid-Range : Les instructions sont codées sur 14 bits
• High-End : Les instructions sont codées sur 16 bits
17
Le microcontrôleur PIC
Identification
Port B
21
Le PIC 16F84 : Architecture interne
13 Bus de données 8 Mémoire EEPROM
PC
Flash ROM
1024 x 14
Mémoire
RAM EEPROM
programme EEDATA
68 x 8 64 x 8
Pile 8 niveaux
Bus du Registres
programme
14
7
MUX
Power up Timer
Décodage 8 PORTS
d’instructions Oscillateur
Power on Reset
ALU
Base de RA3 : RA0
temps Chien de garde
RB7 : RB1
W
RB0 / INT
un bus spécifique
14 pour le programme
programme de données
utilisateur) 7
un registre contenant
Registre le code de
d’instructions Add MUX EEADR
d'entrées/sorties (A et B)
8
ou timer
un système d'initialisation (TMR0)
un décodeur MUX
Deux ports
Power up Timer
Décodage à la miseOscillateur
sous tension 8 PORTS
d’instructions
d’instructions une unité
un système de génération
(power-up
Power ontimer,
Reset …) arithmétique
ALU et
Base de RA3 : RA0
garded'horloge
chien de temps (watchdog)à partir
Chiendu
de quartz
garde externe logique (ALU)
RB7 : RB1
(base de temps W
RB0 / INT
Résonateur céramique
Stabilité ( 0.5%)
Moins couteux que le quartz
80 Hz
40 000 Hz
24
Le PIC : 16F84
Organisation de la mémoire
Mémoire Mémoire
programme Flash
CPU Mémoire
Mémoire RAM
donnée Mémoire
EEPROM
- Le PIC contient de la mémoire de programme et de la mémoire de données.
- La structure Harvard des PICs fournit un accès séparé à chacune.
➔ Ainsi, un accès aux deux est possible pendant le même cycle machine
25
Le PIC : 16F84
Organisation de la mémoire
28
Le PIC : 16F84
Organisation de la mémoire
La mémoire de données : RAM
FSR : Permet l'adressage indirect
INDF : Utilise le contenu de FSR pour l'accès indirect à
la mémoire.
TMR0 : Registre lié au compteur.
PCL : Contient les bits de poids faible du compteur de
programmes (PC). Le registre PCLATH (0Ah-8Ah)
contient les poids forts.
STATUS : Il contient l'état de l'unité arithmétique et
logique ainsi que les bits de sélection des banques
29
Le PIC : 16F84
Organisation de la mémoire
La mémoire de données : RAM
PORTA : Donne accès en lecture ou écriture au port
physique A, 5 bits. La sortie RA4 est à drain ouvert. Le bit
4 peut être utilisé en entrée de comptage.
PORTB : Donne accès en lecture ou écriture au port
physique B. Le bit 0 peut être utilisé en entrée
d'interruption.
EEDATA : Permet l'accès aux données dans la mémoire
EEPROM.
EEADR : Permet l'accès aux adresses de la mémoire
EEPROM. 30
Le PIC : 16F84
Organisation de la mémoire
La mémoire de données : RAM
PCLATCH : Donne accès en écriture aux bits de poids fort
du compteur de programme.
INTCON : Masque d'interruptions, configuration des
interruptions.
OPTION_REG : Contient des bits de configuration pour
divers périphériques.
TRISA : Indique la direction (entrée ou sortie) du port A.
TRISB : Indique la direction (entrée ou sortie) du port B.
EECON1 : Permet le contrôle d'accès à l’EEPROM.
EECON2 : Permet le contrôle d'accès à l’EEPROM 31
Le PIC : 16F84
Les ports d’entrée/sortie
32
Le PIC : 16F84
Les ports d’entrée/sortie
Donnée à transmettre
•Pour transmettre une donnée sur un
port, il faut ECRIRE la donnée dans le
Ecrire
registre PORT correspondant.
Port
•Pour recevoir une donnée sur un
port, il faut LIRE la donnée dans le
Donnée reçue
registre PORT correspondant. Lire
33
Le PIC : 16F84
Les ports d’entrée/sortie
Remarque 1:
Sur le PIC 16F84, le port A du circuit
PORTA
ne présente en fait que 5 broches
b4 b3 b2 b1 b0
d ’E/S. Le registre correspondant (8
bits) n ’a donc d ’actifs que les bits
RA0 à RA4.
b7 b6 b5 b4 b3 b2 b1 b0
Le port B possède bien 8 lignes
PORTB
d ’E/S. Le registre correspondant a
donc les 8 bits actifs.
34
Le PIC : 16F84
Les registres de commande d’entrée/sortie
36
Le PIC : 16F84
Les registres de commande d’entrée/sortie
Exemple: PIC
Programmons le port A en entrée et le Port A Port B
port B en sortie.
RA1
RA2
RA3
RA0
RA4
RB0
RB2
RB4
RB5
RB7
RB1
RB3
RB6
Remarque: le port A ne possède que 5 E E E E E S S S S S S S S
lignes d ’E/S.
TRISA TRISB
En conséquence, les registres TRIS 1 1 1 1 1 0 0 0 0 0 0 0 0
se programment avec les valeurs:
« 0 » = sortie
TRISA 1F « 1 » = entrée
TRISB 00
37
Cas d’application
38