You are on page 1of 59

Electronique Numrique

Microcontrleur

Introduction

Architecture d'un microcontrleur

un systme en logique programmable (systme minimum) est par dfinition


lensemble des circuits et de composants ncessaire pour la constitution dun systme
programmable. Il doit obligatoirement comporter les trois lments essentiels suivants :
unit centrale : microprocesseur (8, 16,).
Mmoire : pour contenir les programme et les donnes.
E/S : module ncessaire pour communiquer avec lenvironnement extrieur au
systme.

Ces trois lments sont interconnects via des bus :


- bus dadresse
- bus de donnes
- bus de contrle

Systme minimum
Composition et interconnexion

Remarque: ces trois lments cits peuvent tre sous forme de


CI indpendants : P, mmoire, E/S comme ils
peuvent tre intgrs dans un seul CI.
micro- contrleur.

1-Lunitcentrale:
Traite des informations issues soit extrieurement ou provenances de la mmoire. Elle a
pour tche :
- Dlaborer des commandes et ordres vers les autres parties du systme (rsultat dun
traitement)
- Elle est capable dexcuter une suite dinstructions programme .
elle peut tre raliser par un microprocesseur (8,16, 32,..) standaed
(fabriqu par des constructeurs connus : motorola, intel, )
4

Lunit centrale dun systme programmable gre toutes (ou presque) les oprations
lmentaires au sein de ce systme. En effet, lUC soccupe des oprations de recherche,
dinterprtation (dcodage) et dexcution des instructions qui compose un programme.
En gnral, une UC :
1- accde la mmoire pour extraire (recherche) le code (mot) de linstruction.
a besoin de mcanisme dadressage dune mmoire (gnration dadresse).
2- excute squentiellement un certain nombre doprations lmentaires.
a besoin dun squenceur qui volue aux rythme dune horloge.
3- capable deffectuer des oprations logiques, arithmtiques, contrle de squencement.
a besoin dune unit arithmtique et logique (UAL).
Finalement, une unit centrale peut regrouper les 3 lments cits :

PROCESSEUR

MEMOIRE
programme

UNITE DE COMMANDE
dcodeur

squenceur

compteur ordinal

registre instruction

code
instruction

donnes
donne

UAL

gnrateurdadresses:
peut tre tout simplement un registre, compteur capable de gnrer des adresses
successives : on parle de compteur ordinal ou compteur de programme (PC).
Et peut tre aussi plus complexe et permet une gestion complte des adresses : sauts
conditionnels, inconditionnels,
squenceur:
doit tre capable de :
reconnatre linstruction extraire de la mmoire
prendre en compte des vnements externes : interruption par exemple
grer des boucles et sauts de programmes (prsence de pile).
UAL:
Elle permet deffectuer des oprations arithmtiques de bases (le plus souvent +, -, ).
Dans certains cas, cette unit peut tre plus complexes, cd raliser des opration de
calcul scientifique.

Le P constitue lU.C.T (unit centrale de traitement) dun systme


informatique. Cest lui qui effectue lexcution des diffrents instructions qui
constitue un programme, les codes binaires des instructions sont stocks en
mmoire.
les mots rcuprs sur le bus de donnes sont interprts comme:
a- donnes numriques
b- code dinstructions. C d signaux de selction de lopration
effectuer.
Les codes et les instructions dpendent du P, elles sont fournies par le
constructeur.
Composition dune instruction:
un programme excuter par le P est constitu dune suite dinstruction.
Une instruction est divise en deux champs:
- champ code opration
- champ oprande

le champ code opration:


ce champ indique le type de lopration raliser par le P (calcul
arithmtique ou logique, transfert registre- registre, entres- sorties, ).ce
champ est toujours prsent dans une instruction.
Lechampoprande:
Ce champ indique quelle donne on va accder, sa longueur est variable : 0, 1 ou 2
octets. Par consquent, une instruction se prsente sur 1, 2 ou 3 octets suivant la
longueur de loprande.
Code opration
1 octet

oprande
0, 1 ou 2 octets

instruction : 1,2 ou 3 octets

Composantsd'unmicroprocesseur
L'unitarithmtiqueetlogique(UAL)
C'est l'organe qui effectue les oprations :
- arithmtiques : addition, soustraction, multiplication, ...
- logiques : et, ou, non, dcalage, rotation, ....
Deux registres sont associs l'UAL : l'accumulateur et le registre d'tat.

10

L'accumulateur
C'est une des deux entres de l'UAL. Il est impliqu dans presque toutes les
oprations ralises par l'UAL. Certains constructeurs ont des microprocesseurs deux
accumulateurs (Motorola : 6809)
Exemple : A tant l'accumulateur et B un registre, on peut avoir : A+B A (ADD A,B :
addition du contenu du registre A avec celui du registre B, le rsultat tant mis dans A)
Leregistred'tat(Flags)
A chaque opration, le microprocesseur positionne un certain nombre de bascules
d'tat. Ces bascules sont appeles aussi indicateurs d'tat ou drapeaux (status, flags).
Par exemple, si une soustraction donne un rsultat nul , l'indicateur de zro ( Z ) sera mis
1. Ces bascules sont regroupes dans le registre d'tat
11

On peut citer comme indicateur :


- retenue (carry : C)
- signe (Sign : S)
- dbordement (overflow : O)
- zro (Z)
Retenue : (carry : C): stockage de la retenue arithmtique
Exemple: addition de nombres binaire sur 8 bits

11111100
+ 10000010 FCH +
carry : 1=01111110

82H

(252)10 + (130)10

17EH

= (382)10

La bascule C (carry) sert aussi capter le bit expuls lors d'une opration de dcalage ou
de rotation.
12

Signe: (S)
Cette bascule est mise 1 lorsque le rsultat de l'opration est ngatif ( bit de plus fort
poids du rsultat 1 )
Dbordement : (overflow : O)
Cet indicateur est mis 1, lorsqu'il y a un dpassement de capacit pour les oprations
arithmtiques en complment 2. Sur 8 bits, on peut coder de -128 ( 1000 0000 ) +127 (
0111 1111 ).
104 0110 1000
+ 26

+0001 1010

=130=1000 0010 (-126)

- 18

1110 1110

- 118

1000 1010

-136

0111 1000(120)avec C=1

Zro : (Z)
Cette bascule est mise 1 lorsque le rsultat de l'opration est nul.

13

Remarque
La plupart des instructions modifient le registre d'tat
exemple :
ADD A, B positionne les drapeaux : O, S, Z, A, P, C
OR B, C (B ou C -> B) positionne S, Z, P tandis que
MOV A, B ( Move, Transfrer le contenu de B dans A ) n'en positionne aucun.
Lesregistres
Deux type de registres : les registres d'usage gnral, et les registres d'adresses (pointeurs)
Les registres d'usage gnral
Ce sont des mmoires rapides, l'intrieur du microprocesseur, qui permettent l'UAL
de manipuler des donnes vitesse leve. Ils sont connects au bus donnes interne au
microprocesseur.
14

Les registres d'adresses (pointeurs)


Ce sont des registres connects sur le bus adresses.
On peut citer comme registre:
- Le compteur ordinal (pointeur de programme PC)
- Le pointeur de pile (stack pointer SP)
- Les registres d'index (index source SI et index destination DI)
Le compteur ordinal (pointeur de programme PC)
Il contient l'adresse de l'instruction rechercher en mmoire. L'unit de commande
incrmente le compteur ordinal (PC) du nombre d'octets sur lequel l'instruction, en cours
d'excution, est code. Le compteur ordinal contiendra alors l'adresse de l'instruction
suivante.
exemple : (PC)=10000H ; il pointe la mmoire qui contient l'instruction MOV C,B qui est
code sur deux octets (89 D9H) ; l'unit de commande incrmentera de deux le contenu du
PC : (PC) = 10002H (la mmoire sera suppose tre organise en octets).

15

Le pointeur de pile (stack pointer SP)


Il contient l'adresse de la pile. Celle-ci est une partie de la mmoire, elle permet de stocker
des informations (le contenu des registres) relatives au traitement des interruptions et des
sous-programmes.
La pile est gre en LIFO : (Last IN First Out) dernier entr premier sorti. Le
fonctionnement est identique une pile d'assiette
Le pointeur de pile SP pointe le haut de la pile , il est dcrment avant chaque
empilement, et incrment aprs chaque dpilement.

16

2-lesmmoires:
On appelle mmoire, tout systme permettant de conserver une
information et d'en disposer par la suite : par exemple un bit, un octet (huit
bits) ou plus gnralement un mot de n bits ou Byte.
Une mmoire est un ensemble de cases mmoires. Pour slectionner lune
des ces positions mmoires. Il faudra connatre son implantation cest--dire
son adresse . cette slection se fera partir dun dcodeur. Le mot binaire
lire ou crire transitera par un registre dentre/sorties. En gnral on
exprimera la capacit de la mmoire en kilo mots, ou kilooctets pour des mots
de 8 bits (ko), le nombre K valant 1024 (210).
Une mmoire qui peut tre lue ou crite est une mmoire vive ou RAM. Une
mmoire qui ne peut tre que lue est une mmoire morte ou ROM.
PROM: ROM programmable par lutilisateur.
EPROM: ROM effaable et programmable (effacement par ultra- violet).
EEPROM: ROM effaable et reprogrammable ( effacement lectriquement

17

Structure externe:

18

Bus dadresse
Exemple: n = 11 nombre de cases =211 = 2 * 210 = 2 ko ( capacit de stokage)
2 ligne de contrle: pour distinguer entre la lecture et lcriture:
- un signal de lecture RD
- un signal dcriture WR

19

Structure interne:
Case N 0

N ligne

dcodeur

BA

Case N -1
Signal dactivation (cs =
0)

Sys de contrle

Bus de donnes

RD=0
Wr=0

20

Dcodage dadresses:
Le but du dcodeur dadresses est de permettre la slection des diffrents
botier lectroniques, en fonction des adresses disponibles sur le bus dadresse
entre les diffrents composants du systme, par aiguillage entre la partie
RAM/ROM et les autres botier programmables, tels que les interfaces
priphriques,, cet aiguillage se fait grce la partie dcodage dadresses.
Cblage
Considrons un microprocesseur ayant un bus dadresses de 16 bits et
travaillant sur des donnes de 8 bits. Ce microprocesseur peut donc adresser
64 ko (65536= 216= 26. 210).
Notons A le bus dadresses (16 bits) A15 A0.
Notons D le bus de donnes (8 bits) D7 D0.
Le schma reprsentant les connexions dun microprocesseur une
mmoire de capacit 8 ko (213) et pouvant donc tre adresse par un bus
13 bits.

21

A0
A12
P

A0
A12
Mmoir
e de 8ko

A13
A14
A15

D0
D7

D0
D7
criture
lecture

22

3 bits A13,A14 et A15 peuvent tre utiliss pour adresser 3 mmoires de 8


ko.
La broche cs (Chipt select) donne lautorisation de fonctionnement de la
mmoire.
Si A15 A14 A13 = 0 0 1 alors le micro accde la 1re mmoire.
Les adresses extrmes sont:
0010 0000 0000 0000 et 0011 1111 1111 1111 soit 2000H et 3FFFH.
Si A15 A14 A13 = 0 0 1 alors le micro accde la 2me mmoire.
Les adresses extrmes sont:

4000H et 5FFFH.

23

Dcodage dadresse:
Les bits A15, A14 et A13 nous ont permis dadresser 3 mmoires de 8 ko.
En fait, il est possible avec les mme 3 bits, daccder 8 (23 ) mmoires de 8
ko en effectuant un dcodage dadresses. Ceci est le maximum thorique
permis avec 16 bits.
En effet: 8 * 8 = 23 * 213 = 216 = 64 ko.
Pour cela on utilise un circuit dcodeur avec
3 entres: A13, A14 et A15
8 sorties: une des 8 sorties est active
selon la valeur de A15 A14 A13.
Si par exemple A15 A14 A13 = 010, la 2me sortie va activer la 2me
mmoire.
Adresses des 8 mmoires:
Mm 0: 0 1FFFH

Mm 4: 8000H et 9FFFH

Mm 1: 2000H et 3FFFH

Mm 5: A000H et BFFFH

Mm 2: 4000H et 5FFFH

Mm 6: C000H et DFFFH

Mm 3: 6000H et 7FFFH

Mm 7: E000H et FFFFH

24

Augmentation de la longueur des mots:


La figure suivante montre qu'il est ais d'associer deux botiers de 2k mots
de n bits pour obtenir un bloc de 2k mots de 2 n bits. L'adressage doit tre
appliqu simultanment aux deux circuits, l'un fournissant les n bits de bas
poids et l'autre les n bits de haut poids.

25

Augmentation du nombre de mots


De mme la figure suivante montre la ralisation d'un bloc de 4 x 2k mots
de n bits l'aide de 4 botiers de 2k x n bits. Il nous faut k+2 lignes d'adresse.
Les k bits de bas poids de l'adresse sont appliqus simultanment sur les 4
botiers. Les deux bits de haut poids attaquent un dcodeur quatre sorties.
Chacune de ces quatre lignes permet de slectionner un botier (entre de
validation du botier : CS). Un seul botier est alors connect aux lignes de
sortie.

26

Exemple:

On dispose des boitiers RAMs de 1Koctets. Donner le cblage pour raliser


une mmoire de 4Koctets.
Lignes de dcodage

Lignes d@

RAM1

RAM2

RAM3

RAM4

27

TD1
Un systme microprocesseur comprend:

Une RAM de 8KO (2 boitiers de 4KO ).


Une EPROM1 de 4KO

Une EPROM2 de 8KO

Les CSi des boitiers RAM et les OEi des boitiers EPROM sont
valides sur un niveau bas.
On donne:

L@i de la RAM1 est $0000

L@i de la RAM2 Just aprs l@f de la RAM1

L@i de lEPROM1 Just aprs l@f de la RAM2

L@i de lEPROM2 Just aprs l@f de lEPROM1.

Complter le tableau ci-dessous


28

A A A A A A A A A A A A A A A A
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

@Hex

@i
RAM1

@f
@i

RAM2

@f
@i

EPRO
M1 @f
@i
EPRO
M2 @f

29

TD2
Un systme microprocesseur comprend:

Une RAM de 8KO (2 boitiers de 4KO ).


Une EPROM1 de 4KO

Une EPROM2 de 8KO

Un dcodeur 1 parmi 4dont les sorties sont actives sur un niveau


bas
Les CSi des boitiers RAM et les OEi des boitiers EPROM sont
valides sur un niveau bas.
On donne:

L@i de la RAM1 est $0000

L@f de lEPROM2 est $FFFF

Complter le tableau ci-dessous


30

A A A A A A A A A A A A A A A A
1 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
5

@Hex

@i
RAM
1
@f
@i
RAM
2
@f
@i
EPR
OM1 @f
@i
EPR
OM2 @f

31

Les deux familles de mmoires vives


Pour raliser le point mmoire on dispose de deux techniques. On peut utiliser
des bascules qui garantissent la mmorisation de l'information aussi
longtemps que l'alimentation lectrique est maintenue sur la mmoire. Ces
mmoires sont dites RAM statiques (SRAM).
Dans les RAM dynamiques (DRAM) l'lment de mmorisation est
constitu par un condensateur et un transistor effet de champ (gnralement
ralis en technique MOS).. L'information est mmorise sous la forme d'une
charge lectrique stocke dans le condensateur. Cette technique permet une
plus grande densit d'intgration. Par contre, du fait des courants de fuite le
condensateur a tendance se dcharger. C'est pourquoi les RAM dynamiques
doivent tre rafrachies rgulirement pour entretenir la mmorisation : il
s'agit de lire l'information avant qu'elle n'ait totalement disparu et de la
recharger.

32

Remarque:
En gnral les mmoires dynamiques, qui offrent une plus grande densit
d'information et un cot par bit plus faible, sont utilises pour la mmoire
centrale, alors que les mmoires statiques, plus rapides, sont utilises pour
les caches et les registres.

33

Cycles de fonctionnement des mmoires


Deux paramtres caractrisent la vitesse d'une mmoire. Le temps d'accs
(ta) reprsente le temps qui spare une demande de lecture et l'obtention de
l'information. Le temps de cycle (tc) correspond l'intervalle de temps
minimum qui spare deux demandes successives en lecture ou criture.
Cycle de lecture
C'est le plus simple des cycles. La procdure, schmatise sur la figure ,
consiste :
- tablir l'adresse;
- Afficher la fonction de lecture;
- Slectionner le ou les botiers ncessaires;
- Aprs un certain dlai, l'information apparat sur la sortie qui passe en
basse impdance. L'information reste prsente jusqu' la fin du cycle.
34

35

Cycle d'criture
La procdure d'criture consiste :
- tablir l'adresse;
- Slectionner le ou les botiers ncessaires;
- tablir la donne sur l'entre;
- tablir une impulsion d'criture.

36

3-Interfaced'E/S:
Elle permet au systme programmable de communiquer avec son environnement
(recevoir des ordres et donnes, fournir des commandes ou rsultats,).
On dsigne par interface,des circuits responsables de la gestion des signaux dE/S entre un
P et son environnement. On trouvera en gnral:
1.

interfaces parallles pour la connexion des E/S (signaux logiques).

2.

interfaces sries pour la communication.

3.

convertisseurs analogique/numrique pour le traitement de signaux analogiques.

4.

timers pour gnrer ou mesurer des signaux priodiques (signaux rectangulaires).

Accessibles sur des broches du circuit (ports).


Des registres spcialiss situs dans l'espace adressable (pas d'instructions spciales)
permettent de lire o dcrire des valeurs sur les ports et de programmer
les interfaces (par exemple la cadence de transmission de la ligne srie).
37

Description Matrielle du Microcontrleur Motorola


68HC11
Tous les circuits de la famille 68HC11 (de Motorola) sont construits partir du mme
noyau de base. Ce noyau contenant toutes les fonctionnalits et tous les modes
dutilisation de ces circuits. Notre tude est faite autour de la rfrence 68HC811E2
(tableau I).
Pour utiliser nimporte quel circuit 68HC11 il suffira donc de se procurer la fiche
technique rsume correspondant la rfrence retenue, fiche technique qui permettra
essentiellement de connatre son brochage, le nombre et la taille de ses ressources
internes.

38

Rfrence

RAM

ROM

EPROM

EEPROM

Commentaire

68HC11A8

256

8K

512

Le composant de base de la famille

68HC11A1

256

512

A8 avec ROM inhibe

68HC11A0

256

68HC11E9

512

12k

512

A8 avec plus de mmoire

68HC711E9

512

12k

512

E9 avec EPROM

68HC11E1

512

512

E9 avec EPROM inhibe

68HC11E0

512

68HC11E20

768

20k

512

E9 avec plus de RAM et ROM

68HC711E20

768

20k

512

E20 avec EPROM

68HC811E2

256

2k

E1 avec plus dEEPROM

68HC11F1

1K

512

Bus non multiplex

A8 avec ROM et EEPROM inhibes

E9 avec ROM et EEPROM inhibes

Tab 1: quelques versions de la famille 68HC11

39

Le microcontrleur 68HC11 peut fonctionner avec des horloges allant jusqu 12MHz.
Tous les registres tant statiques, une coupure dhorloge nentrane pas de perte de
donne.
Le 68HC11 construit autour dune unit centrale 8 bits. Il intgre de puissant
priphriques :
Ports parallles
Port de communication srie asynchrone (SCI)
Port de communication synchrone (SPI)
Ports analogiques
Timers trs complts
Chien de garde
Gnration dinterruptions temps rel
Jusqu 12Ko de ROM ou dEPROM
Jusqu 1Ko de RAM
Jusqu 8Ko dEEPROM

40

I-1-Brochageetstructureinterne68H11Ex:
Le 68HC11 est disponible suivant les versions en boitier DIL ou PLCC (figure 2 et figure 3). Le
modle fonctionnel du 68HC11 Ex est donne ci-dessous (figure 1). Des blocs fonctionnels
peuvent tre diffrents ou absents dans certaines versions.

41

Figure 1: Structure interne 68HC11 Ex

42
Figure 2: Brochage du 68HC11 Ex en boitier PLCC.

43

Figure 3: Brochage du 68HC11 Ex en boitier DIl.

I-2-Modedefonctionnementetdescriptiondessignaux:
VDD (+5 volts) et VSS (masse) : alimentation du boitier
Reset: permet de rinitialiser le circuit. En sortie, elle indique quun disfonctionnement a
t dtect en cours de fonctionnement par le chien de garde (watchdogs COP). Cette
sortie est de type drain ouvert.
EXTAL et XTAL : constituent linterface de connexion avec le quartz dfinissant la
frquence dhorloge.
E : sortie dhorloge systme dont la frquence est celle du quartz divis par 4.
MODA/ LIR et MODB/Vstby: Lors dun Reset du circuit, ces broches permettent de

slectionner un des quatre modes de fonctionnements du circuit (tableau 2).


MODB
0
0
1
1

MODA
0
1
0
1

Mode
Normal : circuit seul
Normal : mode tendu (multiplex)
Spcial : BOOTSTRAP
Spcial : TEST

Tab 2: Modes de fonctionnement du 68HC11

44

Configuration de la mmoire pour un 68HC811E2

45

Mode single chip (circuit seul): Le programme excuter se trouve dans les 512 octets
dEEPROM, qui sont alors forcs en $FE00 -$FFFF, et le MCU na pas de bus externe; toutes
les broches sont donc disponibles en tant que fonctions priphriques.
Mode tendu:

Le MCU peut adresser les 64 Ko de la zone adressables. Loctet de poids fort

de ladresse est plac sur le port B. loctet de poids faible et les donnes sont multiplex sur le
port C. la ligne AS (adresse strobe: STRA) signal la prsence de loctet de poids faible dadresse
sur le port C. la broche R/W (STRB) dfinit le sens de transfert des donnes ( AS=0: Port C
donne).
Mode Bootstrap: Dans ce mode, le MCU excute peu aprs la mise sous tension un
programme en (ROM) de tlchargement en (RAM) par la liaison srie, puis le MCU se branche
soit en $FE00 (EEPROM), soit sur le programme de tlcharg en RAM, ladresse $0000.
Mode test: Ce mode est rserv aux tests en usines, ou la programmation de lEEPROM, en
vue de personnaliser le MCU.
La sortie LIR peut tre utilise comme aide au dbogage matriel de lapplication (consulter
le registre dinstruction), alors que lentre Vstby permet de sauvegarder le contenu de la RAM en
mode faible consommation (la tension tombe en dessous de 0.7).

46

VRL et VRH : entres des tensions de rfrences basse et hautes du convertisseur


analogique/digital interne.
STRB/R/W : En mode circuit seul, STRB est une ligne de strobe ou validation de
donnes. En mode multiplex, la ligne vhicule le signal lecture/criture.
STRA/AS: en mode simple circuit, elle sert aussi de ligne de strobe. En
mode tendu, elle vhicule le signal AS (adress strobe)qui sert
dmultiplexer adresses et donnes.
IRQ: entre de demande dinterruption masquable externe.
XIRQ: entre de demande dinterruption non masquable externe

47

PA0 PA7 (entres et/ou sorties) : entres (PA0, PA1, PA2), sorties (PA3, PA4, PA5,
PA6) et lentre/sortie (PA7) du port A. Elles sont partages avec les lignes du
timer : PA0 PA2 sont aussi les entres de capture IC3 IC1 du timer, PA3 PA6
sont aussi les sorties de comparaison OC1 OC5 du timer tandis que PA7 peut tre
configur comme entre de capture ou sortie de comparaison. Si le timer
accumulateur dimpulsions est utilis, cest galement PA7 qui lui sert dentre.
PC0 PC7 : Entres/sorties parallles usage gnral en mode circuit seul. En
mode tendu, elles deviennent les lignes o circulent les donnes et les huit bits de
poids faibles des adresses. La ligne AS dont le rle est alors tenu par la patte STRA
indique alors si le port C vhicule des adresses (AS=0) ou des donnes (AS=1). Le
rle de la ligne lecture criture est tenu quant lui par la patte STRB.
48

Cblage de base en mode tendu

49

PD0 PD5 : entres/sorties parallles du port D qui sont communes avec les lignes des
ports srie de la SPI et de la SCI.
PE0 PE7 : entres unidirectionnelles du port parallle E. elles sont partages avec les
entres du convertisseur analogique/digital.
PB0 PB7 : sorties parallles en mode circuit seul et vhiculent les 8 bits de poids forts
des lignes dadresses en mode tendu. Les remarques faites pour le port C sappliquent
aussi ici.
Le tableau n3 donne un rsum sur le rle des diffrents signaux des ports du 68HC11.

50

Tab 3: fonction des


signaux des ports
68HC11

51

I-3-Programmationdelunitcentralde68HC11
Le 68HC11 possde une unit centrale 8/16bits. Il reconnat des, pour certains
instructions, des mots de 16bits.

52

53

Fonctionnement de la pile :

54

C ( Carry : Retenue ) : est mis 1 lorsque le rsultat de linstruction gnre une


retenue.
V ( OVerflow = dbordement ) : positionn 1 lorsque lopration arithmtique a
gnr un dbordement de laccumulateur utilis.
Ex :

LDAA #255
INCA

ici A=0 et V=1

Z ( Zro ) : passe 1 lorsque le rsultat de linstruction est nul.


N ( Ngatif ) : positionn 1 si le rsultat de la dernire opration arithmtique
ralise est ngative, cest dire lorsque le bit de poids fort vaut.
H ( Half Carry = demi retenue ) : utilis lors des calculs DCB ( Dcimal Cod
Binaire ).

I ( Interrupt mask = masque dinterruption ) : ce bit inhibe les interruptions


lorsquil vaut 1.
X ( XIRQ interrupt mask) : de la mme manire, X inhibe linterruption XIRQ
lorsquil vaut 1.
S ( Stop ) : positionn 1, lexcution de linstruction STOP est remplace par
un NOP.

55

Les modes dadressages:


Les mthodes utilises par le c pour manipuler une donne connue lavance
ou contenue dans un emplacement mmoire.

Adressage inhrent: il ny a pas doprande. Ex: CLRA, COMA, ABA, RTS,


Adressage immdiat: la donne traiter se trouve immdiatement aprs
linstruction. Le signe caractristique est le dise : #.

Ex:

Adressage tendu: La donne utile se trouve ladresse dfinie par loprande


de linstruction.

Ex : LDAA $3000, STAA $3002, STX $1100

Adressage direct: la donne est repre laide dune adresse effective sur
8bits $00 et $FF (256 premiers octets de lespace mmoire adressable par
le c.
LDAA $01
Adressage tendu: ladresse de la donne est sur 16 bits ($0000 et $FFFF)

STAB $2000, STY $1000.

56

Adressage index: ladresse de la donne est le rsultat de la somme du


contenu de lun des registres index et 1 octet compris entre $00 et $FF.
LDAA $29,Y
Adressage relatif: cet adressage est rserv aux instructions de branchement.
Le calcul de ladresse de linstruction excuter est dtermin en ajoutant au
contenu du PC la valeur du dplacement.

Ex:

$1000
$1002

LDAA #$ 45
Etiquette

DECA

$1003

BNE Etiquette

$1005

STAA $1000

Le dplacement est le rsultat en complment 2 de la soustraction


entre $1005 et $1000 (dplacement = $FD).

Positionnement de bit: on peut modifier la valeur dun ou plusieurs bits dans


une case mmoire par les instructions BSET(mise 1) et BCLR (mise 0).
BCLR $00 $03
Masque
Les bits 0 et 1 du masque = 1, donc Les bits 0 et 1 de la donne
stocke ladresse $0000 seront mis 0

Adresse de la donne
57

Test sur bit et branchement: on effectuer des tests sur un ou plusieurs bits dans une
case mmoire et effectuer ou non un branchement en fonction de ltat de ce(s) bit(s).

BRESET

$10
Adresse

$80

$12

Masque

Dplacement

Si le bit 7 du contenu de la case mmoire $0010 est 1, le c se dplace de $12 (18


octets) et excutera linstruction correspondante.

58

Le jeu dinstruction du 68HC11:

TD 3

59

You might also like