Beruflich Dokumente
Kultur Dokumente
Systmes squentiels
Systmes squentiels
Description par un graphe d'tat
Conception d'une machine d'tat
Solution avec un microcontrleur !
Systmes logiques
Entres
Sorties
Systme
logique
Entre A
Entre B
Entre C
Sortie 1
Sortie 2
Table de vrit
3
Entres
Sorties
Commande
du moteur
Entres
Sorties
Start
Bas
Haut
Avance
Commande
du moteur
Recule
Start
Haut
Bas
Avance Recule
Table de vrit ?
7
Graphe d'tat
Arrt
0 0
Haut
Monte
1 0
Start
Bas
Descente
0 1
Machine d'tat
Start
Bas
D0 Q0
Avance
D1 Q1
Recule
Systme
combinatoire
Haut
Horloge
9
Machine d'tat
D0 Q0
Avance
D1 Q1
Recule
Systme
combinatoire
Start
Bas
Haut
Horloge
Start
Bas
Haut
Arret
0 0
Haut
Monte
1 0
10
Start
Bas
Descente
0 1
Machine d'tat
Start
0
1
x
x
x
x
x
D0 Q0
Start
Bas
D1 Q1
Haut
x
x
x
x
0
1
x
Avance
Systme
combinatoire
Haut
Bas
x
x
0
1
x
x
x
Recule
Horloge
11
Schma logique
Bas
Recule
Avance
Recule +
Haut
Recule
Avance
Start
Recule
Avance
Avance +
Bas
Recule
Avance
12
Start
Bas
D0 Q0
Avance
D1 Q1
Recule
Systme
combinatoire
Haut
Bas
Recule
Avance
Recule +
Haut
Horloge
Recule
Avance
Start
Recule
Avance
Avance +
Bas
Recule
Avance
13
14
Un programme
Start
Bas
Avance
D1 Q1
Recule
Systme
combinatoire
Haut
Horloge
15
D0 Q0
voidloop(){
//Litlesvaleursdesentres:
Start=digitalRead(StartPin);
Bas=digitalRead(BasPin);
Haut=digitalRead(HautPin);
//Calculelenouveltat:
AvancePlus=(Start&&!Recule&&!Avance)||
(!Bas&&!Recule&&Avance);
ReculePlus=(Bas&&!Recule&&Avance)||
(!Haut&&Recule&&!Avance);
//Enregistrelenouveltat:
Avance=AvancePlus;
Recule=ReculePlus;
//Activelessorties:
digitalWrite(AvancePin,Avance);
digitalWrite(ReculePin,Recule);
}
Comprendre les Microcontrleurs | Systmes squentiels | 2013
Systmes squentiels
Description par un graphe d'tat
Conception d'une machine d'tat
Solution avec un microcontrleur !
16