Vous êtes sur la page 1sur 5

Ecole Nationale d’ingénieurs de Sfax

Département de génie électrique

Compte rendu du TP3


Manipulation MPLAB & ISIS Pour PIC
16F84A

Préparé par : Harabi Aymen

Classe : GE2 S4 groupe 2

2023/2024
L'objectif de ce TP est de :
• Au cours de ce TP, nous avons créé des programmes assembleur en utilisant MPLAB
afin de les tester en utilisant ISIS pour les codes HEX générés par MPLAB.Maitriser le
compilateur MPLAB
• Créer un programme ASM sous MPLAB pour allumer une diode LED.

a) Le programme assembleur :

#include <p16F84A.inc> ; // contient toutes les valeurs des constantes.


__CONFIG _CP_OFF&_WDT_OFF&_HS_OSC ;
CBLOCK 0x0C ;
ENDC
Org 0x000 ; // Les instructions qui suivent seront placées dans le PIC à l'adresse indiquée par
la directive ORG, suivie de l'adresse.

bsf STATUS, RP0 ; // mettre le bit RP0 à 1 afin de se placer dans la Banque 1.
movlw 0x00 // placer la valeur hexadécimale 0x00 dans le registre W (registre de travail).

movwf TRISB ; // La valeur du registre W est transférée vers le registre TRISB. Le registre
TRISB est utilisé pour configurer les directions des broches d'E/S du port B.d’ou RB0 est
configuré comm sortie

movlw 0x ff ; // Cette instruction place la valeur hexadécimale 0xFF dans le registre W.

movwf TRISA ; // La valeur du registre W est transférée vers le registre TRISA. Le registre
TRISB est utilisé pour configurer les directions des broches d'E/S du port A. D’où RA0 est
configuré comm sortie

bcf STATUS, RP0 ; // revenir ainsi à la banque 0 pour accéder aux registres de données
H1 bcf PORTB,0 ; // Cette instruction mettre RB0 à l'état 0.

H2 btfsc PORTA, 1 ; // Cette instruction vérifie si le PORTA est défini 1. Si c'est le cas, le
programme saute à l'étiquette H2. Sinon, il continue à exécuter les instructions suivantes.

goto H1 ; // le programme retourne à l'instruction H1. Si le bit 1 de PORTA est défini 1, le


programme retourne à l'instruction H1.

btfsc PORTA, 0 ; // Cette instruction vérifie si PORTA est défini 1. Si c'est le cas, le programme
saute à l'instruction suivante (goto H2). Sinon, il continue à exécuter les instructions suivantes
bsf PORTB, 0 ; // Cette instruction mettre PORTB à 1, mettant la broche RB0 à l'état haut 1.

goto 2 H2 ; // Cette instruction saute à l'instruction H2.


end ; // Cette instruction marque la fin du programme.

b) Montage réalisé avec ISIS


c) Alimentation du LED avec la condition (RA0=RA1=5V) :
 Programme assembleur :

 Simulation ISIS :
d) Rôle des résistances de rappel :
Les résistances de rappel sont normalement utilisées avec des sorties numériques
à collecteur ouvert ou lorsqu'il est indésirable de laisser une ligne flottante dans un
circuit. Par contre, elles augmentent la consommation énergétique du circuit.
Elle se situe entre la ligne et la source d'alimentation ou la terre, et qui entraîne
intentionnellement cette même ligne à un état bas (0 en électronique). Il
convient de souligner qu'il ne s'agit pas d'un type particulier de résistance : C'est
un mouvement de résistance partagé. La position qu'elle occupe dans le circuit lui
donne ce nom en raison de sa fonction .

Vous aimerez peut-être aussi