Vous êtes sur la page 1sur 146

1

Contrle informatis dune chaine de production


Rseaux locaux industriels

Contrle automatis dune unit de production

Contrle automatis dune unit de production


Capteur fluidique de proximit

Contrle automatis dune unit de production


Capteur fuite

Contrle automatis dune unit de production


Capteur fuite

Contrle automatis dune unit de production


Capteur capacitif

Contrle automatis dune unit de production


Capteur inductif

Contrle automatis dune unit de production


Capteurs optiques

Systme barrage

Systme reflex

10

Systme de proximit (rflexion directe)

Contrle automatis dune unit de production


Codeur rotatif incrmental

11

Contrle automatis dune unit de production


Codeur rotatif absolu

12

Contrle automatis dune unit de production


Exemples de practionneurs

13

Contrle automatis dune unit de production


Fonctions des actionneurs

14

Contrle automatis dune unit de production


Actionneurs courants

15

Contrle automatis dune unit de production


Effecteurs courants

16

Contrle automatis dune unit de production


Exemples dAPI (Automates programmables industriels)

17

Contrle automatis dune unit de production


APIs modulaires

18

Automate Programmable Industriel


Principaux constructeurs
ABB (Sude)
ALLEN-BRADLEY (Etats Unis)
ALSTHOM/CEGELEC (France)
FUJI ELECTRIC (Japan)
GENERAL ELECTRIC-FANUC (Etats Unis / France)
Hitachi (Japan)
HONEYWELL (Etats Unis)
MITSUBISHI (Japan)
OMRON (Etats Unis)
SIEMENS (Allemagne)
TOSHIBA (Japan)
GROUPE SCNEIDER (Allemagne)
GOULD/MODICON (Etats Unis)
MERLIN GERIN (France)
SQUARE D (Etats Unis)
TELEMECANIQUE (France).

Automate Programmable Industriel


Cycle de fonctionnement

Lecture des entres


Excution du programme
Traitement des
demandes de
communication
Excution des autotests
Ecriture des sorties

20

Automate Programmable Industriel


API Siemens S7-200(CPU 222)
Bornes de sortie
Bornes
de sortie

Alimentation

Slecteur de mode
Stop, Term, Run
Connecteur pour
module dextension
Potentiomtre
analogique

Interface de
programmation

21

Bornes dentre

Sorties dalimentation pour


capteurs 24Vcc/180mA

Automate Programmable Industriel


Exemple de programme en langage Ladder

22

Famille des automates Siemens S7-200


Caractristiques

CPU221

CPU222

CPU224

CPU226

CPU226XM

Dimensions (mm)

90*80*62

120.5*80*62

190*80*62

190*80*62

190*80*62

Mmoire de programme

4096 octets

4096 octets

8192 octets

8192 octets

16384 octets

Mmoire de donnes

2048 octets

2048 octets

5120 octets

5120 octets

10240 octets

Sauvegarde de la mmoire

50 heures

50 heures

50 heures

50 heures

50 heures

E/S intgres locales

6E / 4S

8E / 6S

14E / 10S

24E / 16S

24E / 16S

Modules dextension

0 module

2 modules

2 modules

2 modules

2 modules

Compteurs rapides
Une phase
Deux phases

4 30 kHz
2 20 kHz

4 30 kHz
2 20 kHz

4 30 kHz
2 20 kHz

4 30 kHz
2 20 kHz

4 30 kHz
2 20 kHz

Sorties dimpulsions (CC)

2 20 kHz

2 20 kHz

2 20 kHz

2 20 kHz

2 20 kHz

Potentiomtres analogiques

Horloge temps rel

Cartouche

Cartouche

Intgre

Intgre

Intgre

Interfaces de communication

1 RS-485

1 RS-485

1 RS-485

1 RS-485

1 RS-485

Virgule flottante

Oui

Taille de la mmoire image


dE/S TOR

256 (128 Entres, 128 sorties)

Vitesse dexcution boolenne

0.37 microseconde/opration

AFFICHEUR DE TEXTE TD200

Figure 3.4. Afficheur tactile TP070

Espace de donnes des automates S7-200

Mmoire de donnes
Mmoire des variables globales (V)

Mmoire des variables locales (L)

Objets de donnes
Temporisations (T)

Mmoire image des entres (I)

Compteurs (C)

Mmoire image des sorties (Q)

Entres analogiques (AI)

Mmentos internes (M)

Sorties analogiques (AQ)


Accumulateurs (AC)

Mmentos spciaux (SM)


Compteurs rapides (HC)
Relais squentiels SCR (S)

Accs aux donnes dans les API S7-200


M1.5

M0
M1
M2
M3
M4
M5
M6
M7
M8
M9
28

MB4

MW4
MD4

Exemples de rseaux
Rseau 1
M0.0

MOV_B
EN ENO
VB100 IN
0

OUT QB1

Rseau 1
SM0.1

MOV_B
EN ENO

Rseau 2
M0.1

MOV_B
EN ENO
IB0 IN

OUT QB0

Programme 3.3. Accs par octet la


mmoire Q

29

16#09 IN

OUT

SMB30

Programme 3.4. Initialisation dun registre


de commande de linterface 0 de
communication srie

Accs aux accumulateurs


MOV_B

Rseau 1
I0.0
AC2
Rseau 2
I0.1

EN

ENO

IN

OUT VB200

EN

ENO

IN

OUT VW100

Rseau 3
I0.2

INV_D

AC3

EN

ENO

IN

OUT VD250

Programme 3.5. Accs aux accumulateurs

AC2 (Accs en octet)


15

DEC_W

AC1

30

AC1 (Accs en mot)


31

AC3 (Accs en double mots)


Figure 3.7. Bits accds des diffrents
accumulateurs par le programme 3.5

Exercice
1- Donnez le programme en langage Ladder form des
trois rseaux suivants:
Rseau 1: Lorsque M0.0=0, ce rseau transfre le
contenu du double mot mmoire VD150 dans le double
mot mmoire LD100, lui retranche 1 et le range dans le
double mot mmoire suivant et range la valeur
hexadcimale 160A5020 dans le double mot daprs.
Rseau 2: Range dans la case mmoire V50 loctet
compos sur les entres (I0.0 . I0.7) lorsque lentre
I2.0=1, il range aussi une copie dans AC0.
Rseau 3: Affiche le mot rang dans VW120 sur 16
diodes LED montes en cathode commune sur les sorties
(Q0.0 . Q1.7) lorsque I2.1=0.
2- Comment devient le rseau 3 si les diodes sont
branches en anode commune?
31

LES COMPTEURS
Les compteurs incrmentaux
Rseau 1

Cxx

I0.0
CU

I0.1

CTU

CU : I0.0
R : I0.1

5
4

4 PV
Rseau 2
Cxx

Cxx
(courante)

3
2
1

Q0.0

Programme 3.7. Exemple dapplication


dun compteur incrmental

Cxx (bit) : Q0.0

Chronogramme 3.1. Signaux gnrs


par le programme 3.7

nts sur les fronts montants de CU.


Cxx (courante) PV, Cxx(bit) est activ.
urante) est remise zro lorsque lentre R est active ou que lopration Mettre 0 est
teur incrmental arrte le comptage lorsquil atteint la valeur maximale 32767.
e sous tension, Cxx(bit)=0 et la valeur en cours peut tre conserve.
32

LES COMPTEURS
Les compteurs dcrmentaux
Rseau 1
I0.0

CD
I0.1

CTD

LD
3

PV

Rseau 2
C1

Q0.0

Programme 3.8. Exemple dapplication


dun compteur dcrmental

Chronogramme 3.2. Evolution de la


valeur courante et du bit de comptage
suivant les entres (Programme 3.8)

ents sur les fronts montants de CD.


Cxx (courante) = zro, Cxx (bit) est activ.
entre de chargement LD est active, le compteur remet Cxx (bit) 0 et charge PV dans C
eur sarrte lorsquil atteint zro et le bit de compteur Cxx est alors mis 1.
sous tension, Cxx (bit)=0 et la valeur en cours peut tre conserve.
33

LES COMPTEURS
Les compteurs incrmentaux/dcrmentaux
Incrments sur les fronts montants de CU et dcrments

sur les fronts montants de CD


Rseau 1

C48

I0.0
CU

CTUD

I0.1
CD
I0.2
R

4 PV
Rseau 2
C48

34

Q0.0

Programme 3.9. Exemple dapplication


dun compteur incrmental/dcrmental

Chronogramme 3.3. Evolution de la valeur courante et du


bit de comptage suivant les entres (Programme 3.8)

LES TEMPORISATEURS

35

LES TEMPORISATEURS

36

37

38

39

Exercice

Rseau 1
I1.0

On considre le programme de la figure 2 et


on considre les signaux dentre donns dans
la figure 1. Donner sur cette mme figure 1 les
signaux de sortie.
I1.0

IN

I0.5

Rseau2
T38

Q0.0

C4
8
CU CTUD

I0.
5

CD

I0.
6

I0.6

3
Rsea
u 4C48

Q0.0

>
5

Q0.1

Rse 5
au C48

Q0.2
1min

2min

TOF

300 PT

Rsea
u 3 I0.
4

I0.4

40

T38

PV

Q0.1

Q0.2

3min

Figure 1. Evolution des signaux


dentre et de sortie dun

Figure 2. Programme de
temporisation

Les contacts et les bobines

41

Les contacts et les bobines

42

Les contacts et les bobines


(Solution)

43

Blocs bistables avec mise 1 ou 0


prioritaire

44

Oprations de comparaison

45

Comparaison de chanes

46

Oprations arithmtiques

47

Oprations arithmtiques
(sur des entiers)

48

Oprations arithmtiques
(sur des rels)

49

Oprations arithmtiques
(multiplication et division)

50

Oprations arithmtiques
(multiplication et division)

51

Oprations numriques sur des rels

52

Oprations numriques sur des rels

53

Oprations dincrmentation et de dcrmentation

54

Oprations dincrmentation et de dcrmentation

55

Combinaisons logiques

56

Combinaisons logiques

57

Oprations de transfert

58

Transfert en bloc

59

Dcalage et rotation

60

Dcalage et rotation

61

Exercice
On considre le rseau suivant dun
programme S7200
Programme en LADDER

Programme en
LIST

.
.
.

Adress
e
(dcima
10
l)
11

Contenu
(hexa)

12

55

13

E3

14

7F

00
20
Tableau
1

.
.
.
.
.

110
111
112

113

114

115

116
117
118
119

On suppose que les cases mmoire V sont


comme dcritdans le tableau 1. Remplissez le
tableau 2 par les rsultats de lexcution du
62 rseau 1.

120
121
122

Tableau
2

Oprations sur registre dcalage

63

Oprations sur registre dcalage

64

Oprations sur chanes

65

Tables : Insertion des donnes

66

Tables: Extraction des donnes


(FIFO)

67

Tables: Extraction des donnes


(LIFO)

68

Tables : Initialisation

69

Formats de tables

70

Chercher dans table

71

Exercice : Cration dune table


Donnez le programme permettant de crer une table de 20 entres. Le
premier emplacement de mmoire de la table contient la longueur de la
table (dans ce cas, 20 entres). Le deuxime emplacement de mmoire
contient le nombre en cours dentres dans la table. Les autres
emplacements contiennent les diffrentes entres. Une table peut
comporter jusqu 100 entres. Cela ninclut pas les paramtres
dfinissant la longueur maximale de la table ou le nombre effectif
dentres (ici VW0 et VW2). La CPU incrmente ou dcrmente
automatiquement le nombre effectif dentres dans la table (ici VW2)
chaque commande.
Avant de travailler sur une table, on dfinit le nombre maximal dentres
de la table. Sinon, on ne peut pas insrer dentres dans la table. Aussi,
toutes les commandes de lecture et dcriture doivent tre actives sur
front.
Lindice (VW106) doit tre dfini 0 avant de commencer une recherche
dans la table. Si une occurrence est trouve, lindice sera gal au numro
de lentre de table correspondante ; en revanche, en labsence
doccurrence correspondante, lindice sera gal au nombre dentres en
cours pour la table (VW2).
72

Programme de cration dune


table

73

1-Donnez un Exercice
programme S7-200 qui ajoute 8
au mot mmoire VW100 et enregistre le
rsultat sur 16 bits dans le mot VW102. Ce
mot est divis par la suite par 5, le quotient
est rang dans le mot mmoire VW112 et le
reste est rang dans le mot VW110. Cette
opration est ralise chaque fois quon
appuie sur un bouton poussoir fermeture
reli lentre I2.0.
2-Donnez un programme S7-200 qui ralise la
fonction (x+8)/5 sur le mot VW10 et range le
rsultat comme suit: le quotient dans VW20
et le reste dans VW30.
74

Exemple

75

Exemple

76

Exemple
Exemple

77

Exemple

78

Exemple

79

Exemple: Formalisme du problme

80

Exemple: Formalisme du
problme

81

Exemple: Formalisme du problme

82

Exemple: Formalisme du problme

83

Exemple: Formalisme du
problme

84

Exemple: Formalisme du problme

85

Exemple: Formalisme du problme

86

Un affichage Exercice
publicitaire est ralis sur un
panneau contenant 32 lampes command par
un automate S7200. Chacune des lampes est
commande par une sortie logique Qi.j, i=0
3, j=07. Lorsquun bouton de marche
fermeture reli I0.0 est appuy, le systme
prend le nom de lentreprise partir de 4
cases successives de la mmoire et laffiche
comme suit: V10.0 Q0.0 V13.7 Q3.7.
Par la suite, lautomate fait tourner laffichage
de 8 pas vers la gauche chaque demi-seconde.
Laffichage est arrt et les lampes sont
teintes lorsquon appuie sur un bouton darrt
ouverture branch I0.1. Donnez un
87
programme en langage Ladder permettant cet

Oprations SCR (relais squentiels)


Lopration Charger relais squentiel (LSCR) signale le dbut

dun segment SCR et lopration Fin de relais squentiel


(SCRE) signale la fin dun segment SCR. Toute la logique entre les
oprations LSCR et SCRE dpend de la valeur de la pile SCR pour
son excution. La logique entre SCRE et lopration LSCR
suivante ne dpend en aucune faon de la valeur de la pile SCR.
Lopration Changement de relais squentiel (SCRT) permet de
passer la main dun segment SCR actif un autre segment SCR.
Lexcution de lopration SCRT en prsence dun flux de signal
remet 0 le bit S du segment actuellement actif et met 1 le bit
S du segment rfrenc.
La remise 0 du bit S du segment actif naffecte pas la pile SCR
au moment o lopration SCRT sexcute. Ainsi, le segment SCR
reste excit jusqu ce quon le quitte.

88

Exemple : Oprations SCR


Dans lexemple suivant, le
mmento Premier cycle
(SM0.1) met S0.1 1, ce
qui sera ltat 1 actif lors
du premier cycle. Aprs
un retard de 2 secondes,
la temporisation T37
provoque une transition
ltat 2. Ce changement
dsactive le segment SCR
Etat 1 (S0.1) et active le
segment SCR Etat 2
(S0.2).
89

Divergence dun graphe


squentiel
Il est possible de raliser une
divergence du graphe squentiel
dans un programme SCR en
utilisant plusieurs oprations
SCRT valides par la mme
condition de transition, comme
illustr dans lexemple ci contre

90

Convergence de branches
On parle
de convergence de
squentielles
branches lorsque deux
branches squentielles ou
plus doivent fusionner en un
graphe squentiel unique.
Dans ce cas, toutes les
branchesen entre doivent
tre acheves avant
lexcution de ltat suivant.

91

Divergence dun graphe squentiel en


fonction dune condition de transition
un graphe squentiel peut tre dirig
vers une branche squentielle parmi
plusieurs possibles, selon la condition
de transition qui devient vraie en
premier. Une telle situation est dcrite
dans la figure ci contre qui montre un
programme SCR quivalent.

92

93

94

95

Si le systme nest pas arm, le programme fait


clignoter le tmoin lumineux (Q0.0) lorsque le contact
pour la zone 1 (I0.0) ou le contact pour la zone 2 (I0.1)
est ouvert.

96

97

Lorsque le systme est arm (cl sur la position En


fonction ou Arm, ce qui active I0.2), le programme doit
dmarrer une temporisation de retard qui donne au
propritaire 90 secondes pour quitter la maison. Pendant ce
temps de retard, le programme ne ragit pas lorsque le
contact pour lune ou lautre zone (I0.0 ou I0.1) souvre.

Deux actions sont possibles une fois la squence de


notification lance :
Si le propritaire dsarme le systme (en tournant la
cl sur Hors fonction ou Dsarm, ce qui
dsactive I0.2), le programme met les sorties zro
(Q0.0 et Q0.2) et remet les temporisations zro.

98

le systme na pas t dsarm dans un intervalle


de 60 secondes, le programme active lalarme et le
composeur du modem (Q0.1 et Q0.3).

99

Si lalarme durgence (I0.3) est active, le programme


active lalarme et le composeur du modem (Q0.1 et
Q0.3). Il agit ainsi indpendamment de ltat du
commutateur
darmement/dsarmement
(I0.2)
et
nexcute pas, dans ce cas, la squence de notification
qui fournit un temps de retard permettant de dsarmer
le systme.

100

Si le systme est dsarm (cl sur Hors fonction


ou Dsarm , ce qui dsactive I0.2) aprs
activation de lalarme (Q0.1), le programme
dsactive les sorties (Q0.1 et Q0.3) et remet les
temporisations zro.

101

102

Comme les sorties sont mises 1 directement, le programme se


sert des mmentos (M) pour sauvegarder les rsultats de la logique
de commande (figure 3-9). A la fin du programme, ces bits mettent
les sorties 1 ou 0.

Le langage LIST
Les contacts et les bobines

a -LADDER

b- LIST
Figure 3.17. Les contacts en LIST
103

a-LADDER

b- LIST

Figure 3.18. Les bobines en LIST

Le langage LIST
Les contacts et les bobines
Actions des instructions de contact sur la pile

104

Le langage LIST
Les contacts et les bobines

Traduction en langage LIST dun programme crit en schma de contact


NETWORK 1
LD I0.0
A
I0.1
=
Q0.0
NOT
=
Q0.1
NETWORK 2
LD I0.2
ON I0.3
=
Q0.2
NETWORK 3
LD I0.4
LPS
EU
S
Q0.3, 1
=
Q0.4
LPP
ED
R
Q0.3, 1
=
Q0.5
105

Le langage LIST
Les contacts et les bobines
Oprations sur pile

106

Le langage LIST
Les contacts et les bobines
Exemples dapplication des oprations sur pile

107

Le langage LIST
Les oprations sur compteurs

108

Le langage LIST
Les oprations sur temporisateur

109

Le langage LIST
Les oprations sur temporisateur

110

Le langage LIST
Les oprations de comparaison

111

Le langage LIST
Les oprations de comparaison

112

Le langage LIST
Exercice 3 : Un bouton poussoir fermeture est reli
lautomate par sa ligne dentre I0.0. Sur chaque front
montant de I0.0, lautomate multiplie par 16 la valeur de
lentre analogique AIW0, lui ajoute le contenu du
double mot VD100. Si la somme est suprieure 1
million, une lampe branche Q0.0 est allume ; sinon
cette lampe est teinte. Donnez ce programme en
schma de contacts et en LIST.

113

Le langage LIST
Rseau 1
MUL

I0.0
P

EN

ENO

AIW0 IN1

OUT

VD104

16 IN2
ADD_DI

VD100
VD104
Rseau 2
VD100

Q0.0

>D
1000000
Rseau 3
END

114

EN

ENO

IN1

OUT

IN2

VD104

Programme en
LIST
LD I1.0
EU
MOVW AIW0, VW106
MUL
16, VD104
+D VD100, VD104
LDD> VD100, 1000000
= Q0.0
END

Reprsentation des nombres rels


Les nombres rels (ou nombres virgule flottante) sont
reprsents sous forme de nombres de 32 bits simple prcision
dont le format est dcrit dans la norme ANSI/IEEE 754-1985 (voir
figure 3.10). On y accde sous forme de doubles mots. En ce qui
concerne le S7-200, les nombres virgule flottante prsentent
une prcision de 6 chiffres aprs la virgule. Vous pouvez donc
indiquer 6 chiffres dcimaux au maximum lorsque vous entrez
une constante virgule flottante.
Exemple: -3.1452 E5 S=1, Exposant=5 et Mantisse=31452.
31 30
Signe

23 22

S Exposant

0
Mantisse

Figure 3.10. Format dun nombre rel

115

Le langage LIST
et les nombres rels
Exercice 4 : Aprs chaque cinq fronts montants sur lentre I0.0, le
programme lit le contenu de lentre analogique AIW1 qui est langle
fait par un arbre en degrs. Le programme calcule le reste de la
division de langle par 360, il le transforme par la suite en un nombre
rel pour lui appliquer la fonction sinus. Selon le sinus de langle :
- Sil [-1, -0.5[, le programme allume la lampe branche Q0.0,
- Sil [-0.5, 0[, le programme allume la lampe branche Q0.1,
- Sil [0, 0.5[, le programme allume la lampe branche Q0.2,
- Sil [0.5, 1], le programme allume la lampe branche Q0.3.

Calcul sinus, Calcul cosinus et Calcul tangente : Les oprations


Calcul sinus (SIN), Calcul cosinus (COS) et Calcul tangente (TAN)
valuent la fonction trigonomtrique de la valeur dangle IN et
placent le rsultat dans OUT. La valeur de langle dentre doit tre
exprime en radians.
N.B. Pour convertir un angle de degrs en radians : multipliez langle
en degrs par 1.745329E-2 (approximativement par /180) laide
116
de lopration MUL_R (*R).

Rseau 1
I0.0

C10
CU

M0.0

Solution

CTU

R
5
Rseau 2
C10

Rseau 3
VD100
<R

Q0.0

-0.5
Rseau 4

PV
DIV
EN

AIW1 IN1
360 IN2

ENO
OUT AC0
I_DI

EN

ENO
OUT AC1

AC0 IN

DI_R
EN
AC1 IN

ENO
OUT AC2

VD100
R

VD100

-0.5

<R

Rseau 5
VD100

VD100

<R

0.5

Rseau 6
VD100

Q0.3

R
0.5

MUL_R
EN
AC2 IN1
1.745329E-2 IN2

ENO
OUT AC3
SIN

EN

117

AC3 IN

ENO
OUT VD100

Rseau 7
C10

Rseau 8

Q0.1

M0.0

END

Q0.2

Rseau 1
I0.0

C10
CU

M0.0

Solution

CTU

R
5
Rseau 2
C10

PV
DIV
EN

AIW1 IN1
360 IN2

ENO
OUT AC0
I_DI

EN

ENO
OUT AC1

AC0 IN

DI_R
EN
AC1 IN

ENO
OUT AC2

MUL_R
EN
AC2 IN1
1.745329E-2 IN2

ENO
OUT AC3
SIN

EN

118

AC3 IN

ENO
OUT VD100

Programme en
LD I0.0 LIST
LD M0.0
CTU C10, 5
LD C10
MOVW
AIW1, AC0
DIV 360, AC0
ITD AC0, AC1
DTR AC1, AC2
MOVR
AC1, AC3
*R 1.745329E-2, AC3
SIN AC3, VD100
LDR<
VD100,-0.5
=
Q0.0
LDRVD100,-0.5
AR< VD100, 0
=
Q0.1
LDRVD100, 0
AR< VD100, 0.5
=
Q0.2
LDRVD100, 0.5
=
Q0.3
LD C10
END

Solution

Rseau 3
VD100
<R

Q0.0

Programme en
LD I0.0 LIST

-0.5
Rseau 4
VD100
R

VD100

-0.5

Q0.1

<R

Rseau 5
VD100

VD100

<R

0.5

Rseau 6
VD100

Q0.3

R
0.5
Rseau 7
C10

Rseau 8

119

M0.0

END

Q0.2

LD M0.0
CTU C10, 5
LD C10
MOVW
AIW1, AC0
DIV 360, AC0
ITD AC0, AC1
DTR AC1, AC2
MOVR
AC1, AC3
*R 1.745329E-2, AC3
SIN AC3, VD100
LDR<
VD100,-0.5
=
Q0.0
LDRVD100,-0.5
AR< VD100, 0
=
Q0.1
LDRVD100, 0
AR< VD100, 0.5
=
Q0.2
LDRVD100, 0.5
=
Q0.3
LD C10
END

Le PIC
16F84

120

Le PIC
16F84
Brochage

121

Le PIC
16F84

122

Le PIC
16F8

123

Le PIC
16F84

124

Le PIC 16F84 Mmoire de


programme et pile

125

Le PIC 16F84 Mmoire RAM et


registres

126

Le PIC 16F84 Les registres

127

Le PIC 16F84 Le registre dtat


(STATUS)

128

Le PIC 16F84 Le registre


OPTION_REG

129

Le PIC 16F84 Le registre INTCON

130

Le PIC 16F84 Le port A

131

Le PIC 16F84 Le port B

132

Le PIC 16F84 Le port B

133

Le PIC 16F84 Registre EECON1

134

Le PIC 16F84 Registres daccs


lEEPROM de donnes

135

Le PIC 16F84 Les instructions

136

Le PIC 16F84 Application


+5V

LED1

330

137

LED2

330

LED3

330

LED4

330

LED5

330

LED6

330

LED7

330

LED8

330

Le PIC 16F84 Application

138

Le PIC 16F84 Taux de division du


prescaler

139

Le PIC 16F84 Application 2

Signal dentre
+5V

+5V

LED1

330

140

LED2

330

LED3

330

LED4

330

LED5

330

LED6

330

LED7

330

LED8

330

Le PIC 16F84 Application 3


LED1
330

+5V

141

+5V

Le microprocesseur 6800 de MOTOROLA


VSS
HALT
1
IRQ
VMA
NMI
BA
VCC
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
142

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

6800

40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21

Brochage du 6800

RESET
TSC
NC
2
DBE
NC
R/W
D0
D1
D2
D3
D4
D5
D6
D7
A15
A14
A13
A12
VSS

Le microprocesseur 6800 de MOTOROLA


RESET

CPU 6800
Bus
dadresses

Horlog
e

Alimentati
on
+5V

Bus de
donnes

ROM

RAM

PIA 6820

Circuits de
donnes
Units dE/S
143
Diagramme fonctionnel dun systme 6800

Le microprocesseur 6800 de MOTOROLA


Modes dadressage du 6800
Ils sont au nombre de cinq:
immdiat,
direct,
tendu,
index,
relatif,
inhrent.

144

Le microprocesseur 6800 de MOTOROLA


Exercice2.2.
Donner en mnmonique linstruction permettant
le chargement immdiat de laccumulateur A par la valeur 56H.
le chargement immdiat de laccumulateur B par la valeur 1AH.
La sommation des contenus de A et B (le rsultat est dans
laccumulateur A).
La sauvegarde de (A) dans la case mmoire dadresse D8H (on
utilise ladressage direct).
Ces diffrentes instructions forment un programme assembleur
6800 qui dbute ladresse E8A2H. Donner la reprsentation
mmoire de ce programme.
Que devient ce programme si on utilise un adressage tendu
dans linstruction de sauvegarde? Donner la reprsentation
mmoire du programme dans ce cas.
Donner le contenu de la case mmoire D8H.
Donner le vecteur dinterruption RESET.
145

Le microprocesseur 6800 de MOTOROLA

146

Description
Mnmonique
ADDA
Addition :
A+
ADDB
MA
ABA
Addition :
B+MB
ADCA
Addition :
A+BA
ADCB
Addition avec retenue :
A+M+C A
ANDA
Addition avec retenue :
B+M+C B
ANDB
Et logique :
A ET M A
BITA
Et logique :
B ET M B
BITB
Et logique :
A.
CLR
M
CLRA
Et logique :
B.
CLRB
M
CMPA
Mise zro:
00
CMPB
M
CBA
Mise zro:
00 A
COM
Mise zro:
00
COMA
B
COMB
Comparaison:
ANEG
M
NEGA
Comparaison:
BNEGB
M
DAA
Comparaison:
ADEC
M
DECA
Complment 1:
M M
DECB
Complment 1:
A
EORA
A
EORB
Complment 1:
B
INC
B
INCA
Complment 2:
00 M
INCB
M
LDAA
Complment 2:
00 A
LDAB
A
ORAA
Complment 2:
00 B
ORAB
B
Ajustement dcimal de A: A en BCD
Dcrmentation:
M1M
Dcrmentationde A :
A1A
Dcrmentation de B:
B1

Description
Mnmonique
PSHA
Empilation de A: A MSP et SP 1SP
PSHB
Empilation de B: B MSP et SP 1SP
PULA
Dpilation de A: SP+1SP et MSPA
PULB
Dpilation de B:
SP+1SP et MSPB
ROL
M Rotation gauche:
ROLA
A
ROLB
B
ROR
M
Rotation droite:
RORA
A
RORB
B
ASL
M
Dcalage arithmtique gauche:
ASLA
A
ASLB
B
ASR
M
Dcalage arithmtique droit:
ASRA
A
ASRB
B
LSR
M
Dcalage logique droit:
LSRA
0
C
0
LSRB
A
b0
b7
STAA
B Stockage de laccumulateur A:
STAB
AM
SUBA
Stockage de laccumulateur B:
SUBB
BM
SBA
Soustraction :
A-MA
SBCA
Soustraction:
B-M
SBCB
B
TAB
Soustraction:
A-BA
TBA
Soustraction avec retenue :
A-M-C
TST
A
TSTA
Soustraction avec retenue :
B-M-C
TSTB
B
Transfert daccumulateurs:
A
B
Transfert daccumulateurs:
B
A
Comparer M zro
M00

Le microprocesseur 6800 de MOTOROLA

147