I HAVE THIS tp i know the pdf is hard to make up since i scanned it in a weird way but try to make the best of it TRAVAUX PRATIQUES Atelier N°: 8

Module : Informatique Industrielle Enseignant: L. Bouhouch |
Systeme de Management Qualité - ISO 9001, version 2000 voo _|

2-4. Squelette du programme & compléter associé au clignotement d'une Led par le WDT

PRRICC CBC EI COCCI TOS IOCIE CCC RCC IOISIORI CICK AC ICICI I AACR Ae sck A A AOR IEC oo lc ae se ak

Commande par un interrupteur sur le port A du clignotement de LEDs sur le port B par le WDT.

Microcontréleur : PIC] 6F84A
Oscillateur : 4 MHz,

EE EE SII II II AIT OIE AI STEAD OSETIA SEI A ASA A ASO SE AEA AAA A

#define LED Vi PORTB.FO ## La LED Verte connectée A RBO
#define LED _J PORTB.F7 // La LED Jaune connectée 4 RB7
#define SW PORTA.FO // L'interrupteur connectée 4 RAO

void main()

‘/ Configurer les Ports A et B en éteignant les 2 LED

‘/ SLEEP est une instruction assembleur, Elle sera utilisée grace a la ligne : asm SLEEP

while(1) // Boucle infinie

{

// Si SW est Ouvert ==> La LED_V reste éteinte alors que la LED _J clignote par I'instruction SLEEP

ECOLE POLYTECHNIQUE PRIVEE D'AGADIR
~ 4 -© Propriété Exclusive de I'Ecole Polytechnique Privée d'Agadir Av. Hassan te" Cité Dakhla, Agadir - Tét : 028 23 34 34
| | TRAVAUX P RATIQUES Atelier N° : 8

| Module : Informatique Industrielle Enseignant : L. Bouhouch

| Systéme de Management Qualité - ISO 9001, version 2000 | voo

ATELIER n° 8

Commande de clignotement de LEDs par microcontréleur PICI6F84A

La fiche de TP décrite ci-dessous a pour but, d'une part de proposer un programme C qui, selon Je choix avec
un interrupteur relié 4 une entrée du PIC16F84A de faire clignoter infiniment unc des deux Leds reliées aux
sorties du microcontréleur PICI6F84A. D'autre part, programmer réellement le microcontréleur et faire le
test de cette application.

1. Enonceé du Sujet :

~ Etre apte 4 développer un programme en langage C, permettant de commander
les interfaces d'entrées/sorties du PICI6F84A.

- Etre capable de programmer le PICI6F84A en utilisant un programmateur
fourni et un logiciel de programmation.

Objectifs :

1- Création d'un projet sous MikroC PRO for PIC avec la cible un PICIGF84A.

2- Compléter le programme C réalisant le clignotement infini, selon I'état de la
broche RAO, d'une des deux LEDs reliées aux broches PBO et RB7 du Port B
du PIC en se servant du WDT (WatchDog Timer) pour mettre le PIC en pause,
grace a l'instruction assembleur SLEEP.

3- Test de l'application sur le simulateur fourni aprés la programmation du PIC.

Cahier des charges :

Materiels et logiciels nécessaires :

- Micro-ordinateur de type PC sous Windows,

- Outil de développement MikroC PRO for PIC version 6.5 ou 6.6.

~ Programmateur de PIC de type K150 sur USB avec son logiciel de programmation.
- Simulateur de test des PIC avec alimentation.

Durée : 3 heures

ECOLE POLYTECHNIQUE PRIVEE D'AGAI
- 1 -© Propriété Exctusive de Ecole Polytechnique Privée d'Agadir Ay. Hassan Ler Cite Dakhla, Agadir - Tél : 028 23 34
TRAVAUX PRATIQUES Atelier N°: 8 a

|
| J Module : Informatique Industrielle Enseignant : L. Bouhouch
|

Systeme de Management Qualité — ISO 9001, version 2000 | voo

2. Projet sous MikroC PRO for PIC

Dans cet atelier, nous nous intéressons 4 simuler et a programmer réellement le clignotement infini, selon
l'état de la broche RAO, d'une des deux LEDs reliées aux broches PBO et RB7 du Port B du PIC! 6F84A, en
se servant du WDT (WatchDog Timer) pour mettre le PIC en pause durant environ 2,3 seconde, grace a
l'instruction assembleur SLEEP. Le quartz utilisé est de valeur 4 MHz,

2-1. Rappeis

La programmation des entrées/sortics (Port A et Port B) du microcontréleur PIC16F84 nécessite l'utilisation
des registres suivants : (TRISA, PORTA) et (TRISB, PORTB).

> Les registres TRISA et TRISB contiennent 8 bits chacun pour le choix de la direction du port A ou B:
1 => Entrée et 0 > Sortie.

> Les registres PORTA et PORTB sont composés chacun de 8 bits pour lire l'état d'une entrée ou forcer
l'état d'une sortie des ports A ou B.

La programmation du WDT du microcontréleur PICI6F84A_ nécessite la configuration du registre
OPTION_REG.

> Le registre OPTION_REG cst composé des bits suivants :

OPTION REG pang _INTEDG | TOCS | TOSE | PSA | PS? | PSI) PSO |

+ /RBPU : Résistances de tirage 4 Vdd des Entrées du Port B (Validé par 0).
* INTEDG : Front actif provoquant une interruption sur

la borne RBO (1 pour montant). - | Valeur des Bits) Diviseur (TMRO) | Diviseur (WDT)

* TOCS : Source utilisée par le Timer (0 pour horloge 000 1:2 Tel
interne, 1 pour externe sur RA4). 001 1:4 1:2

* TOSE : Front actif sur RA4 faisant avancer le 910 1:8 1:4
compteur Timer (0 pour front montant) O11 1:16 1:8

* PSA: Pré-diviseur associé au Timer si (0) ou au chien 100 a 1:16
de garde WDT si (1). 101 1: 64 1:32

* PS2 ... 0: Valeur du Diviseur de fréquence pour le 10 I 128 1:64
Timer ou le WDT. 111 1: 256 1: 128

2-2. Travail a faire
1- Créer un dossier personnel dans le disque F:\ ou H:\EspaceStockage\
(Exemple H:\EspaceStockage\V otreNom).
2- Lancer le logiciel ISIS, réaliser et compléter le schéma donné ci-dessous.
3- Sauvegarder ce schéma dans Je dossier personnel (H:\EspaceStockage\V otreNom).
4- Exécuter le logiciel MikroC PRO for PIC.
5- En cas de besoin fermer ie projet actuel en utilisant le menu Project/Close Project.

6- Créer un nouveau projet sous MikroC PRO jor PIC dans votre dossier personnel, en utilisant le menu

Project/New Project... ou en cliquant sur loption New Project... de la page principale Start Page, puis en
cliquant sur Next.

7. Donner un nom & votre projet en le plagant dans votre dossier de travail, tout en choisissant la cibie
PICI6F84A ainsi aue fa valeur de la fréquence du quartz (4 MHz) utilisé pour "horloge de
fonctionnement. Puis cliquer sur Next, Next, Next et enfin Finish.

8. En cas de doute, vous pouvez 4 tout moment changer le microcontréleur cible ainsi que la fréquence, en
cliquant 4 gauche sur la fenétre Project Settings.

ECOLE POLYTECHNIQUE PRIVEE D'AGADIR
~ 2 -© Propriété Exclusive de Ecole Polytecnnique Privée d’Agadir Av. Hassan 1 Cité Dakhla, Agadir - Tél : 028 23 34 34

~~ TRAVAUX PRATIQUES ~— Atelier N°: 8

Module : Informatique Industrielle Enseignant : L. Bouhouc:
voo

ecoLE Systéme de Management Qualité — ISO 9001, version 2000

POLYTECHNIQUE

PRIVEE D?- BADIR

9. Afin d'activer le WDT, faites un clic sur le menu Project puis sur Edit Project puis choisir Enabled pour

Watchdog Timer.

BQ IKTOU FRU FOP FIL Ye LUPE Ur ory Il é- 1o\lt Edit Project

File Edit View [oProject.| Build Run Fools General project settings |)

&, New Project... Shift+ Ctrl Oxci .

. XT

Be pen Project. one aie Watchdog Fm
‘Enabled we
Power-up Ti

| Edit Search Paths... shite Lire? pg EE

‘Deebled »

Edit Project... Shifts Ctrl+E CodeProtection

i i Code protection off v

es} «Clean Project Fotder... Seed a

10. Compléter et compiler le programme proposé ci-dessous, afin de générer le fichier xxxx.HEX. Votre
programme doit traiter les opérations suivantes :
- Utilisation du WDT du PIC qui le réveille au bout d'un certain temps d'inactivité. On rappelle que, sans
pré-diviseur, le PICI6F84A est réveillé au bout d'environ 18 ms. Dans notre cas, on souhaite que la
période entre deux changements d'état de la LED soit d'environ 2,3 s.

- Ne pas utiliser d'interruption.
- Le Timer reste inactif.
- Selon l'état de RAO (broche 17), faire clignoter l'une des LEDs {(LED_V ou LED_J) reliées aux broches
6 et 13 (RBO et RB7) du PICIGF84A.
11. Expliquer la ligne _ Config qui est choisi dans votre
programme.
12. Embarquer dans le microcontréleur du schéma le fichier
xxxx.HEX. Tester enfin l'application en Ja simulant par ISIS.
13. En utilisant le logiciel de programmation fourni avec fe
programmateur mis 4 votre disposition, procéder a la
programmation du microcontréleur PIC 16F84.

14. Enfin, en utilisant le simulateur de test fourni et le schémas
ci-contre, faite le cablage et le test de votre application.

15. Dans votre compte rendu, expliquer les différentes étapes et
procédure en donnant une conclusion.