Vous êtes sur la page 1sur 9

Année Universitaire 2019 - 2020

Application 2

Soit le schéma de la figure 1. Nous souhaitons commander deux afficheurs 7 segments à partir
d’une application temps réel. Cette application démarre lorsqu’on appuie sur le bouton poussoir S1, les
afficheurs affichent « 00 » et la diode D1 s’allume. Ensuite, si on veut incrémenter l’affichage, on
appuie sur le bouton S2 et la diode D2 s’allume une fois. Le bouton S3 remet l’affichage à « 00 » et la
diode D3 s’allume une fois. Les types de communication entre les tâches sont indiqués sur la figure.
Pour la bonne manipulation de ce système, on donne les fonctions suivantes :

void StartBouton(void) Fonction qui initialise l’utilisation des boutons


void FinishBouton(void) Fonction qui arrête l’utilisation des boutons
int WaitGetBouton(char Bouton) Fonction d’attendre l’appui sur un bouton
Bouton appuyer cette fonction return ON
Bouton non appuyer cette fonction return OFF
Bouton : START_BOUTON = 0
RESET_BOUTON = 1
INC_BOUTON = 2
void SetLED(char LED) Fonction qui allume une LED
LED : LED1 = 0
LED2 = 1
LED3 = 2
void ClearLED(char LED) Fonction qui fait éteindre une LED
void Print_7SEG( int Data) Fonction qui affiche une donnée « Data » sur l’afficheur 7
segments

1. Redessiner la figure sous forme de tâches,


2. Donner les programmes de chaque tâche,
3. Donner les priorités de chaque tâche ainsi que le type d'ordonnanceur utilisé,
4. Donner toutes les identificateurs ainsi que les structures des enveloppes utilisées dans cette
application.

1/9
Année Universitaire 2019 - 2020

Fig. 1 : Module de commande d’un système d’affichage 7 segments.

2/9
Année Universitaire 2019 - 2020

Correction: Application 2

1. Redessiner la figure sous forme de tâches,

RESET_BOUTON

StartModule START_BOUTON

ResetModule
RDV

RDV

BAL
ComModule Dis7SegModule
INC_BOUTON

RDV

BAL RES

IncModule

7 Seg. Display

LEDModule

RES

LED1 LED2 LED3

3/9
Année Universitaire 2019 - 2020
2. Donner les programmes de chaque tâche,

Tâche StartModule

Tâche ResetModule

4/9
Année Universitaire 2019 - 2020

Tâche IncModule

Tâche Dis7SegModule

5/9
Année Universitaire 2019 - 2020

Tâche LEDModule

6/9
Année Universitaire 2019 - 2020

Tâche ComModule

3. Donner les priorités de chaque tâche ainsi que le type d'ordonnanceur utilisé,

Tâche Priorités
StartModule 33
IncModule 35
ResetModule 34
Dis7SegModule 200
LEDModule 201
ComModule 36

On peut utiliser l’ordonnancement par priorité

7/9
Année Universitaire 2019 - 2020

4. Donner toutes les identificateurs ainsi que les structures des enveloppes utilisées dans cette
application.
Les identificateurs utilisés

Les enveloppes utilisés

8/9
Année Universitaire 2019 - 2020

Les fonctions externes utilisées (définie par l’application)

9/9

Vous aimerez peut-être aussi