Architecture Microcontrôleur 68HC11 : Cours IUP TMM L3

Telechargé par rahmakallahsalma200
IUP TMM - L3 Micro-contrˆ
oleur 68HC11 UPS
Micro-contr ˆ
oleur Motorola 68HC11
Plan du cours:
I-Introduction - Architecture d’un micro-contr ˆ
oleur
II-Codage des informations
III-Structure du 68HC11
IV-Jeu d’instructions
V-Entr´
ees/Sorties
VI-Syst`
eme de d´
eveloppement. Platine Controlboy
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –1–
IUP TMM - L3 Architecture d’un micro-contr ˆ
oleur UPS
I-Introduction
I-1 Architecture d’un micro-contr ˆ
oleur
Un micro-contrˆ
oleur int`
egre sur un m ˆ
eme circuit:
Une unit´
e centrale ou micro-processeur (CPU)
De la m´
emoire (RAM, ROM, EPROM, EEPROM,...)
Des interfaces d’entr ´
ees/sorties
CPU memoire
Ports d’E/S
entrees/sorties
interfaces
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –2–
IUP TMM - L3 Architecture d’un micro-contr ˆ
oleur UPS
I-2 Unit´
e centrale
Une unit´
e centrale est constitu ´
ee:
D’une unit´
e arithm ´
etique et logique (UAL).
De registres internes
D’une unit´
e de commande (d ´
ecodage et contr ˆ
ole de l’ex´
ecution)
De bus (adresses, donn ´
ees, commandes)
UAL
bus d’adresses
Accu.
Programme
Unite de
commande
PC
Reg d’Inst.
Reg d’etat
bus de donnees
bus de commande
Donnees
Memoire
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –3–
IUP TMM - L3 Architecture d’un micro-contr ˆ
oleur UPS
Unit´
e Arithm ´
etique et logique
Au coeur du processeur, l’UAL effectue le traitement des informations.
UAL
n n
n
.......
m
E2E1
S
pindicateurs
f
C’est un circuit combinatoire qui produit un r ´
esultat (S) sur nbits fonction des
donn´
ees pr´
esentes sur ses entr ´
ees (E1 et E2) et de la fonction `
a r´
ealiser (f) et met `
a
jour des indicateurs.
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –4–
IUP TMM - L3 Architecture d’un micro-contr ˆ
oleur UPS
I-3 M´
emoire
Principe: organis ´
ee en octet. Chaque octet de la m´
emoire poss`
ede une adresse
cod´
ee sur m bits.
Espace adressable: Nombre d’adresses disponibles ´
egal `
a2m.
õM´
emoire vive: (Utilis ´
ee pour les donn´
ees)
RAM, DRAM, SRAM,...: Utilisable en lecture et ´
ecriture. Volatile.
õM´
emoires mortes: (utilis ´
ee pour les programmes)
ROM, PROM: m´
emoire programm´
ee par le fabricant (ROM) o`u par l’utilisateur mais
une seule fois (PROM). Non volatile. Accessible seulement en lecture.
EPROM: reprogrammable par exposition `
a des UV. Non-volatile. Accessible en
lecture seulement.
EEPROM: effac¸able ´
electriquement. Non-volatile. Rapide en lecture mais lente en
´
ecriture.
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –5–
IUP TMM - L3 Architecture d’un micro-contr ˆ
oleur UPS
I-4 Interfaces d’E/S int ´
egr´
ees
interfaces parall`
eles pour la connection des E/S (signaux logiques).
interfaces s´
erie pour la communication.
convertisseurs analogique/num ´
erique pour le traitement de signaux
analogiques.
timers pour g ´
en´
erer ou mesurer des signaux p ´
eriodiques (signaux
rectangulaires).
Accessibles sur des broches du circuit (ports).
Des registres sp´
ecialis´
es situ´
es dans l’espace adressable (pas d’instructions
sp´
eciales) permettent de lire o`u d’´
ecrire des valeurs sur les ports et de programmer
les interfaces (par exemple la cadence de transmission de la ligne s ´
erie).
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –6–
IUP TMM - L3 Codage des informations UPS
II-Codage des informations
II-1 Introduction
Un ordinateur ne manipule que des informations binaires.
N´
ecessit´
e d’un codage des informations. Codage des nombres, codage des
caract`
eres.
Unit´
es utilis´
ees dans un ordinateur: bit, octet (8 bits), multiples d’octets (16 bits, 32
bits, 64 bits, ...)
Codage: convention qui permet de repr ´
esenter une information sous forme d’une
suite de 0 et de 1.
Notation hexad´
ecimale: permet de repr ´
esenter une valeur binaire de mani`
ere
compacte.
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –7–
IUP TMM - L3 Codage des informations UPS
II-2 Num´
eration positionnelle
Principe: Une quantit ´
e est repr ´
esent´
e par une suite de symboles. Le poids de
chacun des symboles d ´
epend de sa position dans la suite.
base 10 (d´
ecimale) 10 Symboles: {0, 1, 2, ... , 9}
Poids: puissances de 10 en partant de 0, de la gauche vers la droite.
Exemple: 127= 1 ×102+ 2 ×101+ 7 ×100
base 2 (binaire) 2 symboles {0, 1}
Poids: puissances de 2 en partant de 0, de la gauche vers la droite.
Exemple: 1011b= 1 ×23+0×22+ 1 ×21+ 1 ×20(soit 11 en d ´
ecimal)
base 16 (hexad´
ecimale) 16 symboles {0,...,9 , 1, A,..., F}
Poids: puissance de 16. Exemple: 3Ah= 3 ×161+ 10 ×160(soit 58 en d ´
ecimal)
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –8–
IUP TMM - L3 Codage des informations UPS
II-3 Changement de base
conversion binaire hexad´
ecimal:
on regroupe les bits par groupes de 4 et on cherche le symbole hexad ´
ecimal de
chaque groupe.
Ex: 0010 1100b 2Ch
conversion hexad´
ecimal binaire:
il faut d´
ecomposer chaque symbole hexad´
ecimal en groupe de 4 bits.
Ex: 2Ch 0010 1100b
conversion binaire d´
ecimal:
chaque bit doit ˆ
etre multipli´
e par son poids (puissance de 2).
Ex: 0010 1100b 25+ 23+ 22=44d
Jean-Michel ENJALBERT - enjalber@laas.fr- 2005/2006 –9–
IUP TMM - L3 Codage des informations UPS
conversion d´
ecimal binaire:
On effectue des divisions successives par 2
Ex: 44/2=22, r=b0=0, 22/2=11, r=b1=0, 11/2=5, r=b2=1, 5/2=2, r=b3=1, 2/2=1,
r=b4=0, 1/2=0, r=b5=1 donc 44d b5b4b3b2b1b0=101100b
conversion hexad´
ecimal d´
ecimal:
chaque symbole doit ˆ
etre multipli´
e par son poids (puissance de 16).
Ex: 2Ch 2×16 + 12 =44d
conversion d´
ecimal hexad´
ecimal:
On effectue des divisions successives par 16.
Ex: 44/16=2, r=12, 2/16=0, r=2 donc 44d 2Ch
Jean-Michel ENJALBERT - [email protected] 2005/2006 –10–
IUP TMM - L3 Codage des informations UPS
II-4 Entiers naturels
Soit A=an1an2...a2a1a0un mot-code de n bits en binaire.
Ce mot-code A repr ´
esente l’entier naturel cod ´
e sur n bits:
N(A) =
n1
X
i=0
ai2i
Dans un ordinateur n est un multiple de 8 bits.
n plage d´
ecimal hexad´
ecimal
8 0 `
a 255 00h `
a FFh
16 0 `
a 65535 0000h `
a FFFFh
24 0 `
a 16 777 215 000000 `
a FFFFFF
Jean-Michel ENJALBERT - [email protected] 2005/2006 –11–
IUP TMM - L3 Codage des informations UPS
D´
ecodage d’un entier naturel: soit A le mot-code repr´
esentant l’entier N(A).
La valeur d´
ecimale de N(A)est obtenue en appliquant la d´
efinition:
Exemple (codage sur 8 bits): A=0010 1011
N(A) = 20+ 21+ 23+ 25= 1 + 2 + 8 + 32 = 43
Codage: soit l’entier naturel N(A). Son code A est obtenu par des divisions
successives par 2:
Exemple: N(A) = 43
valeur quotient reste bit
43 21 1 b0
21 10 1 b1
10 5 0 b2
5 2 1 b3
2 1 0 b4
1 0 1 b5
D’ou: A=0010 1011
Jean-Michel ENJALBERT - [email protected] 2005/2006 –12–
IUP TMM - L3 Codage des informations UPS
II-5 Entiers relatifs
Principe: codage en compl ´
ement `
a 2. Le bit le plus `
a gauche (bit le plus significatif)
a un poids n ´
egatif. Soit Z l’entier relatif cod ´
e par A:
Z(A) = an12n1+
n2
X
i=0
ai2i
Cons´
equence: si an1= 1,Z(A)est un nombre n ´
egatif quel que soient les
valeurs des autres bits (a0`
aan2). Inversement, si an1= 0,Z(A)est positif.
Le signe d’un entier relatif est donn ´
e par la valeur du bit le plus significatif de son
code (0: positif, 1: n´
egatif)
Exemple: 1001 1111b repr ´
esente un entier n´
egatif.
Jean-Michel ENJALBERT - [email protected] 2005/2006 –13–
IUP TMM - L3 Codage des informations UPS
Compl´
ement `
a 2
soit e
Xle compl´
ement `
a 2 de X, par d´
efinition, e
Xest tel que e
X+X= 2n.
On peut encore ´
ecrire Z(A)sous la forme:
Z(A) = an12n+
n1
X
i=0
ai2i=an12n+N(A)
D’ou, si an1= 0,Z(A) = N(A).
Le code d’un entier positif Z(A)est le m ˆ
eme que celui de l’entier naturel N(A)
Si, par contre, an1= 1,Z(A)<0et |Z(A)|= 2nN(A) = e
N(A).
Le code d’un entier n´
egatif Z(A)est le mˆ
eme que celui du compl ´
ement `
a 2 de
l’entier naturel ´
egal `
a sa valeur absolue.
Jean-Michel ENJALBERT - [email protected] 2005/2006 –14–
IUP TMM - L3 Codage des informations UPS
Rˆ
egles de codage des entiers relatifs:
Soit Z un entier relatif `
a coder, soit A son code.
Si Z0, le code de Z est le mˆ
eme que celui de l’entier naturel N=Z.
Si Z<0, il faut chercher le compl ´
ement `
a 2 du code de sa valeur absolue (cod´
ee
comme un entier naturel).
A N(A) e
N(A) Z(A) A N(A) e
N(A) Z(A)
0000 0 16 0 1000 8 8 -8
0001 1 15 1 1001 9 7 -7
0010 2 14 2 1010 10 6 -6
0011 3 13 3 1011 11 5 -5
0100 4 12 4 1100 12 4 -4
0101 5 11 5 1101 13 3 -3
0110 6 10 6 1110 14 2 -2
0111 7 9 7 1111 15 1 -1
le compl´
ement `
a 2 d’un nombre est obtenu en rajoutant 1 `
a son compl ´
ement vrai.
Jean-Michel ENJALBERT - [email protected] 2005/2006 –15–
IUP TMM - L3 Codage des informations UPS
II-6 Addition et d´
ebordement
Les valeurs repr´
esentables d´
ependent du nombre de bits choisi pour le codage. Le
processeur doit d ´
etecter si une le r ´
esultat d’une op´
eration est repr ´
esentable ou pas.
Soit S=sn1...s0le code du r ´
esultat de l’addition sur n bits de A=an1...a0
avec B=bn1...b0. L’exactitude du r´
esultat d´
epend du contexte:
non sign´
eindicateur C, ou sign ´
eindicateur V.
an1bn1sn1C V
0 0 0 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 0 0
1 0 0 1 0
1 0 1 0 0
1 1 0 1 1
1 1 1 1 0
Jean-Michel ENJALBERT - [email protected] 2005/2006 –16–
IUP TMM - L3 Codage des informations UPS
II-7 Codage des r ´
eels en virgule fixe
Le principe consiste `
a fixer la position de la virgule et `
a donner aux bits `
a droite de
cette position un poids en puissance de 2 n ´
egative: 21,22, ...
Soit A le mot code repr ´
esentant le r ´
eel X(A)sur n bits dont m apr`
es la virgule:
X(A) = an12n1m+
n2
X
i=0
ai2im
Exemple avec n=8 et m=3: le code 00101 100b repr ´
esente le r ´
eel:
22+ 20+ 21= 4 + 1 + 0.5 = 5.5
On peut aussi ´
ecrire:
X(A) = 2mZ(A)
Jean-Michel ENJALBERT - [email protected] 2005/2006 –17–
IUP TMM - L3 Codage des informations UPS
II-8 Op´
erations logiques et masques
op´
erateur OU
Permet de mettre `
a 1 un bit ou un groupe de bits sans modifier les autres.
Ex: xxxx xxxx + 0000 1000 = xxxx 1xxx. Met `
a 1 le bit b3.
op´
erateur ET
Permet d’isoler un bit ou un groupe de bits.
Ex: xxxx xxxx & 0000 1000 = 0000 x000. Isole le bit b3.
Permet aussi de mettre `
a 0 un bit ou un groupe de bits.
Ex: xxxx xxxx & 1111 0111 = xxxx 0xxx. Met `
a z´
ero le bit b3.
op´
erateur OU EXCLUSIF
Permet d’inverser la valeur d’un bit ou d’un groupe de bits.
Ex: xxxx xxxx 0000 1000 = xxxx ¯xxxx
Jean-Michel ENJALBERT - [email protected] 2005/2006 –18–
IUP TMM - L3 Codage des informations UPS
II-9 Codage des caract `
eres
code 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x00 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT NP CR SO SI
0x10 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
0x20 SP !” # $ % & ( ) * + , - . /
0x30 0 1 2 3 4 5 6 7 8 9 : ; <=>?
0x40 @ A B C D E F G H I J K L M N O
0x50 P Q R S T U V W X Y Z [ \] ˆ
0x60 a b c d e f g h i j k l m n o
0x70 p q r s t u v w x y z {}˜ DEL
Les caract`
eres 0 a 31 et 127 sont des caract`
eres de contr ˆ
ole.
Le 8`
eme bit peut avoir divers usages:
– contrˆ
ole de parit ´
e
– d´
efinition de caract `
eres ´
etendus (accentu´
es par exemple).
Jean-Michel ENJALBERT - [email protected] 2005/2006 –19–
IUP TMM - L3 Codage des informations UPS
Caract`
eres de contr ˆ
ole et propri ´
et´
es du code ascii
Les lettres de l’alphabet sont dans l’ordre croissant et se suivent: Un tri
alphab´
etique se ram `
ene `
a un tri num ´
erique.
Le passage de minuscule en majuscule et vice-versa se fait simplement en
inversant le bit 5 du code (soit + ou - $20)
Le passage d’un chiffre `
a son code ASCII consiste `
a rajouter $30 `
a ce chiffre.
Quelques caract`
eres de contr ˆ
oles:
NUL absence de caract `
ere SOH d ´
ebut d’ent`
ete STX d´
ebut de texte
ETX fin de texte EOT fin de transmission ENQ interrogation
ACQ accus´
e r´
eception BEL sonnette BS retour arri `
ere
HT tabulation horizontale LF ligne suivante VT tabulation verticale
FF page suivante CR retour chariot NAK rec¸u avec erreur
SYN synchronisation CAN annulation SUB substitution
ESC ´
echappement FS s´
eparateur de fichier GS s´
eparateur de groupe
RS s´
eparateur d’article US s´
eparateur d’unit´
e DEL effac¸er
Jean-Michel ENJALBERT - [email protected] 2005/2006 –20–
1 / 27 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!