Vous êtes sur la page 1sur 4

TP/TD N°2

Microcontrôleurs
MASTER 1- SEIB

Gestion d’un système feux tricolores pour carrefour routier par le PIC 16F84
Soit l’exemple de système de gestion de feux tricolores extrait du Logiciel Isis Proteus Pro V7
Shéma de cablage :

Voix 1

Rouge 1
1
Orange 1
1
Voix 2 Vert 1

Rouge 2
1
Orange 2
1
Vert 2

Programme assembleur :

1
Abdelilah KAHAJI, ENSA-Agadir
TP/TD N°2
Microcontrôleurs
MASTER 1- SEIB

A - Compréhension du programme :
1 : Lors de l’initialisation du programme la variable state est remise à zéro. D’après les lignes 29 et
30, Quelles sont les différentes valeurs possibles que peut prendre cette variable ? justifier votre
réponse.

2 : Selon les valeurs de la variable state, quelle valeur retourne le sous-programme getmask dans w.
prenez les exemples de valeurs pour state=0, state=1, state=2 et state=3. Justifier votre réponse en
décrivant le rôle de chacune des instructions de Sous-programme getmask.

3 : Le programme principal reprend la valeur de w et l’envoie vers le port B pour commander le feu
tricolore. Selon ces valeurs donner l’état des feux tricolores sur le tableau suivant :

State = 0 W=0x… , W=0b…………………….. Rouge1 =…. Rouge2 =….


Orange1 =…. Orange2 =….
Vert1 =…. Vert2 =….
State = 1 W=0x… , W=0b…………………….. Rouge1 =…. Rouge2 =….
Orange1 =…. Orange2 =….
Vert1 =…. Vert2 =….
State = 2 W=0x… , W=0b…………………….. Rouge1 =…. Rouge2 =….
Orange1 =…. Orange2 =….
Vert1 =…. Vert2 =….
State = 3 W=0x… , W=0b…………………….. Rouge1 =…. Rouge2 =….
Orange1 =…. Orange2 =….
Vert1 =…. Vert2 =….

2
Abdelilah KAHAJI, ENSA-Agadir
TP/TD N°2
Microcontrôleurs
MASTER 1- SEIB
4 : La temporisation est assurée par le sous-programme wait qui fait appel à son tour au sous-
programme wait2. Donner le nombre d’exécution de la boucle composée des lignes 58-59 lors d’un
appel au sous-programme wait. Etablir les organigrammes des sous programmes wait et wait2.

Travaux pratique :

Simuler le système sur le logiciel PROTEUS ISIS

B- Evolution du programme :
On désir modifier le fonctionnement du feux tricolores selon les chronogrammes ci-dessous

V1

O1

R1

V2

O2

R2

10 20 30 40 50 t en S

Réécrire le sous-programme getmask pour qu’il soit adapté au fonctionnement des


chronogrammes (sans tenir compte du respect de la temporisation).

Travaux pratique :

Tester votre programme sur le logiciel PROTEUS ISIS

3
Abdelilah KAHAJI, ENSA-Agadir
TP/TD N°2
Microcontrôleurs
MASTER 1- SEIB

Annexe 2 : Jeux d’instruction du microcontrôleur 16F84

4
Abdelilah KAHAJI, ENSA-Agadir

Vous aimerez peut-être aussi