Vous êtes sur la page 1sur 3

Ateliers Chapitre 2

esprit ►
Ecole Supérieure Privée
Matière : Architecture des Microcontrôleurs et Projet
Classes : 2A & 3B
Unité pédagogique : Systèmes Embarqués
www.esprit.tn
d’Ingénierie et de Technologies

TP1 : Conception et simulation


On se propose, dans cet atelier, d’implémenter, sur un PIC16F84, un système ayant 1 entrée et 4
sorties. A chaque sortie est connectée une diode LED qui s’allume lorsque cette sortie est
sélectionnée. La figure ci-dessous représente le montage en question.

Figure 1.1 : Schéma du montage

La table de vérité est présentée dans le tableau 1.1 qui suit :

E D3 D2 D1 D0
0 0 1 0 1
1 1 0 1 0
Tableau 1.1 : Table de vérité

1.1. Réalisez le montage de la figure 1.1 sur ISIS. Vous utiliserez :


• Le composant « LOGICSTATE » pour l’entrée de sélection.
• Les diodes « LED-GREEN », « LED-RED », « LED-BLUE », et « LED-YELLOW », pour les
sorties.
Avant de passer à l’écriture de notre code en C, nous nous proposons de commencer par une phase
de réflexion et de conception. Nous choisissons, donc, de représenter l’algorithme de notre
programme sous forme d’un organigramme ayant la structure générale suivante :
Début

CONFIGURARTION
(Configuration des « pins » en
entrée ou en sortie)

INITIALISATION
(Mise des « pins » de sortie à des
valeurs initiales bien définies)

PROG. PRINCIPAL
(Algorithme à exécuter par le µC
pour répondre au cahier des
charges)

Fin
Figure 1.2 : Structure générale de l’organigramme décrivant l’algorithme à implémenter

1
Ateliers Chapitre 2
esprit ►
Ecole Supérieure Privée
Matière : Architecture des Microcontrôleurs et Projet
Classes : 2A & 3B
Unité pédagogique : Systèmes Embarqués
www.esprit.tn
d’Ingénierie et de Technologies

1.2. En vous basant sur la description et la figure 1.1 données ci-dessus :


a. Identifiez les « pins » du PIC reliées aux entrées et celles reliées aux sorties.
b. Remplissez, en conséquence, la partie « CONFIGURATION » de l’organigramme.
c. Remplissez, aussi, la partie « INITIALISATION ».
1.3. Passons, maintenant, à réfléchir sur la partie « PROGRAMME PRINCIPAL ».
a. Décrivez, brièvement, une méthode permettant au PIC d’identifier la sortie à allumer.
b. Traduisez cette méthode en un organigramme.
1.4. Retranscrivez votre organigramme en un code en langage C sous MPLAB.
1.5. Après avoir compilé votre code avec succès, simulez-en le fonctionnement en utilisant le
débogueur « Proteus VSM ».

Lancement du débogueur « Proteus VSM »


Le débogueur « Proteus VSM », proposé par l’environnement MPLAB, permet de faire le débogage
de son code assembleur tout en ayant, en face de soi le schéma ISIS utilisé pour simuler le
fonctionnement de ce code.
L’avantage de ce débogueur est qu’il est possible de modifier les états des entrées sur le schéma ISIS
et de voir l’impact de ces modifications sur le déroulement de l’exécution du programme.
Ci-dessous, les étapes de lancement de ce débogueur.

1 – (Figure A.1) Dans le menu « Debugger→Select Tool », sélectionnez « Proteus VSM ».


2 – (Figure A.2) Lancez le débogage en appuyant sur le bouton « Run ».
3 – (Figure A.3) Lancez « View→Special Function Registers » pour observer le contenu des
registres
4 – (Figure A.3) Ajouter un breakpoint devant la première instruction de la fonction main() en
faisant un double clic.
5 – (Figure A.3) Commencez votre simulation et votre débogage en utilisant le bouton d’avance
pas à pas « Step Over ».

Figure A.2 : Lancement du débogage

Figure A.1 : Sélection du débogueur « Proteus VSM »

Figure A.3 : Lancement du débogage et de la simulation

2
Ateliers Chapitre 2
esprit ►
Ecole Supérieure Privée
Matière : Architecture des Microcontrôleurs et Projet
Classes : 2A & 3B
Unité pédagogique : Systèmes Embarqués
www.esprit.tn
d’Ingénierie et de Technologies

TP2 : pupitre de jeu

Nous avons pour objectif de créer un pupitre de jeu sous la forme d'un questionnaire (QCM) composé de 8
questions (Q0, Q1, Q2, Q3, Q4, Q5, Q6 et Q7), avec deux options de réponse chacune (0 ou 1).

Les réponses aux questions seront enregistrées via les entrées LOGICSTATES connectées aux broches [0..7] du
port B.
Après avoir démarré le jeu, une fois que toutes les réponses ont été entrées, le candidat doit les valider ses
pour savoir si le test a été réussi ou non.

Le candidat dispose de trois essais, et s'il échoue le test trois fois, il perd la partie.
Pour ce faire, nous utilisons trois LED connectées au PORT A :

• La LED verte YES indique que toutes les réponses sont correctes.
• La LED rouge NO signale la présence d'erreurs dans les réponses.
• La LED bleue GAME OVER s'allume lorsque le nombre maximal de tentatives a été atteint.

Les réponses correctes pour ce test sont les suivantes :

Fonctionnement du système :

• Au départ, lorsque le test n'est pas encore en cours, toutes les LEDs restent éteintes.
• Lorsque l'utilisateur appuie sur le bouton de démarrage, le test commence. Le système attend alors
que l'utilisateur entre ses réponses aux questions et appuie sur le bouton de validation.
• Une fois que le bouton de validation est enclenché, notre système récupère les réponses fournies aux
questions et les compare à la réponse correcte du test.

✓ Si les réponses sont identiques, la LED verte "YES" s'allume pendant une durée de 3
secondes. Dans le cas contraire, la LED rouge "NO" s'allume pendant 3 secondes, et le
nombre d'essais restants diminue.

✓ Si les trois essais sont infructueux, le candidat perd la partie, et la LED bleue "GAME OVER"
s'allume pendant 3 secondes

1. Réalisez le montage sur ISIS suivant :

2. Représenter l’organigramme de votre programme


3. Retranscrivez votre organigramme en un code en langage C sous MPLAB.
3

Vous aimerez peut-être aussi