SlideShare ist ein Scribd-Unternehmen logo
1 von 66
BEP - Systèmes Electroniques Numériques
 Sommaire
Clic simple:  animation suivante
Clic sur:
Sommaire
Consultation du dossier par les élèves en autonomie.
1/66
Microcontrôleur ou Microprocesseur?
Architecture interne: Von Neumann ou Harvard?
Les registres internes
Le jeu d’instructions et les modes d’adressage
La base de temps
Quitter
Sommaire
Choisir un menu
Mise en situation: - Evolution technologique
- Analyse fonctionnelle
2/66
L’évolution des produits
domestiques (ou industriels) rend
compte d’un phénomène
directement lié à l’évolution des
technologies:
Evolution technologique
3/66
Miniaturisation
Intégration
•Progrès de la miniaturisation.
Les téléphones portables en sont
un exemple très actuel.
•Progrès de l’intégration.
Le nombre de structures
intégrées à un seul composant
est de plus en plus important.
Le nombre de circuits utilisés
est ainsi réduit.
Mais cette miniaturisation ne
peut se faire sans une évolution
de la technologie utilisée.
Evolution technologique
4/66
On comprendra aisément qu ’un
système microprogrammé tel
que le téléphone portable ne
peut être géré par un système
minimum à microprocesseur
6809: trop encombrant!
La solution est alors de
remplacer le système minimum
par un seul circuit:
Le microcontrôleur.
Système minimum à 6809:
•Microprocesseur
•RAM
•EPROM
•PIA
•Décodeur
5 circuits différents!!!
Solution:
•Microcontrôleur
1 seul circuit!!!
Evolution technologique
5/66
On retrouve ainsi les
microcontrôleurs PIC dans de
nombreuses applications
industrielles ou domestiques.
Prenons l’exemple d’une
télécommande infra-rouge:
Analyse fonctionnelle
Emission IR de
la commande
FP3
Saisie touche
FP1
Reconnaissance touche
Génération commande
FP2
6/66
La fonction FP1 a pour rôle de
prendre en compte l ’appui sur
une touche et de transmettre le
code correspondant à la fonction
FP2.
Analyse fonctionnelle
La fonction FP2 a pour rôle
d ’identifier la touche à l ’aide du
« code touche » et de générer le
signal commande associé.
La fonction FP3 se charge de
convertir et émettre le signal de
commande sous forme de signal
infra-rouge.
Code touche
Commande
Signal IR
Appui touche
Emission IR de
la commande
FP3
Saisie touche
FP1
Reconnaissance touche
Génération commande
FP2
7/66
La fonction FP2
« Reconnaissance touche et
génération commande » est
réalisée par une structure
microprogrammée.
Analyse fonctionnelle
Emission IR de
la commande
FP3
Code touche
Commande
Signal IR
Appui touche
Saisie touche
FP1
Reconnaissance touche
Génération commande
FP2
C ’est ici un microcontrôleur
PIC qui se charge, par
l ’exécution de son programme,
de faire l ’acquisition du signal
« code touche », et de générer de
signal de commande
correspondant.
Sommaire
8/66
Suivant le type d ’application
envisagé, il est possible de faire
appel à différents types de
structures microprogrammées.
Les plus répandues sont les
suivantes:
Ex: PIC, 68HC11...
• Le microprocesseur.
• Le microcontrôleur.
Ex: PC, système minimum à 6809...
9/66
6809
Microprocesseur
Considérons dans un premier
temps le système minimum à
microprocesseur 6809 ou autre.
Seul, le 6809 ne peut fonctionner.
Il requiert différentes ressources
qui sont:
•Une mémoire programme
(ROM ou PROM ou EPROM...).
•Une mémoire données (RAM).
•Une interface d ’entrées / sorties
(PIA).
•Différents bus d ’interconnexion.
•Un décodeur d’adresses.
Système minimum à 6809
Micro
P
6809
ROM RAM PIA
Décodeur
10/66
6809
Microprocesseur
•Une mémoire programme
(ROM ou PROM ou EPROM...)
c'est une zone de mémoire dans laquelle
le μP ne peut que lire. On peut y trouver des informations
prédéfinies sur le μC qui ne peuvent ni ne doivent être
modifiées (telles que le programme dans la plupart des
applications industrielles)
•Une mémoire données (RAM).
c'est une zone de mémoire dans laquelle
le μP peut lire ou écrire à tout instant lors de l'exécution d'un
programme.
On y trouve les données utiles à l'exécution de ce
programme telles que
les variables ;
•Une interface d ’entrées / sorties
(PIA).
•Différents bus d ’interconnexion.
•Un décodeur d’adresses.
Système minimum à 6809
Micro
P
6809
ROM RAM PIA
Décodeur
11/66
Microcontrôleur
Un système à microprocesseur
nécessite une grande surface
matérielle (nombreux circuits)
ainsi qu’une bonne qualité des
connexions.
Les microcontrôleurs permettent
quant à eux de s ’affranchir de
ces contraintes puisqu’ils
intègrent en un seul circuit
toutes les ressources propres à un
système minimum.
12/66
Microcontrôleur
Ainsi, les microcontrôleurs
68HCXX disposent des
principales ressources internes
suivantes:
•Mémoire de programme.
Les 68HCXX se déclinent
selon 2 versions de mémoire de
programme:
-ROM (ou OTPROM),
programmable une seule fois.
Capacité: 8 k octets.
-EEPROM, effaçable
électriquement.
Capacité: 512 k octet.
13/66
68HCXX
Microcontrôleur
•Mémoire de données. Les 68HCXX disposent d ’une
mémoire de données (RAM)
de capacité 256 octets.
Ainsi, les microcontrôleurs
68HCXX disposent des
principales ressources internes
suivantes:
•Mémoire de programme.
68HCXX
14/66
Microcontrôleur
68HCXX
•Mémoire de données. Les 68HC11 proposent un
certain nombre de broches
d ’entrées/sorties (52 broches)
permettant l ’acquisition ou la
transmission de signaux
numériques.
Ainsi, les microcontrôleurs
68HC11 disposent des
principales ressources internes
suivantes:
•Mémoire de programme.
•Interface Entrées/sorties.
15/66
Microcontrôleur
•Mémoire de données. Certains 68HCXX possèdent 1
ou 2 ports série permettant la
transmission série
d ’informations numériques.
Ainsi, les microcontrôleurs
68HCxx disposent des
principales ressources internes
suivantes:
•Mémoire de programme.
•Interface Entrées/sorties.
Et éventuellement:
•Port série.
68HCXX
16/66
Microcontrôleur
•Mémoire de données. Certains 68HCXX possèdent en
ressource interne un
Convertisseur Analogique /
Numérique 8bits permettant
l ’acquisition de 4 à 8 signaux
analogiques différents.
Ainsi, les microcontrôleurs
68HCXX disposent des
principales ressources internes
suivantes:
•Mémoire de programme.
•Interface Entrées/sorties.
Et éventuellement:
•Port série.
•Convertisseur CAN.
68HCXX
17/66
Microcontrôleur
Conclusion:
Les microcontrôleurs 68HCXX
sont des circuits complets et
performants.
Ils s ’appliquent complètement
dans la mise en œuvre de
systèmes microprogrammés
simples.
Sommaire
68HCXX
18/66
La majorité des structures
microprogrammées utilisent une
architecture classique appelée:
Architecture Von Neumann.
Les microcontrôleurs PIC ainsi
que bien d’autres structures sont
construites autour d’un autre
type d’architecture:
Architecture Harvard.
Architecture Von Neumann:
6809, 68HC11...
Architecture Harvard:
PIC, DSP...
19/66
68HCXX
Architecture Von Neumann
Prenons le cas du système
minimum à 6809. Son
architecture est de type Von
Neumann.
La mémoire de programme
associée par un autre circuit
(EEPROM) contient comme son
nom l ’indique le programme à
exécuter.
Contenu de
la mémoire
de programme
EPROM
20/66
68HCXX
Architecture Von Neumann
LDA
NOP
ADDA
SWI
#$07
#$10
Instruction
Opérande
source
Après assemblage, chaque
instruction et chaque opérande
codée sur un octet (8 bits) est
rangée dans une case de la
mémoire.
Contenu de
la mémoire
de programme
EPROM
12
86
07
8B
10
3F
...
...
...
objet
Considérons l ’exemple du
programme source suivant.
La mémoire contient donc
successivement les instructions
et les opérandes du programme .
21/66
68HCXX
Architecture Von Neumann
12
86
07
8B
10
3F
...
...
...
objet
Afin d ’exécuter le programme,
le microprocesseur doit lire dans
l’ordre le contenu de chacune
des cases mémoires.
Pour cela, chacun des octets de la
mémoire est acheminé vers le
microprocesseur, via le bus de
données.
Micro P
Bus
de
données
EPROM
22/66
68HCXX
Architecture Von Neumann
12
86
07
8B
10
3F
...
...
...
objet
Micro P
Bus
de
données
Conclusion:
Dans le cas d’une architecture
Von Neumann, le traitement
d’une instruction et son opérande
nécessite donc la lecture d’au
moins deux cases mémoires (3
si l ’opérande est codée sur deux
octets).
Cela correspond à une durée de
2 ou 3 cycles machine.
EPROM
23/66
68HCXX
Architecture Harvard
Les microcontrôleurs PIC ont
eux une architecture appelée
Harvard qui présente de
nombreux avantages.
Les différences avec les
architectures Von Neumann
résident essentiellement dans:
• la mémoire de programme
• les bus.
24/66
PIC
Architecture Harvard
Contenu de
la mémoire
de programme
Comme précédemment, ce
programme est composé
d’instructions et d’opérandes.
Cependant, une case mémoire
peut ici contenir à la fois une
instruction et son opérande.
La mémoire de programme des
PIC contient bien entendu le
programme à exécuter.
25/66
PIC
Architecture Harvard
Contenu de
la mémoire
de programme
PIC
MOVLW 07
CLRW
ADDLW 01
MOVWF 05
Instruction
Opérande
source
Considérons l’exemple du
programme source suivant.
Après assemblage, chaque
instruction et son opérande sont
codées sur un mot binaire (12 ou
14 bits) puis rangées dans une
case mémoire.
Chaque case de la mémoire
contient donc:
•l’instruction à exécuter.
•l’opérande associée (non
obligatoire).
0100
3007
3E01
0085
objet
...
...
...
...
...
26/66
Architecture Harvard PIC
Unité de
calcul
0100
3007
3E01
0085
objet
...
...
...
...
...
Afin d’exécuter le programme,
l’unité de calcul doit ensuite lire
le contenu de chacune des cases
de la mémoire.
Chaque mot binaire contenu dans
la mémoire de programme est
alors acheminé vers un décodeur
d’instructions.
Décodeur
d’instructions
Le rôle de ce décodeur est de
séparer pour chacun des mots
binaires, l’instruction et la
donnée (opérande).
donnée
instruction
27/66
instruction
donnée
Architecture Harvard PIC
Unité de
calcul
0100
3007
3E01
0085
objet
...
...
...
...
...
Décodeur
d’instructions
Les instructions et les données
sont ensuite acheminées
simultanément vers l ’unité de
calcul par l ’intermédiaire de
deux bus différents.
Bus de DONNEES
Bus d’INSTRUCTIONS
28/66
instruction
donnée
Architecture Harvard PIC
Unité de
calcul
0100
3007
3E01
0085
objet
...
...
...
...
...
Décodeur
d’instructions
Bus de DONNEES
Bus d’INSTRUCTIONS
Conclusion:
Dans le cas de l’architecture
Harvard que possèdent les PIC,
la lecture d ’une seule case
mémoire permet le traitement
entier d ’une instruction et de son
opérande.
Un seul cycle machine est donc
nécessaire.
Sommaire
29/66
Selon la version de 68HCXX
utilisée, le nombre de registres
internes au circuit est différent.
Ainsi, les registres présentés ci-
après sont les plus couramment
utilisés:
Registres d’E/S: PORT
Registre d’état: CCR
Registres de direction: DDR
Registre Compteur Programme: PC
Registre accumulateurs:A,B,X,Y
30/66
68HCXX
Registre accumulateur A
Le registre accumulateur A est
un registre 8 bits destiné à la
manipulation générale des
données.
A
b7 b6
b
5
b4 b3 b2 b1
b
0
Il peut donc contenir une donnée
de 8 bits que l ’on appelle ici un
littéral.
Ex: A
1 0 1 1 0 0 1 0
La donnée chargée dans le registre
accumulateur A a pour valeur
hexadécimale B2.
Le registre A peut être comparé
aux registres A ou B du 6809.
Retour menu
31/66
68HCXX
Registres d’E/S PORT
Les microcontrôleurs
68HCXXpeuvent recevoir ou
transmettre des informations
logiques avec des périphériques
extérieurs par l’intermédiaire de
leurs ports d’E/S.
Micro PIC
périphériques
Ports
d
’E/S
32/66
68HCXX
Registres d’E/S PORT
Suivant la version utilisée, les
circuits proposent 2 ou 3 ports
d ’E/S différents.voire plus
Micro PIC
périphériques
Afficheur
clavier
Port
A
Port
B
Port
C
Dans l ’exemple suivant, le port
C est utilisé pour recevoir des
informations provenant d ’un
clavier.
Les ports A et B sont eux utilisés
pour transmettre les données à
afficher.
33/66
68HCXX
Registres d’E/S PORT
L’utilisation des registres est
ainsi la suivante:
•Pour transmettre une donnée
sur un port, il faut ECRIRE la
donnée dans le registre PORT
correspondant.
•Pour recevoir une donnée sur
un port, il faut LIRE la donnée
dans le registre PORT
correspondant.
Ecrire
Port
Donnée
à
transmettre
Lire
Port
Donnée
reçue
34/66
68HCXX
Registres d’E/S PORT
Remarque 1:
Les registres PORTA, PORTB et
PORTC sont analogues aux
registres ORA et ORB du PIA
6821 de Motorola.
Retour menu
35/66
68HCXX
Registres de direction DDR
Les registres de direction DDR(8
bits) sont directement liés aux
registres PORT.
Le rôle des registres DDR est de
configurer chacune des lignes
des ports soit en entrée, soit en
sortie.
Les différentes broches (lignes)
d’un même port peuvent donc
avoir un rôle différent:
transmettre ou recevoir une
valeur logique (« 0 » ou «1 »).
36/66
68HCXX
Registres de direction DDR
La programmation des registres
DDR est la suivante: DDR
b7 b6
b
5
b4 b3 b2 b1
b
0
0
1
Ligne R1
en entrée
Ligne R6
en sortie
•La mise à « 1 » du bit
programme la ligne
correspondante en sortie.
•La mise à « 0 » du bit
programme la ligne
correspondant en entrée.
37/66
68HCXX
Registres de direction DDR
Exemple:
Programmons le port C en
entrée et le port D en sortie.
Remarque: les ports ABE ne
possèdent que des lignes
d ’entrées ou de sortie
unidirectionnelles.
Rc
0
Rc
1
R
3
Rc
2
Rd
0
RB
3
RB
2
RB
1
Rd
7
RB
6
RB
5
RB
4
Port D
Port C
68HCXX
E
E
E
E S S S S S S S S
DDRC DDRD
1
1
1
1
1
1
1
1
0
0
0
0
« 0 » = entrée
« 1 » = sortie
En conséquence, les registres
DDR ne se programment que
pour les ports C et D .
Exemple cicontre
DDRC  x0
DDRD  FF
Retour menu
38/66
68HCXX
Registre d’état CCR
Le registre d’état CCR est un
registre 8 bits.
Le rôle de ce registre est de
donner diverses informations à
l’utilisateur sur l’état de
fonctionnement de l’unité de
calcul suite au résultat d’une
opération.
On s’intéressera en fait à
seulement 2 bits du registre
d’état.
CCR
b7 b6
b
5
b4 b3 b2 b1
b
0
39/66
68HCXX
Registre d’état CCR
CCR
b7 b6
b
5
b4 b3 b2 b1
b
0
Z
Le bit b2: Z (Zéro)
Lorsqu’une opération
arithmétique ou logique est
réalisée, le bit Z est mis à 1 si le
résultat est nul et à 0 dans le cas
contraire.
Ex 1:
CCR
b7 b6
b
5
b4 b3 b2 b1
b
0
CCR
b7 b6
b
5
b4 b3 b2 b1
b
0
Ex 2:
Ex 1: L ’unité centrale effectue
l ’opération 7 - 6 = 1.
Ex 2: L ’unité centrale effectue
l ’opération 7 - 7 = 0.
0
1
Z = 0
Z = 1
40/66
68HCXX
Registre d’état CCR
CCR
b7 b6
b
5
b4 b3 b2 b1
b
0
Ex 1:
CCR
b7 b6
b
5
b4 b3 b2 b1
b
0
CCR
b7 b6
b
5
b4 b3 b2 b1
b
0
Ex 2:
Ex 1: L’unité centrale effectue
l’opération sur 8 bits:
FE + 01 = FF
Ex 2: L ’unité centrale effectue
l’opération hexadécimale:
FF + 1 = 00 (et une retenue)
0
1
C = 0
C = 1
Le bit b0: C (Carry = retenue)
Ce bit est positionné à 1 si une
addition ou une soustraction
génère une retenue depuis le bit
de poids fort.
C
Retour menu
41/66
68HCXX
Compteur programme PC
Le registre PC est un registre
spécifique 9 ou 11 bits, suivant
le modèle de 68HC11.
b0
b1
b
2
b
3
b4
b5
b6
b7
b8
b
9
b1
0
PC
C’est en fait un compteur
ordinal qui contient l’adresse en
mémoire de la prochaine
instruction à exécuter.
42/66
68HCXX
b0
b1
b
2
b
3
b4
b5
b6
b7
b8
b
9
b1
0
PC
Compteur programme PC
Prenons l’exemple d’un
programme objet stocké en
mémoire de programme à partir
de l’adresse 000:
01
3F
31
00
...
...
Prog.
Adresses
000
001
002
003
004
005
43/66
68HCXX
b0
b1
b
2
b
3
b4
b5
b6
b7
b8
b
9
b1
0
PC
Compteur programme PC
1er cycle machine:
Le registre PC est chargé avec
l’adresse de la première
instruction du programme.
0
0
0 0
0
0 0 0 0
Adresses
000
001
002
003
004
005
01
3F
31
00
...
...
Prog.
44/66
68HCXX
b0
b1
b
2
b
3
b4
b5
b6
b7
b8
b
9
b1
0
PC
Compteur programme PC
2ème cycle machine :
De façon simultanée,
•Le registre PC s’incrémente.
•La donnée précédemment
pointée par le registre PC est
exécutée.
1
0
0 0
0
0 0 0 0
Exécution
de l ’instruction
01
Adresses
000
001
002
003
004
005
01
3F
31
00
...
...
Prog.
45/66
68HCXX
b0
b1
b
2
b
3
b4
b5
b6
b7
b8
b
9
b1
0
PC
Compteur programme PC
3ème cycle machine :
De façon simultanée,
•Le registre PC s’incrémente.
•La donnée précédemment
pointée par le registre PC est
exécutée.
Exécution
de l ’instruction
0
1
0 0
0
0 0 0 0
3F
Adresses
000
001
002
003
004
005
01
3F
31
00
...
...
Prog.
46/66
68HCXX
b0
b1
b
2
b
3
b4
b5
b6
b7
b8
b
9
b1
0
PC
Compteur programme PC
4ème cycle machine :
De façon simultanée,
•Le registre PC s’incrémente.
•La donnée précédemment
pointée par le registre PC est
exécutée.
Exécution
de l ’instruction
1
1
0 0
0
0 0 0 0
31
Adresses
000
001
002
003
004
005
01
3F
31
00
...
...
Prog.
47/66
68HCXX
b0
b1
b
2
b
3
b4
b5
b6
b7
b8
b
9
b1
0
PC
Compteur programme PC
5ème cycle machine :
De façon simultanée,
•Le registre PC s’incrémente.
•La donnée précédemment
pointée par le registre PC est
exécutée.
Exécution
de l ’instruction
0
0
0 0
0
0 0 0 1
00
Adresses
000
001
002
003
004
005
01
3F
31
00
...
...
Prog.
48/66
68HCXX
b0
b1
b
2
b
3
b4
b5
b6
b7
b8
b
9
b1
0
PC
Compteur programme PC
Conclusion
Le registre PC contient donc à
l ’instant t l’adresse de la
prochaine instruction à
exécuter.
Ainsi, lorsqu’une instruction est
exécutée, la suivante est déjà
pointée par le registre PC.
Exécution
de l ’instruction
Adresses
000
001
002
003
004
005
Sommaire
Retour menu
01
3F
31
00
...
...
Prog.
49/66
68HCXX
Comme tous les circuits
microprogrammés, les
microcontrôleurs PIC 16Cxx
fonctionnent à partir d’une base
de temps ( horloge ) appliquée
par des composants externes.
Ainsi, il existe 4 modèles de PIC
selon la fréquence d’horloge
utilisée :
•Version XT
•Version HS
•Version RC
•Version LP
Version XT:
oscillateur à quartz jusqu’à 4 MHz.
Version HS (High Speed):
oscillateur à quartz jusqu’à 20 MHz.
Version RC (Résistance-Condensateur):
oscillateur RC jusqu’à 4 MHz.
Version LP (Low Power):
oscillateur à quartz jusqu’à 200 kHz.
Prévu pour des applications à faible
consommation.
50/66
68HCXX
Le rôle de l’horloge est de
cadencer les différentes
opérations effectuées par le
microcontrôleur et notamment
l’exécution des instructions du
programme.
Ainsi, le signal d’horloge
possède les caractéristiques
suivantes:
•Signal carré.
•De fréquence f et de période T.
Signal d ’horloge OSC
Temps t
T = 1 / f
51/66
68HCXX
Le signal d’horloge OSC est en
fait délivré par un oscillateur
externe qui peut être un quartz
ou une cellule RC.
Signal d ’horloge OSC
Temps t
Ce signal appliqué au PIC est
ensuite, de façon interne, divisé
par 4.
On appelle alors cycle machine
la durée caractérisant 4 périodes
d’horloge.
Cycle machine
Cycle machine
Cycle machine
52/66
68HCXX
Cette base de temps permet alors
de rythmer l’exécution des
instructions du programme:
Signal d ’horloge OSC
Temps t
Ainsi, au cours de chaque cycle
machine :
•Recherche de l’instruction dans
l’adresse pointée par le registre
PC.
•Exécution de l’instruction qui
était pointée par le registre PC au
cours du cycle précédent.
•Incrémentation du registre PC.
PC+2
PC+1
PC
Recherche
Instr (PC)
Exécution
Instr (PC-1)
Recherche
Instr(PC+1)
Exécution
Instr(PC)
Recherche
Instr(PC+2)
Exécution
Instr(PC+1)
Cycle 0 Cycle 1 Cycle 2
53/66
68HCXX
Conclusion:
Il faut donc un cycle machine
pour exécuter une instruction.
Un T pour incrémenter le PC.
Deux T pour l’exécution du code
machine.
Un T pour prendre le code.
soit 4 périodes d’horloge.
Signal d’horloge OSC
Temps t
Ex:
Dans le cas d’un oscillateur à
quartz de 20 MHz, le temps
d’exécution d ’une instruction est
donc de :
1 instruction = 1 cycle machine = 4 x Tosc
Tosc = 1/fosc
Si fosc = 20 MHz
Tosc = 50 ns
D’où 4 x Tosc = 200 ns.
200 ns
Sommaire
54/66
68HCXX
Outre la facilité de mise en œuvre
matérielle, l’intérêt des
microcontrôleurs 68HCXX réside
dans le jeu d’instruction et les
modes d’adressage
considérablement réduits par
rapport à d’autres structures
programmables.
55/66
68HCXX
Jeu d’instructions
En plus de bénéficier d’une
architecture dite Harvard, les
microcontrôleurs PIC sont
constitués autour d ’une
architecture appelée RISC.
Reduced Instruction Set Computer
= Circuit à jeu d’instructions réduit
Ainsi, contrairement à de
nombreux circuits mettant en
jeu une centaine d ’instructions
différentes, les PIC voient leur
nombre d’instructions limitées à
33 ou 35.
Les 68HCxx possèdent un jeu
de 256 instructions
33 ou 35 instructions seulement!
56/66
Jeu d’instructions
Les différents mnémoniques du
jeu d’instructions adoptent
certaines appellations dont il est
nécessaire d’être informé:
•# k est l ’opérande, c’est-à-dire
une valeur codée sur un octet (8
bits).
•LDAA est le code opération,
c’est aussi une valeur codée sur
un octet (8 bits).
•L ’ensemble code opération
opérande forme l ’instruction
Ex:
MOVLW k ( PIC)
LDAA k ( 68HC11 )
L ’opérande k est placé dans le
registre accumulateur A.
k  A
57/66
Jeu d’instructions
Les différents mnémoniques du
jeu d ’instructions adoptent
certaines appellations dont il est
nécessaire d ’être informé:
•A est le symbole correspondant
au registre accumulateur A
•$1000 à une adresse (valeur de
l ’adresse mémoire).
Ex: LDAA $1000
Le contenu du registre de
l ’accumulateur A est transféré dans
l ’adresse spécifiée $1000
A  $1000
58/66
Jeu d’instructions
Les différents mnémoniques du
jeu d’instructions adoptent
certaines appellations dont il est
nécessaire d’être informé:
Ex: BSET 4F,FF
Les bits contenus dans 4F sont
additionnés logiquement à la valeur
0F
resultat ($4F) = FF
1  $4F
•$4F est la valeur de l ’adresse
•$0F est un masque (0000 1111).
59/66
Modes d’adressage
les modes d’adressage sont
réduits puisqu’on en compte que
4:
•Adressage inhérent :
•pas d ’opérande.il correspond à
des opérations sur registres Efface le contenu de
l ’accumulateur A
Ex: CLRA
60/66
Modes d’adressage
La encore, les modes
d’adressage sont réduits
puisqu’on en compte que 4:
•Adressage inhérent.
•Adressage immédiat L ’accumulateur est chargé avec
une donnée de valeur $12
Ex: LDAA #$12
61/66
La encore, les modes
d’adressage sont réduits
puisqu’on en compte que 4:
•Adressage immédiat.
•Adressage direct.
•Adressage bit à bit.
Il permet de manipuler n’importe
quel bit individuel de n’importe
quel registre.
Modes d’adressage
Ex: BSET f, b
62/66
La encore, les modes
d’adressage sont réduits
puisqu’on en compte
principaleent 5:
•Adressage immédiat.
•Adressage direct.
•Adressage bit à bit.
•Adressage relatif.
LDAA 003A
retour DECA
BNE retour
Mode d ’adressage utilisé lors
des tests et des boucles utilisant
une étiquette
tant que A est différent de zero
on revient à la ligne retour
Modes d’adressage
Sommaire
63/66
La encore, les modes
d’adressage sont réduits
puisqu’on en compte
principalement 5:
•Adressage immédiat.
•Adressage direct.
•Adressage bit à bit.
•Adressage relatif
•Adressage étendu .
LDAA $003A
On utilise pour l ’opérande une
adresse
le contenu de A est égal au contenu
de $003A
(003A)  A
Modes d’adressage
Sommaire
64/66
Structure interne du 68HC11
65/66
Les 68HCXX n’ont désormais plus de secrets pour vous...
Il est temps de les mettre en œuvre dans une application...
66/66

Weitere ähnliche Inhalte

Ähnlich wie Les Microcontrôleurs 68HCXX.ppt

Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
TheCrazyMan
 
Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------
NasriMohsen2
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
HouBou3
 
a_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfa_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdf
AnasAsran1
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
Wassim Smati
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mohamedsaidi212001
 

Ähnlich wie Les Microcontrôleurs 68HCXX.ppt (20)

Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
 
Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------Chapitre1.ppt-------------------------------
Chapitre1.ppt-------------------------------
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino uno
 
Microcontroleur arduino uno
Microcontroleur arduino unoMicrocontroleur arduino uno
Microcontroleur arduino uno
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
 
Automates programmables industriels
Automates programmables industrielsAutomates programmables industriels
Automates programmables industriels
 
L'automate programmable - www.cours-online.com
L'automate programmable - www.cours-online.comL'automate programmable - www.cours-online.com
L'automate programmable - www.cours-online.com
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codee
 
a_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfa_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdf
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Chapitre3.pptx
Chapitre3.pptxChapitre3.pptx
Chapitre3.pptx
 
Architecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGAArchitecture et programmation des circuits CPLD et des FPGA
Architecture et programmation des circuits CPLD et des FPGA
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2
 
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
FDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
 

Mehr von wafawafa52

toaz.info-5g-solution-overview-pr_306866f43cebfb285586e3dd90989b89.pdf
toaz.info-5g-solution-overview-pr_306866f43cebfb285586e3dd90989b89.pdftoaz.info-5g-solution-overview-pr_306866f43cebfb285586e3dd90989b89.pdf
toaz.info-5g-solution-overview-pr_306866f43cebfb285586e3dd90989b89.pdf
wafawafa52
 
mop-baseband-integration-xl-project-pa-1docxdocx-pr_299cefaa0fd3e32dd950c7218...
mop-baseband-integration-xl-project-pa-1docxdocx-pr_299cefaa0fd3e32dd950c7218...mop-baseband-integration-xl-project-pa-1docxdocx-pr_299cefaa0fd3e32dd950c7218...
mop-baseband-integration-xl-project-pa-1docxdocx-pr_299cefaa0fd3e32dd950c7218...
wafawafa52
 
Verilog HDL Design Examples ( PDFDrive ).pdf
Verilog HDL Design Examples ( PDFDrive ).pdfVerilog HDL Design Examples ( PDFDrive ).pdf
Verilog HDL Design Examples ( PDFDrive ).pdf
wafawafa52
 
Lecture 16 RC Architecture Types & FPGA Interns Lecturer.pptx
Lecture 16 RC Architecture Types & FPGA Interns Lecturer.pptxLecture 16 RC Architecture Types & FPGA Interns Lecturer.pptx
Lecture 16 RC Architecture Types & FPGA Interns Lecturer.pptx
wafawafa52
 

Mehr von wafawafa52 (20)

515878259-Node-Group-Synch-Workshop.pptx
515878259-Node-Group-Synch-Workshop.pptx515878259-Node-Group-Synch-Workshop.pptx
515878259-Node-Group-Synch-Workshop.pptx
 
385288768-TD-Training-Modules-Mobilis.pptx
385288768-TD-Training-Modules-Mobilis.pptx385288768-TD-Training-Modules-Mobilis.pptx
385288768-TD-Training-Modules-Mobilis.pptx
 
Ericsson Microwave Products Overview.ppt
Ericsson Microwave Products Overview.pptEricsson Microwave Products Overview.ppt
Ericsson Microwave Products Overview.ppt
 
BaseBand-6630-Moshell-Commands .pdf
BaseBand-6630-Moshell-Commands      .pdfBaseBand-6630-Moshell-Commands      .pdf
BaseBand-6630-Moshell-Commands .pdf
 
45555555555-4G-Training .pptx
45555555555-4G-Training            .pptx45555555555-4G-Training            .pptx
45555555555-4G-Training .pptx
 
5-LTE-IP-Troubleshooting .ppt
5-LTE-IP-Troubleshooting            .ppt5-LTE-IP-Troubleshooting            .ppt
5-LTE-IP-Troubleshooting .ppt
 
Sharing-Knowledge-OAM-3G-Ericsson .ppt
Sharing-Knowledge-OAM-3G-Ericsson   .pptSharing-Knowledge-OAM-3G-Ericsson   .ppt
Sharing-Knowledge-OAM-3G-Ericsson .ppt
 
LTE-BASICS-ppt .ppt
LTE-BASICS-ppt                      .pptLTE-BASICS-ppt                      .ppt
LTE-BASICS-ppt .ppt
 
ran-introicbasictroubleshooting3-230122164831-426c58cd.pdf
ran-introicbasictroubleshooting3-230122164831-426c58cd.pdfran-introicbasictroubleshooting3-230122164831-426c58cd.pdf
ran-introicbasictroubleshooting3-230122164831-426c58cd.pdf
 
toaz.info-5g-solution-overview-pr_306866f43cebfb285586e3dd90989b89.pdf
toaz.info-5g-solution-overview-pr_306866f43cebfb285586e3dd90989b89.pdftoaz.info-5g-solution-overview-pr_306866f43cebfb285586e3dd90989b89.pdf
toaz.info-5g-solution-overview-pr_306866f43cebfb285586e3dd90989b89.pdf
 
mop-baseband-integration-xl-project-pa-1docxdocx-pr_299cefaa0fd3e32dd950c7218...
mop-baseband-integration-xl-project-pa-1docxdocx-pr_299cefaa0fd3e32dd950c7218...mop-baseband-integration-xl-project-pa-1docxdocx-pr_299cefaa0fd3e32dd950c7218...
mop-baseband-integration-xl-project-pa-1docxdocx-pr_299cefaa0fd3e32dd950c7218...
 
FPGA_Logic.pdf
FPGA_Logic.pdfFPGA_Logic.pdf
FPGA_Logic.pdf
 
DWDM-Presentation.pdf
DWDM-Presentation.pdfDWDM-Presentation.pdf
DWDM-Presentation.pdf
 
Verilog HDL Design Examples ( PDFDrive ).pdf
Verilog HDL Design Examples ( PDFDrive ).pdfVerilog HDL Design Examples ( PDFDrive ).pdf
Verilog HDL Design Examples ( PDFDrive ).pdf
 
VHDL summary.pdf
VHDL summary.pdfVHDL summary.pdf
VHDL summary.pdf
 
ROM PAL PLA.ppt
ROM PAL PLA.pptROM PAL PLA.ppt
ROM PAL PLA.ppt
 
Lecture 16 RC Architecture Types & FPGA Interns Lecturer.pptx
Lecture 16 RC Architecture Types & FPGA Interns Lecturer.pptxLecture 16 RC Architecture Types & FPGA Interns Lecturer.pptx
Lecture 16 RC Architecture Types & FPGA Interns Lecturer.pptx
 
exam.ppt
exam.pptexam.ppt
exam.ppt
 
REVISION SYN3.pptx
REVISION SYN3.pptxREVISION SYN3.pptx
REVISION SYN3.pptx
 
INSTRUMENTATION.pptx
INSTRUMENTATION.pptxINSTRUMENTATION.pptx
INSTRUMENTATION.pptx
 

Les Microcontrôleurs 68HCXX.ppt

  • 1. BEP - Systèmes Electroniques Numériques  Sommaire Clic simple:  animation suivante Clic sur: Sommaire Consultation du dossier par les élèves en autonomie. 1/66
  • 2. Microcontrôleur ou Microprocesseur? Architecture interne: Von Neumann ou Harvard? Les registres internes Le jeu d’instructions et les modes d’adressage La base de temps Quitter Sommaire Choisir un menu Mise en situation: - Evolution technologique - Analyse fonctionnelle 2/66
  • 3. L’évolution des produits domestiques (ou industriels) rend compte d’un phénomène directement lié à l’évolution des technologies: Evolution technologique 3/66
  • 4. Miniaturisation Intégration •Progrès de la miniaturisation. Les téléphones portables en sont un exemple très actuel. •Progrès de l’intégration. Le nombre de structures intégrées à un seul composant est de plus en plus important. Le nombre de circuits utilisés est ainsi réduit. Mais cette miniaturisation ne peut se faire sans une évolution de la technologie utilisée. Evolution technologique 4/66
  • 5. On comprendra aisément qu ’un système microprogrammé tel que le téléphone portable ne peut être géré par un système minimum à microprocesseur 6809: trop encombrant! La solution est alors de remplacer le système minimum par un seul circuit: Le microcontrôleur. Système minimum à 6809: •Microprocesseur •RAM •EPROM •PIA •Décodeur 5 circuits différents!!! Solution: •Microcontrôleur 1 seul circuit!!! Evolution technologique 5/66
  • 6. On retrouve ainsi les microcontrôleurs PIC dans de nombreuses applications industrielles ou domestiques. Prenons l’exemple d’une télécommande infra-rouge: Analyse fonctionnelle Emission IR de la commande FP3 Saisie touche FP1 Reconnaissance touche Génération commande FP2 6/66
  • 7. La fonction FP1 a pour rôle de prendre en compte l ’appui sur une touche et de transmettre le code correspondant à la fonction FP2. Analyse fonctionnelle La fonction FP2 a pour rôle d ’identifier la touche à l ’aide du « code touche » et de générer le signal commande associé. La fonction FP3 se charge de convertir et émettre le signal de commande sous forme de signal infra-rouge. Code touche Commande Signal IR Appui touche Emission IR de la commande FP3 Saisie touche FP1 Reconnaissance touche Génération commande FP2 7/66
  • 8. La fonction FP2 « Reconnaissance touche et génération commande » est réalisée par une structure microprogrammée. Analyse fonctionnelle Emission IR de la commande FP3 Code touche Commande Signal IR Appui touche Saisie touche FP1 Reconnaissance touche Génération commande FP2 C ’est ici un microcontrôleur PIC qui se charge, par l ’exécution de son programme, de faire l ’acquisition du signal « code touche », et de générer de signal de commande correspondant. Sommaire 8/66
  • 9. Suivant le type d ’application envisagé, il est possible de faire appel à différents types de structures microprogrammées. Les plus répandues sont les suivantes: Ex: PIC, 68HC11... • Le microprocesseur. • Le microcontrôleur. Ex: PC, système minimum à 6809... 9/66
  • 10. 6809 Microprocesseur Considérons dans un premier temps le système minimum à microprocesseur 6809 ou autre. Seul, le 6809 ne peut fonctionner. Il requiert différentes ressources qui sont: •Une mémoire programme (ROM ou PROM ou EPROM...). •Une mémoire données (RAM). •Une interface d ’entrées / sorties (PIA). •Différents bus d ’interconnexion. •Un décodeur d’adresses. Système minimum à 6809 Micro P 6809 ROM RAM PIA Décodeur 10/66
  • 11. 6809 Microprocesseur •Une mémoire programme (ROM ou PROM ou EPROM...) c'est une zone de mémoire dans laquelle le μP ne peut que lire. On peut y trouver des informations prédéfinies sur le μC qui ne peuvent ni ne doivent être modifiées (telles que le programme dans la plupart des applications industrielles) •Une mémoire données (RAM). c'est une zone de mémoire dans laquelle le μP peut lire ou écrire à tout instant lors de l'exécution d'un programme. On y trouve les données utiles à l'exécution de ce programme telles que les variables ; •Une interface d ’entrées / sorties (PIA). •Différents bus d ’interconnexion. •Un décodeur d’adresses. Système minimum à 6809 Micro P 6809 ROM RAM PIA Décodeur 11/66
  • 12. Microcontrôleur Un système à microprocesseur nécessite une grande surface matérielle (nombreux circuits) ainsi qu’une bonne qualité des connexions. Les microcontrôleurs permettent quant à eux de s ’affranchir de ces contraintes puisqu’ils intègrent en un seul circuit toutes les ressources propres à un système minimum. 12/66
  • 13. Microcontrôleur Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: •Mémoire de programme. Les 68HCXX se déclinent selon 2 versions de mémoire de programme: -ROM (ou OTPROM), programmable une seule fois. Capacité: 8 k octets. -EEPROM, effaçable électriquement. Capacité: 512 k octet. 13/66 68HCXX
  • 14. Microcontrôleur •Mémoire de données. Les 68HCXX disposent d ’une mémoire de données (RAM) de capacité 256 octets. Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: •Mémoire de programme. 68HCXX 14/66
  • 15. Microcontrôleur 68HCXX •Mémoire de données. Les 68HC11 proposent un certain nombre de broches d ’entrées/sorties (52 broches) permettant l ’acquisition ou la transmission de signaux numériques. Ainsi, les microcontrôleurs 68HC11 disposent des principales ressources internes suivantes: •Mémoire de programme. •Interface Entrées/sorties. 15/66
  • 16. Microcontrôleur •Mémoire de données. Certains 68HCXX possèdent 1 ou 2 ports série permettant la transmission série d ’informations numériques. Ainsi, les microcontrôleurs 68HCxx disposent des principales ressources internes suivantes: •Mémoire de programme. •Interface Entrées/sorties. Et éventuellement: •Port série. 68HCXX 16/66
  • 17. Microcontrôleur •Mémoire de données. Certains 68HCXX possèdent en ressource interne un Convertisseur Analogique / Numérique 8bits permettant l ’acquisition de 4 à 8 signaux analogiques différents. Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: •Mémoire de programme. •Interface Entrées/sorties. Et éventuellement: •Port série. •Convertisseur CAN. 68HCXX 17/66
  • 18. Microcontrôleur Conclusion: Les microcontrôleurs 68HCXX sont des circuits complets et performants. Ils s ’appliquent complètement dans la mise en œuvre de systèmes microprogrammés simples. Sommaire 68HCXX 18/66
  • 19. La majorité des structures microprogrammées utilisent une architecture classique appelée: Architecture Von Neumann. Les microcontrôleurs PIC ainsi que bien d’autres structures sont construites autour d’un autre type d’architecture: Architecture Harvard. Architecture Von Neumann: 6809, 68HC11... Architecture Harvard: PIC, DSP... 19/66 68HCXX
  • 20. Architecture Von Neumann Prenons le cas du système minimum à 6809. Son architecture est de type Von Neumann. La mémoire de programme associée par un autre circuit (EEPROM) contient comme son nom l ’indique le programme à exécuter. Contenu de la mémoire de programme EPROM 20/66 68HCXX
  • 21. Architecture Von Neumann LDA NOP ADDA SWI #$07 #$10 Instruction Opérande source Après assemblage, chaque instruction et chaque opérande codée sur un octet (8 bits) est rangée dans une case de la mémoire. Contenu de la mémoire de programme EPROM 12 86 07 8B 10 3F ... ... ... objet Considérons l ’exemple du programme source suivant. La mémoire contient donc successivement les instructions et les opérandes du programme . 21/66 68HCXX
  • 22. Architecture Von Neumann 12 86 07 8B 10 3F ... ... ... objet Afin d ’exécuter le programme, le microprocesseur doit lire dans l’ordre le contenu de chacune des cases mémoires. Pour cela, chacun des octets de la mémoire est acheminé vers le microprocesseur, via le bus de données. Micro P Bus de données EPROM 22/66 68HCXX
  • 23. Architecture Von Neumann 12 86 07 8B 10 3F ... ... ... objet Micro P Bus de données Conclusion: Dans le cas d’une architecture Von Neumann, le traitement d’une instruction et son opérande nécessite donc la lecture d’au moins deux cases mémoires (3 si l ’opérande est codée sur deux octets). Cela correspond à une durée de 2 ou 3 cycles machine. EPROM 23/66 68HCXX
  • 24. Architecture Harvard Les microcontrôleurs PIC ont eux une architecture appelée Harvard qui présente de nombreux avantages. Les différences avec les architectures Von Neumann résident essentiellement dans: • la mémoire de programme • les bus. 24/66 PIC
  • 25. Architecture Harvard Contenu de la mémoire de programme Comme précédemment, ce programme est composé d’instructions et d’opérandes. Cependant, une case mémoire peut ici contenir à la fois une instruction et son opérande. La mémoire de programme des PIC contient bien entendu le programme à exécuter. 25/66 PIC
  • 26. Architecture Harvard Contenu de la mémoire de programme PIC MOVLW 07 CLRW ADDLW 01 MOVWF 05 Instruction Opérande source Considérons l’exemple du programme source suivant. Après assemblage, chaque instruction et son opérande sont codées sur un mot binaire (12 ou 14 bits) puis rangées dans une case mémoire. Chaque case de la mémoire contient donc: •l’instruction à exécuter. •l’opérande associée (non obligatoire). 0100 3007 3E01 0085 objet ... ... ... ... ... 26/66
  • 27. Architecture Harvard PIC Unité de calcul 0100 3007 3E01 0085 objet ... ... ... ... ... Afin d’exécuter le programme, l’unité de calcul doit ensuite lire le contenu de chacune des cases de la mémoire. Chaque mot binaire contenu dans la mémoire de programme est alors acheminé vers un décodeur d’instructions. Décodeur d’instructions Le rôle de ce décodeur est de séparer pour chacun des mots binaires, l’instruction et la donnée (opérande). donnée instruction 27/66
  • 28. instruction donnée Architecture Harvard PIC Unité de calcul 0100 3007 3E01 0085 objet ... ... ... ... ... Décodeur d’instructions Les instructions et les données sont ensuite acheminées simultanément vers l ’unité de calcul par l ’intermédiaire de deux bus différents. Bus de DONNEES Bus d’INSTRUCTIONS 28/66
  • 29. instruction donnée Architecture Harvard PIC Unité de calcul 0100 3007 3E01 0085 objet ... ... ... ... ... Décodeur d’instructions Bus de DONNEES Bus d’INSTRUCTIONS Conclusion: Dans le cas de l’architecture Harvard que possèdent les PIC, la lecture d ’une seule case mémoire permet le traitement entier d ’une instruction et de son opérande. Un seul cycle machine est donc nécessaire. Sommaire 29/66
  • 30. Selon la version de 68HCXX utilisée, le nombre de registres internes au circuit est différent. Ainsi, les registres présentés ci- après sont les plus couramment utilisés: Registres d’E/S: PORT Registre d’état: CCR Registres de direction: DDR Registre Compteur Programme: PC Registre accumulateurs:A,B,X,Y 30/66 68HCXX
  • 31. Registre accumulateur A Le registre accumulateur A est un registre 8 bits destiné à la manipulation générale des données. A b7 b6 b 5 b4 b3 b2 b1 b 0 Il peut donc contenir une donnée de 8 bits que l ’on appelle ici un littéral. Ex: A 1 0 1 1 0 0 1 0 La donnée chargée dans le registre accumulateur A a pour valeur hexadécimale B2. Le registre A peut être comparé aux registres A ou B du 6809. Retour menu 31/66 68HCXX
  • 32. Registres d’E/S PORT Les microcontrôleurs 68HCXXpeuvent recevoir ou transmettre des informations logiques avec des périphériques extérieurs par l’intermédiaire de leurs ports d’E/S. Micro PIC périphériques Ports d ’E/S 32/66 68HCXX
  • 33. Registres d’E/S PORT Suivant la version utilisée, les circuits proposent 2 ou 3 ports d ’E/S différents.voire plus Micro PIC périphériques Afficheur clavier Port A Port B Port C Dans l ’exemple suivant, le port C est utilisé pour recevoir des informations provenant d ’un clavier. Les ports A et B sont eux utilisés pour transmettre les données à afficher. 33/66 68HCXX
  • 34. Registres d’E/S PORT L’utilisation des registres est ainsi la suivante: •Pour transmettre une donnée sur un port, il faut ECRIRE la donnée dans le registre PORT correspondant. •Pour recevoir une donnée sur un port, il faut LIRE la donnée dans le registre PORT correspondant. Ecrire Port Donnée à transmettre Lire Port Donnée reçue 34/66 68HCXX
  • 35. Registres d’E/S PORT Remarque 1: Les registres PORTA, PORTB et PORTC sont analogues aux registres ORA et ORB du PIA 6821 de Motorola. Retour menu 35/66 68HCXX
  • 36. Registres de direction DDR Les registres de direction DDR(8 bits) sont directement liés aux registres PORT. Le rôle des registres DDR est de configurer chacune des lignes des ports soit en entrée, soit en sortie. Les différentes broches (lignes) d’un même port peuvent donc avoir un rôle différent: transmettre ou recevoir une valeur logique (« 0 » ou «1 »). 36/66 68HCXX
  • 37. Registres de direction DDR La programmation des registres DDR est la suivante: DDR b7 b6 b 5 b4 b3 b2 b1 b 0 0 1 Ligne R1 en entrée Ligne R6 en sortie •La mise à « 1 » du bit programme la ligne correspondante en sortie. •La mise à « 0 » du bit programme la ligne correspondant en entrée. 37/66 68HCXX
  • 38. Registres de direction DDR Exemple: Programmons le port C en entrée et le port D en sortie. Remarque: les ports ABE ne possèdent que des lignes d ’entrées ou de sortie unidirectionnelles. Rc 0 Rc 1 R 3 Rc 2 Rd 0 RB 3 RB 2 RB 1 Rd 7 RB 6 RB 5 RB 4 Port D Port C 68HCXX E E E E S S S S S S S S DDRC DDRD 1 1 1 1 1 1 1 1 0 0 0 0 « 0 » = entrée « 1 » = sortie En conséquence, les registres DDR ne se programment que pour les ports C et D . Exemple cicontre DDRC  x0 DDRD  FF Retour menu 38/66 68HCXX
  • 39. Registre d’état CCR Le registre d’état CCR est un registre 8 bits. Le rôle de ce registre est de donner diverses informations à l’utilisateur sur l’état de fonctionnement de l’unité de calcul suite au résultat d’une opération. On s’intéressera en fait à seulement 2 bits du registre d’état. CCR b7 b6 b 5 b4 b3 b2 b1 b 0 39/66 68HCXX
  • 40. Registre d’état CCR CCR b7 b6 b 5 b4 b3 b2 b1 b 0 Z Le bit b2: Z (Zéro) Lorsqu’une opération arithmétique ou logique est réalisée, le bit Z est mis à 1 si le résultat est nul et à 0 dans le cas contraire. Ex 1: CCR b7 b6 b 5 b4 b3 b2 b1 b 0 CCR b7 b6 b 5 b4 b3 b2 b1 b 0 Ex 2: Ex 1: L ’unité centrale effectue l ’opération 7 - 6 = 1. Ex 2: L ’unité centrale effectue l ’opération 7 - 7 = 0. 0 1 Z = 0 Z = 1 40/66 68HCXX
  • 41. Registre d’état CCR CCR b7 b6 b 5 b4 b3 b2 b1 b 0 Ex 1: CCR b7 b6 b 5 b4 b3 b2 b1 b 0 CCR b7 b6 b 5 b4 b3 b2 b1 b 0 Ex 2: Ex 1: L’unité centrale effectue l’opération sur 8 bits: FE + 01 = FF Ex 2: L ’unité centrale effectue l’opération hexadécimale: FF + 1 = 00 (et une retenue) 0 1 C = 0 C = 1 Le bit b0: C (Carry = retenue) Ce bit est positionné à 1 si une addition ou une soustraction génère une retenue depuis le bit de poids fort. C Retour menu 41/66 68HCXX
  • 42. Compteur programme PC Le registre PC est un registre spécifique 9 ou 11 bits, suivant le modèle de 68HC11. b0 b1 b 2 b 3 b4 b5 b6 b7 b8 b 9 b1 0 PC C’est en fait un compteur ordinal qui contient l’adresse en mémoire de la prochaine instruction à exécuter. 42/66 68HCXX
  • 43. b0 b1 b 2 b 3 b4 b5 b6 b7 b8 b 9 b1 0 PC Compteur programme PC Prenons l’exemple d’un programme objet stocké en mémoire de programme à partir de l’adresse 000: 01 3F 31 00 ... ... Prog. Adresses 000 001 002 003 004 005 43/66 68HCXX
  • 44. b0 b1 b 2 b 3 b4 b5 b6 b7 b8 b 9 b1 0 PC Compteur programme PC 1er cycle machine: Le registre PC est chargé avec l’adresse de la première instruction du programme. 0 0 0 0 0 0 0 0 0 Adresses 000 001 002 003 004 005 01 3F 31 00 ... ... Prog. 44/66 68HCXX
  • 45. b0 b1 b 2 b 3 b4 b5 b6 b7 b8 b 9 b1 0 PC Compteur programme PC 2ème cycle machine : De façon simultanée, •Le registre PC s’incrémente. •La donnée précédemment pointée par le registre PC est exécutée. 1 0 0 0 0 0 0 0 0 Exécution de l ’instruction 01 Adresses 000 001 002 003 004 005 01 3F 31 00 ... ... Prog. 45/66 68HCXX
  • 46. b0 b1 b 2 b 3 b4 b5 b6 b7 b8 b 9 b1 0 PC Compteur programme PC 3ème cycle machine : De façon simultanée, •Le registre PC s’incrémente. •La donnée précédemment pointée par le registre PC est exécutée. Exécution de l ’instruction 0 1 0 0 0 0 0 0 0 3F Adresses 000 001 002 003 004 005 01 3F 31 00 ... ... Prog. 46/66 68HCXX
  • 47. b0 b1 b 2 b 3 b4 b5 b6 b7 b8 b 9 b1 0 PC Compteur programme PC 4ème cycle machine : De façon simultanée, •Le registre PC s’incrémente. •La donnée précédemment pointée par le registre PC est exécutée. Exécution de l ’instruction 1 1 0 0 0 0 0 0 0 31 Adresses 000 001 002 003 004 005 01 3F 31 00 ... ... Prog. 47/66 68HCXX
  • 48. b0 b1 b 2 b 3 b4 b5 b6 b7 b8 b 9 b1 0 PC Compteur programme PC 5ème cycle machine : De façon simultanée, •Le registre PC s’incrémente. •La donnée précédemment pointée par le registre PC est exécutée. Exécution de l ’instruction 0 0 0 0 0 0 0 0 1 00 Adresses 000 001 002 003 004 005 01 3F 31 00 ... ... Prog. 48/66 68HCXX
  • 49. b0 b1 b 2 b 3 b4 b5 b6 b7 b8 b 9 b1 0 PC Compteur programme PC Conclusion Le registre PC contient donc à l ’instant t l’adresse de la prochaine instruction à exécuter. Ainsi, lorsqu’une instruction est exécutée, la suivante est déjà pointée par le registre PC. Exécution de l ’instruction Adresses 000 001 002 003 004 005 Sommaire Retour menu 01 3F 31 00 ... ... Prog. 49/66 68HCXX
  • 50. Comme tous les circuits microprogrammés, les microcontrôleurs PIC 16Cxx fonctionnent à partir d’une base de temps ( horloge ) appliquée par des composants externes. Ainsi, il existe 4 modèles de PIC selon la fréquence d’horloge utilisée : •Version XT •Version HS •Version RC •Version LP Version XT: oscillateur à quartz jusqu’à 4 MHz. Version HS (High Speed): oscillateur à quartz jusqu’à 20 MHz. Version RC (Résistance-Condensateur): oscillateur RC jusqu’à 4 MHz. Version LP (Low Power): oscillateur à quartz jusqu’à 200 kHz. Prévu pour des applications à faible consommation. 50/66 68HCXX
  • 51. Le rôle de l’horloge est de cadencer les différentes opérations effectuées par le microcontrôleur et notamment l’exécution des instructions du programme. Ainsi, le signal d’horloge possède les caractéristiques suivantes: •Signal carré. •De fréquence f et de période T. Signal d ’horloge OSC Temps t T = 1 / f 51/66 68HCXX
  • 52. Le signal d’horloge OSC est en fait délivré par un oscillateur externe qui peut être un quartz ou une cellule RC. Signal d ’horloge OSC Temps t Ce signal appliqué au PIC est ensuite, de façon interne, divisé par 4. On appelle alors cycle machine la durée caractérisant 4 périodes d’horloge. Cycle machine Cycle machine Cycle machine 52/66 68HCXX
  • 53. Cette base de temps permet alors de rythmer l’exécution des instructions du programme: Signal d ’horloge OSC Temps t Ainsi, au cours de chaque cycle machine : •Recherche de l’instruction dans l’adresse pointée par le registre PC. •Exécution de l’instruction qui était pointée par le registre PC au cours du cycle précédent. •Incrémentation du registre PC. PC+2 PC+1 PC Recherche Instr (PC) Exécution Instr (PC-1) Recherche Instr(PC+1) Exécution Instr(PC) Recherche Instr(PC+2) Exécution Instr(PC+1) Cycle 0 Cycle 1 Cycle 2 53/66 68HCXX
  • 54. Conclusion: Il faut donc un cycle machine pour exécuter une instruction. Un T pour incrémenter le PC. Deux T pour l’exécution du code machine. Un T pour prendre le code. soit 4 périodes d’horloge. Signal d’horloge OSC Temps t Ex: Dans le cas d’un oscillateur à quartz de 20 MHz, le temps d’exécution d ’une instruction est donc de : 1 instruction = 1 cycle machine = 4 x Tosc Tosc = 1/fosc Si fosc = 20 MHz Tosc = 50 ns D’où 4 x Tosc = 200 ns. 200 ns Sommaire 54/66 68HCXX
  • 55. Outre la facilité de mise en œuvre matérielle, l’intérêt des microcontrôleurs 68HCXX réside dans le jeu d’instruction et les modes d’adressage considérablement réduits par rapport à d’autres structures programmables. 55/66 68HCXX
  • 56. Jeu d’instructions En plus de bénéficier d’une architecture dite Harvard, les microcontrôleurs PIC sont constitués autour d ’une architecture appelée RISC. Reduced Instruction Set Computer = Circuit à jeu d’instructions réduit Ainsi, contrairement à de nombreux circuits mettant en jeu une centaine d ’instructions différentes, les PIC voient leur nombre d’instructions limitées à 33 ou 35. Les 68HCxx possèdent un jeu de 256 instructions 33 ou 35 instructions seulement! 56/66
  • 57. Jeu d’instructions Les différents mnémoniques du jeu d’instructions adoptent certaines appellations dont il est nécessaire d’être informé: •# k est l ’opérande, c’est-à-dire une valeur codée sur un octet (8 bits). •LDAA est le code opération, c’est aussi une valeur codée sur un octet (8 bits). •L ’ensemble code opération opérande forme l ’instruction Ex: MOVLW k ( PIC) LDAA k ( 68HC11 ) L ’opérande k est placé dans le registre accumulateur A. k  A 57/66
  • 58. Jeu d’instructions Les différents mnémoniques du jeu d ’instructions adoptent certaines appellations dont il est nécessaire d ’être informé: •A est le symbole correspondant au registre accumulateur A •$1000 à une adresse (valeur de l ’adresse mémoire). Ex: LDAA $1000 Le contenu du registre de l ’accumulateur A est transféré dans l ’adresse spécifiée $1000 A  $1000 58/66
  • 59. Jeu d’instructions Les différents mnémoniques du jeu d’instructions adoptent certaines appellations dont il est nécessaire d’être informé: Ex: BSET 4F,FF Les bits contenus dans 4F sont additionnés logiquement à la valeur 0F resultat ($4F) = FF 1  $4F •$4F est la valeur de l ’adresse •$0F est un masque (0000 1111). 59/66
  • 60. Modes d’adressage les modes d’adressage sont réduits puisqu’on en compte que 4: •Adressage inhérent : •pas d ’opérande.il correspond à des opérations sur registres Efface le contenu de l ’accumulateur A Ex: CLRA 60/66
  • 61. Modes d’adressage La encore, les modes d’adressage sont réduits puisqu’on en compte que 4: •Adressage inhérent. •Adressage immédiat L ’accumulateur est chargé avec une donnée de valeur $12 Ex: LDAA #$12 61/66
  • 62. La encore, les modes d’adressage sont réduits puisqu’on en compte que 4: •Adressage immédiat. •Adressage direct. •Adressage bit à bit. Il permet de manipuler n’importe quel bit individuel de n’importe quel registre. Modes d’adressage Ex: BSET f, b 62/66
  • 63. La encore, les modes d’adressage sont réduits puisqu’on en compte principaleent 5: •Adressage immédiat. •Adressage direct. •Adressage bit à bit. •Adressage relatif. LDAA 003A retour DECA BNE retour Mode d ’adressage utilisé lors des tests et des boucles utilisant une étiquette tant que A est différent de zero on revient à la ligne retour Modes d’adressage Sommaire 63/66
  • 64. La encore, les modes d’adressage sont réduits puisqu’on en compte principalement 5: •Adressage immédiat. •Adressage direct. •Adressage bit à bit. •Adressage relatif •Adressage étendu . LDAA $003A On utilise pour l ’opérande une adresse le contenu de A est égal au contenu de $003A (003A)  A Modes d’adressage Sommaire 64/66
  • 65. Structure interne du 68HC11 65/66
  • 66. Les 68HCXX n’ont désormais plus de secrets pour vous... Il est temps de les mettre en œuvre dans une application... 66/66