Professional Documents
Culture Documents
&
Microcontrleurs
Sylvain MONTAGNY
sylvain.montagny@univ-savoie.fr
Btiment chablais, bureau 13
04 79 75 86 86
Retrouver tous les documents de Cours/TD/TP sur le site
www.master-electronique.com
Dfinition
Etude des priphriques
Chapitre 3 : La programmation
Universit de Savoie
Prsentation TD
l TD
: 10.5 h en 7 sances
Universit de Savoie
Prsentation TP
l
TP : 12h en 3 sances de 4h
l
Universit de Savoie
l
l
l
l
Universit de Savoie
Le microprocesseur
Architecture interne (1)
Bus dadresses
Microprocesseur
Unit de
commande
Programme
Mmoire
Unit
de
Accumulateur
traitement
Registre
dtat
Donnes
Bus de donnes
6
Le microprocesseur
Architecture interne (2)
Bus dadresses
Microprocesseur
PC
Programme
Mmoire
Accumulateur
Accumulateur
Registre
dtat
Registre
dtat
Bloc logique
de commande
Dcodeur
dinstruction
Donnes
Bus de donnes
7
Le microprocesseur
Unit de commande
Elle permet de squencer le droulement des instructions.
Bus dadresse
PC
Bloc logique
de commande
Instruction
Dcodeur
dinstruction
Le microprocesseur
Unit de traitement
Elle excute les instructions.
Microprocesseur
Accumulateur
Accumulateur
Registre
dtat
Registre
dtat
CPU
Mmoire
4
3
l
l
l
l
Universit de Savoie
10
Larchitecture
Von Neuman
CPU
l
l
l
BUS
Mmoire
Programme
&
donnes
11
Larchitecture
Harvard
CPU
l
Mmoire
donne
Mmoire
programme
12
Larchitecture
Harvard : Cas des microcontrleurs PIC
l
Universit de Savoie
13
Universit de Savoie
14
Universit de Savoie
15
Instruction Addition :
Accumulateur = Accumulateur + Oprande
11001
16
Ordres :
1. Attaquer camp romain
2. Organiser banquet
Outils :
1. Menhir, Potion magique
2. Sanglier
Unit de traitement
Unit de commande
Universit de Savoie
17
Ordres :
1. Attaquer camp romain
2. Organiser banquet
Outils :
1. Menhir, Potion magique
2. Sanglier
Unit de traitement
Unit de commande
Universit de Savoie
18
Ordres :
1. Attaquer camp romain
2. Organiser banquet
Outils :
1. Menhir, Potion magique
2. Sanglier
Unit de traitement
Unit de commande
Universit de Savoie
19
Microprocesseur
PC
Programme
Mmoire
Accumulateur
Accumulateur
Registre
dtat
Registre
dtat
Bloc logique
de commande
Dcodeur
dinstruction
Donnes
Bus de donnes
20
L architecture CISC
(Complex Instruction Set Computer)
Larchitecture RISC
(Reduced Instruction Set Computer)
Universit de Savoie
21
Universit de Savoie
22
Adressage immdiat
Adressage direct
Adressage indirect
23
#4
ALU
Mmoire
M
Contenu
0x00
0..
110 1101
0x01
0..
100 0101
0..
010 1111
Compteur Ordinal
adrs+1
PC
adrs
1 1 0ADDA
1 0101
adrs + 1
0 1 1 0#41 0 0 1
adrs + 2
1..
010 1101
Accumulateur
Adresses
0011 1000
1
100 0101
1
010 1001
.
0111 1010
Universit de Savoie
24
adresseX
ALU
Mmoire
Contenu
0x00
0..
110 1101
0x01
0..
100 0101
0..
010 1111
Compteur Ordinal
adrs+1
PC
adrs
1 1 0ADDA
1 0101
adrs + 1
0 adresseX
110 1001
adrs + 2
1010 1101
adresseX
Accumulateur
Adresses
0xxxx
0 1 1 xxxx
1000
1
100 0101
1
010 1001
.
0111 1010
Universit de Savoie
25
@adresseX
ALU
Mmoire
Contenu
0x00
0..
110 1101
0x01
0..
100 0101
0..
010 1111
Compteur Ordinal
adrs+1
PC
adrs
1 1 0ADDA
1 0101
adrs + 1
0@adresseX
110 1001
adrs + 2
1010 1101
@adresseX
Accumulateur
Adresses
0 adresseX
011 1000
1
100 0101
adresseX
1 0 1 0 xxxxxx
1001
xxxxx
.
0111 1010
Universit de Savoie
26
Universit de Savoie
27
Universit de Savoie
28
Universit de Savoie
29
0187h
2822h
0987h
0BFCh
CLRF PORTC;
GOTO 22h;
COMF PORTC,1;
DECFSZ 7C,1;
30
l
l
l
l
l
l
l
Universit de Savoie
31
Universit de Savoie
32
Ventes de microcontrleurs
Universit de Savoie
33
Cout rduit
Encombrement moindre
Fiabilit
Universit de Savoie
35
36
Universit de Savoie
37
ROM memory :
Aussi appel ( juste titre) program memory.
Cest une mmoire Flash qui contient le
programme excuter.
EEPROM memory
Cest une mmoire similaire la mmoire programme. On sen sert
surtout pour stocker des constantes.
Universit de Savoie
38
RAM memory :
l
Universit de Savoie
39
Universit de Savoie
40
l
l
l
l
l
l
l
Universit de Savoie
41
Cadencement du microcontrleur
Schma du pic 16F877
Universit de Savoie
42
Cadencement du microcontrleur
Les cadencements possibles
l
Quartz
l
Rsonateur cramique
l
l
Stabilit ( 0.5%)
Moins couteux que le quartz
Frquence +/- 80
Hz
Frquence +/- 40 000 Hz
43
l
l
l
l
l
l
l
Universit de Savoie
44
Les timers
Mode compteur ou temporisateur (1)
l
45
Les timers
Mode compteur ou temporisateur (2)
l
l
l
Universit de Savoie
46
Les timers
Utilisation dun prescaler
l
Universit de Savoie
47
l
l
l
l
l
l
l
Universit de Savoie
48
Universit de Savoie
49
Universit de Savoie
50
Universit de Savoie
52
T1
T2
Sortie
Bloqu
Bloqu
Bloqu
Satur
"0"
Satur
Bloqu
"1"
Satur
Satur
non utilis
Des sorties trois tats peuvent tre relies entres elles mais il
faut bien veiller ce que une seule impose un niveau (haut ou
bas) et que les autres sorties soit en haute impdance.
Universit de Savoie
53
Fonctionnement
T2
Satur
"0"
Bloqu
Dpend du montage
Universit de Savoie
54
55
"1"
"0"
Vseuil- Vseuil+
Universit de Savoie
Vi
56
Bouton poussoir :
Led :
Universit de Savoie
57
58
l
l
l
l
l
l
l
Universit de Savoie
59
La liaison srie
l
60
La liaison srie
Connexions (1)
l
Universit de Savoie
61
La liaison srie
Connexions (2)
62
La liaison srie
USART Transmit bloc register
Universit de Savoie
63
La liaison srie
USART receive bloc register
Universit de Savoie
64
La liaison srie
Daprs la datasheet :
l
Universit de Savoie
65
l
l
l
l
l
l
l
Universit de Savoie
66
Le Watchdog (1)
Le chien de garde (watchdog) est un dispositif matriel et
logiciel qui permet de se prmunir contre les plantages
accidentels. Lide est de provoquer un RESET du CPU afin
de relancer lapplication. (Les donnes sont bien sur perdues).
Le plantage est dfini lorsque le programme nest pas venu
temps faire signe au watchdog.
Instructions
Clear Watchdog
Si je reoit rien,
jappuie sur le
RESET!!!
67
MICROCONTROLEUR
Le Watchdog (2)
68
Le Watchdog
Cas du PIC16F877
Daprs la datasheet :
l
69
l
l
l
l
l
l
l
Universit de Savoie
70
Le CAN
Multiplexage des voies
l
Universit de Savoie
71
Le CAN
Le CAN
Questions
Daprs la datasheet :
l
l
l
l
l
l
Universit de Savoie
73
Le CAN
Etude de cas thorique
l
74
Le CAN
Rcupration des valeurs converties
l
Universit de Savoie
75
Le CAN
Tension de rfrences Vref
l
Universit de Savoie
76
Le CAN
Etude de cas pratique
La tension dune batterie est celle dune cellule lithium-ion qui
possde les caractristiques suivantes :
l
Umin=2,5 V
Umax= 4,3V
Danger si en dehors de cette zone
Udcharge=3 V
Un=3,6 V Ucharge=4,2 V
Universit de Savoie
77
Le CAN
l
Universit de Savoie
78
http://www.st.com
http://www.atmel.com/
http://www.infineon.com
Etc
Universit de Savoie
79
Chapitre 3 : La programmation
Universit de Savoie
80
Les interruptions
Problmatique & dfinition
l
Universit de Savoie
81
Les interruptions
Scrutation Vs interruption
l
Scrutation (polling)
l
Interruption
l
l
l
Universit de Savoie
82
Les interruptions
Schma
l
Universit de Savoie
83
Les interruptions
Types dinterruption
l
Interruption masquable
l
Universit de Savoie
84
Les interruptions
Configuration
l
Universit de Savoie
85
Les interruptions
Configuration
l
l
l
l
Flag dinterruption
Bit de masquage
Les interruptions
Dmasquage des interruptions
l
Universit de Savoie
88
Les interruptions
Les flags dinterruption
l
Universit de Savoie
89
Les interruptions
Le rle de la pile
l
90
Les interruptions
Rle de la pile
l
Elle va servir :
l
Universit de Savoie
91
Les interruptions
Avant linterruption
PC ( Addr Prog )
SP ( Addr Pile)
Programme
principal
Registres
x
Pile
xx
Programme
dinterruption
92
Les interruptions
Arrive dune interruption
SP ( Addr Pile +1)
PC ( Addr Prog IT )
Programme
principal
Registres
x
Addr Prog
Pile
xx
Programme
dinterruption
93
Les interruptions
Arrive dune interruption : Sauvegarde contexte
PC ( Addr Prog )
SP ( Addr Pile + 3)
Programme
principal
Registres
x
x
xx
Addr Prog
Pile
xx
Programme
dinterruption
94
Les interruptions
Fin dune interruption : Restitution contexte
SP ( Addr Pile + 1)
Programme
principal
Registres
x
xx
Addr Prog
Pile
xx
Programme
dinterruption
95
Les interruptions
Fin dune interruption
PC ( Addr Prog )
SP ( Addr Pile)
Programme
principal
Registres
x
Addr Prog
Pile
xx
Programme
dinterruption
96
Les interruptions
Retour au programme principal
PC ( Addr Prog + 1 )
SP ( Addr Pile)
Programme
principal
Registres
x
Pile
xx
Programme
dinterruption
97
Les interruptions
Exemple sur le PIC 16F877
l
l
Universit de Savoie
98
Chapitre 3 : La programmation
Universit de Savoie
99
Le logiciel
La chane de compilation (1)
Universit de Savoie
100
Le logiciel
La chane de compilation (2)
Le compilateur gnre aussi un fichier listing (en assembleur),
reprsentant le code et les emplacements mmoire qui seront utiliss.
Universit de Savoie
102
Le logiciel
Programmation de la mmoire programme (Flash)
Utilisation dun logiciel de programmation
de mmoire Flash
Universit de Savoie
103
Le logiciel
Programmation de la mmoire programme (Flash)
Universit de Savoie
104
Le logiciel
Avantage du langage C
Universit de Savoie
105