Vous êtes sur la page 1sur 3

TP Microcontrôleurs

TP 2 : Entrées/Sorties du PIC 16F877

Objectif du TP :
Le but de ce TP est de se familiariser avec l’environnement de développement (IDE) MPLAB.
Dans une première partie, nous allons présenter la structure d’un programme écrit en
assembleur, en décortiquer les différentes parties et comprendre l’architecture logicielle du
microcontrôleur 16F877 :
 Comprendre la structure d’un programme écrit en assembleur
 Compiler le programme
 Chercher les erreurs et les corriger
 Suivre les registres et les différentes variables
 Vérifier le contenu des différentes cases mémoires
 Faire une synthèse sur l’architecture logicielle du PIC 16F877

La deuxième partie de ce TP va être consacrée à l’exploration des entrées/sorties du PIC 16F877


en développant des programmes en assembleur utilisant les différents ports de ce PIC en entrée
ou en sortie :

Mme B. CHEDDADI 1 2019/2020


TP Microcontrôleurs

Manipulation 1 :
Objectif : allumer 4 leds connectées aux broches RB0-RB3 du PORTB du PIC16F877.
1. Ouvrir un nouveau projet sous MPLAB, écrire un programme en assembleur qui permet
d’allumer 4 leds liées au PORTB du pic. Nommer le fichier source par TP1_A.asm.
2. Compiler le fichier source TP1_A.asm. (s’il n’y a pas d’erreurs le fichier TP1_A.hex
sera généré).
3. Dans ISIS, on double clic sur le microcontrôleur PIC16F877 et on importe
« TP1_A.hex » dans le champ « Program File ».
4. Réaliser le schéma de connexion des 4 leds avec le PIC.
5. Par la suite, lancer la simulation (le bouton play du panneau de contrôle de l’animation).
Si toutes les étapes se sont bien passées, les 4 leds seront allumées.

Manipulation 2 :
Objectif : utiliser les boutons associés aux broches du PORTB comme des interrupteurs.
Programme Interrupteur 1 :
Le programme « Interrupteur » boucle à l’infini sur les tâches ci-dessous afin de reproduire le
fonctionnement d’un interrupteur.
- Tâche 1 : lire l’état du bouton poussoir B1 (broche RB1).
- Tâche 2 : si le bouton est appuyé, on allume la led L1 (broche RC1), sinon on l’éteint.
On notera que les boutons poussoirs sont branchés au microcontrôleur en logique négative.
L’état « bouton appuyé » correspond donc au 0 logique. Les leds sont câblées en logique
positive, elles s’allument pour un 1 logique.
Le fonctionnement demandé peut être reproduit par l’organigramme ci-dessous :

Figure 1. Organigramme du programme « interrupteur 1».

Mme B. CHEDDADI 2 2019/2020


TP Microcontrôleurs
1. Ecrire un programme en assembleur qui permet d’utiliser B1 comme bouton poussoir
tel que L1 s’allume quand on appuie sur B1 et elle s’éteint quand on relâche.
Avec : B1 bouton associé à la broche RB1.
Programme Interrupteur 2 :
Le programme « Interrupteur » boucle à l’infini sur les tâches ci-dessous afin de reproduire le
fonctionnement d’un interrupteur.
- Tâche 1 : lire l’état des boutons poussoirs B1 (broche RB1) et B2 (broche RB2).
- Tâche 2 : si le bouton B1 est appuyé, on allume la led L1 (broche RC1) et si B2 est appuyé,
la led s’éteint.
Le fonctionnement demandé peut être reproduit par l’organigramme ci-dessous :

Figure 2. Organigramme du programme « interrupteur 2».

1. Ecrire un programme en assembleur qui permet d’utiliser B1 et B2 comme des boutons


poussoirs. Tel que L1 s’allume quand on appuie sur B1 et elle s’éteint quand on appuie
sur B2.
Avec : B1 bouton associé à la broche RB1 et B2 bouton associé à la broche RB2.

Mme B. CHEDDADI 3 2019/2020

Vous aimerez peut-être aussi