0% ont trouvé ce document utile (0 vote)
62 vues2 pages

Commande de LEDs par Interruption RB0

Transféré par

salmaagou135
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
62 vues2 pages

Commande de LEDs par Interruption RB0

Transféré par

salmaagou135
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE IBN ZOHR Année Universitaire

ECOLE SUPERIEURE DE TECHNOLOGIES 2024-2025


D'AGADIR

EESA-2
TP5 d'Informatique Industrielle
Chenillard commandé par Interruption sur RB0

I. Objectif du TP
La fiche de TP décrite ci-dessous a pour but de permettre à l'utilisateur, d'établir le schéma d'une application et la
simuler par le logiciel ISIS ensuite de programmer en C le PIC16F84A. L'application permet de simuler
l'allumage, à tours de rôle, d'une seule LED parmi celles reliées au Port B, grâce à l'interruption générée par le
bouton poussoir BP1 relié à la broche RB0 (voir schéma). Au départ aucune Led n'est allumée et dès la 1ère
interruption la Led reliée à RB7 s'allume puis l'interruption qui suit allume la Led reliée à RB6, …, jusqu'à RB0
et le cycle se répète. Le sous-programme d'interruption se charge d'allumer les Leds une après l'autre en
effectuant un décalage à droite du Port B, (voir les organigrammes).

II. Travail à faire


1- Créer votre dossier de travail dans le bureau.
2- Lancer le logiciel Isis de PROTEUS, réaliser et compléter le schéma donné ci-dessous. Les terminaux : Masse (Ground)

et Vcc (Power) sont accessibles via la barre d'outils .


3- Enregistrer votre schéma dans votre dossier de travail.
4- Lancer MikroC PRO for PIC, puis créer un nouveau projet dans votre dossier (Processeur 16F84A, Quartz 4 MHz).
5- Compiler le programme afin de générer le fichier [Link].
6- Embarquer dans le microcontrôleur du schéma le fichier [Link], tester enfin l'application en la simulant par ISIS.
7- Dans votre compte rendu, expliquer les différentes étapes et procédure en donnant une conclusion.

III. Schéma du circuit de commande de Leds par l'interruption RB0.

1
IV. Organigrammes associés à la commande de LEDs par l'interruption sur RB0
D
Début S-prg. Interruption
Configurer la broche RB0 du Port B en
entrée et les autres broches en sortie RAZ du Flag d'interruption

Configurer OPTION_REG : Oui


…………………. & ………………….. PORTB=0

Non PORTB=0x80

Configurer INTCON :
Activer les Interruptions générales & Décalage à droite
celle venant de la broche RB0 & d'un bit du PORTB
RAZ du Flag d'interruption
Oui
Eteindre LEDs PORTB=1

Attente Non PORTB=0x80


Attente infinie d'interruption

Fin Fin S-prg. Interruption

V. Squelette de programme en C associé à la commande de Leds par l'interruption sur RB0


/* TP5_InterRB0.c sous MikroC PRO for PIC ************************************************************
Programme utilisant un sous-programme associé à l'interruption RB0 du PIC16F84A.
Ce programme assure l'allumage, par l'état 1, d'une seule Led à tour de rôle parmi les 7 reliées à RB7, RB6, …, RB1.
Le passage de l'allumage de la Led (RB7) à la Led suivante (RB6), …, est déclenché par une interruption venant de RB0
provoquant le décalage du port B.
Oscillateur : XT, 4 MHz.
***************************************************************************************************/
/***************************************************************************************************
Sous-Programme d'interruption
***************************************************************************************************/
void Interrupt ()
{
……………………………………………….
……………………………………………….
……………………………………………….
……………………………………………….
}
/***************************************************************************************************
Programme Principal
***************************************************************************************************/
void main ()
{ // Bits de OPTION_REG : RBPU - INTEDG - T0CS - T0SE - PSA - PS2 - PS1 - PS0
// Bits de INTCON : GIE - REIE - T0IE - INTE - RBIE - T0IF – INTF - R0IF

……………………………………………….
……………………………………………….
……………………………………………….
……………………………………………….
……………………………………………….
……………………………………………….
……………………………………………….

Vous aimerez peut-être aussi