Beruflich Dokumente
Kultur Dokumente
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
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 :