Sunteți pe pagina 1din 31

Compte rendu du TP : INFORMATIQUE

INDUSTRIELLE

Filière ingénieur
Conception et Production Industrielles « FI CPI »
Semestre 2

GROUPE : 1

Réalisé par : Encadré par :


EL KADI Oumaima Mr. ZARKANE Ahmed
BENANI Imad

ANNEE UNIVERSITAIRE : 2018/2019


Remerciement

Au terme de ce travail, nous tenons à exprimer notre


reconnaissance et notre profonde gratitude à notre cher
professeur ZARKANE Ahmed , pour sa disponibilité,
ses précieuses directives, son sens à l'écoute, et surtout
pour son soutien continue et inconditionnel qui a
contribué à l’aboutissement de ce travail.

Du fond du cœur, merci

1
I. Introduction
1. Eléments essentiels du PIC 16F887
Parmi les éléments essentiels du PIC16F887, on peut citer :
 Mémoire programme de type EEPROM flash de 8K mots de 14 bits,
 Mémoire EEPROM de 256 octets,
 RAM donnée de 368 octets,
 5 ports d'entrée sortie (8 bits), PORTA, PORTB, PORTC, PORTD,
PORTE (4 bits),
 Convertisseur Analogiques numériques 10 bits à 14 canaux,
 USART, Port série universel, mode asynchrone (RS232) et mode
synchrone,
 MSSP, Port série synchrone supportant I2C,
 Trois TIMERS TMR0, TMR1 et TMR2
 Deux modules de comparaison et Capture CCP1 et CCP,
 Un chien de garde,
 13 sources d'interruption,
 Générateur d'horloge, à quartz (jusqu’ à 20 MHz) ou à Oscillateur RC
 Protection de code,
 Fonctionnement en mode sleep pour réduction de la consommation,
 Programmation in-situ ICSP (In Circuit Serial Programming) 12V ou 5V,
 Possibilité aux applications utilisateur d’accéder la mémoire programme,
 Tension de fonctionnement de 2 à 5V,
 Jeux de 35 instructions

2
Figure 1 : Les éléments constitutifs du PIC 16F887
2. Brochage du 16F887

Le PIC16F877 est un circuit intégré de 40 broches :

3
Figure 2: PIC16F882 SPECIAL FUNCTION REGISTERS

4
Figure 3: PIC16F884/PIC16F887 BLOCK DIAGRAM

5
Figure 4: PROGRAM MEMORY MAP AND STACK FOR THE
PIC16F886 / PIC16F887

3. Les performances du PIC 16F877

 Processeur RISC haute - performance


 Mode veille à économie d'énergie
 Reset à la mise sous tension (PoR)
 Timer Watchdog (WDT) avancé, avec son propre oscillateur RC sur puce
pour un fonctionnement fiable
 Programmation Série In-Situ (ICSP™) via deux broches
 Débogage in-situ (ICD) via deux broches
 Auto-reprogrammable par contrôle logiciel
 Code de protection programmable
 Module Capture / Comparaison / PWM amélioré (ECCP) avec arrêt
automatique et pilotage PWM
 Effacement maitre multiplexé avec la broche Pull-up/entrée

6
II. Manipulation

 Logiciels utilisés :

 MPLab
 Isis
 Maquette NX-887

1. CHENILLARD 1 sens, de fréquence 0.25 Hz

A l’aide d’un PIC 16F877, On réalise un chenillard à un sens de défilement,


composé de 8 LEDS dont la fréquence de rotation est de 0.25Hz.La première
LED à s’allumer étant la LED1 (reliée à RDO) puis on allume à tour de rôle les
autres LEDs tel que LED1 à LED8 sont liées respectivement à RD0 à RD7.

a. Le montage du circuit
Schéma électrique avec PIC16F887

7
a. L’organigramme du programme

Début

Accès au bank 0

Initialisation des ports RB et RD

Accès au bank 1

Configuration du port B en entré et


le port D en sortie

Initialisation RBO/INT en front


montant

Accès au bank 3

Mettre le port B en mode numérique

Accès au bank 0

Activation de l’interruption générale


et l’interruption de RB0/INT

Effacement du flag d’interruption

Mettre à 0 le carry du registre


STATUS

Mettre à 1 RD0 (allumer LED0)

Temporisation 0.5s

Rotation des bits du port D à travers


carry grâce à l’instruction RLF

OUI NON
Test si le carry égale à 0
8
b. L’organigramme de l’interruption

Interruption RB0/INT

Sauvegarder les registres W,


STATUS

NON
Test si RB0 égale à 0
BP n’est pas déclenché

OUI
NON
BP est pas déclenché Test si RB0 égale à 1

Effacer le flag INTF de


l’interruption

Restauration des registres W,


STATUS

Retour d’interruption

9
c. Le programme en langage assembleur

Le code source a été écrit en langage assembleur avec l'environnement de


développement gratuit MPLAB IDE de Microchip

10
11
12
d. Simulation avec ISIS-Proteus

Proteus est une suite logicielle de CAO électronique éditée par la


société Labcenter Electronics.

ISIS est la composante de Proteus qui permet la création de schémas et la


simulation électrique.

La grande force de ISIS est de pouvoir simuler le comportement d'un


microcontrôleur (PIC, Atmel, 8051, ARM, HC11...) et de son interaction avec
les composants qui l'entourent.

2. CHENILLARD 2 sens, de fréquence 0.25 Hz

A l’aide d’un PIC 16F877, on réalise un chenillard à double sens de défilement


(un coup à gauche, puis un coup à droite composé de 8 LEDs dont la
fréquence de rotation est de 0.25 Hz

13
a. Le montage du circuit

Schéma électrique avec PIC16F887

b. L’organigramme du programme

Début

Accès au bank 0

Initialisation des ports RB et RD

Accès au bank 1

Configuration du port B en entré et


le port D en sortie

Initialisation RBO/INT en front


montant

Accès au bank 3

Mettre le port B en mode numérique

Accès au bank 0

14
Activation de l’interruption générale
et l’interruption de RB0/INT

Effacement du flag d’interruption

Mettre à 1 RD0 (allumer LED0)

Temporisation 0.5s

Mettre à 0 le carry du registre


STATUS

Mettre à 1 RD1 (allumer LED 1)

Temporisation 0.5 s

Rotation des bits du port D avec le


carry à droite grâce à l’instruction
RLF
NON
Test si carry égale à1
Oui

Effacer le carry (mettre à 0)

Mettre à 1 RD6

Temporisation 0.5 s

NON
Rotation des bits du port D avec le
carry à gauche grâce à l’instruction
RRF

OUI
Test si carry égale à1

15
 Le programme admet le même organigramme d’interruption

c. Le programme en langage assembleur

16
17
18
19
d. Simulation avec ISIS-Proteus

3. Gestion d’un clavier 12 touches


On désire réaliser un montage composé d’un PIC 16F877, d’un clavier 4x3 et
d’un afficheur 7 segments
Le PIC doit détecter tout appui sur une touche du clavier et afficher la valeur
correspondante à l’aide de l’afficheur 7 segments.
Le fonctionnement :
Les lignes sont reliées à un port entrant du PIC et les colonnes à un port sortant,
Si on n’a appuyé sur aucune touche, lire le port entrant donnera 1 pour toute les
lignes, puisqu’elles sont toutes reliées au niveau haut (VCC). Si la colonne 1 est
reliée à la terre et les colonnes 2 et 3 au niveau haut et qu’on appui la touche 3,
la ligne 1 sera à 0puisque la touche pressée permet au courant de s’écouler .Les
lignes 2,3 et 4 restent au niveau haut.
Le clavier doit continuellement examiner le clavier pour détecter et identifier la
touche qui est pressée et afficher sa valeur correspondante.

20
 Afficheur à 7 segments :

 Clavier à 12 touches :

21
a. Le montage du circuit

b. L’organigramme du programme

Début

Accès au bank 0

Initialisation des ports RC et RD

Accès au bank 1

Configuration de RC0, RC1, RC2 en


sortie et RC3, RC4, RC5, RC6 en
entré

Initialisation du port D en sortie

Mettre à 1 RD6 (activer le segment


g)

Mettre à 0 RC0 et à 1 RC1 , RC2 22


Test si RC3 égale à 1
NON
Mettre à 1 les bits RD0, RD1, RD2,
RD3, RD6 OUI

Test si RC4 égale à 1

NON
Mettre à 1 les bits RD0, RD2, RD3,
RD4, RD5, RD6
OUI

Test si RC5 égale à 1


NON
Mettre à 1 les bits RD0, RD2, RD3,
OUI RD1, RD5, RD6 NON OUI

Test si RC6 égale à 1

NON
Mettre à 1 les bits RD0, RD3, RD6
OUI

Mettre à 0 RC1 et à 1 RC0 , RC2

Test si RC3 égale à 1

NON
Mettre à 1 les bits RD0, RD1, RD3, NON
RD4, RD6 OUI

Test si RC4 égale à 1

NON
Mettre à 1 les bits RD0, RD2, RD3,
RD5, RD6

23
OUI

Test si RC5 égale à 1


NON
Mettre à 1 les bits RD0, RD1, RD2, NON
OUI
RD3, RD4, RD5, RD6 OUI

Test si RC6 égale à 1

NON
Mettre à 1 les bits RD0, RD1, RD2,
RD3, RD4, RD5
OUI

Mettre à 0 RC2 et à 1 RC0 , RC1

Test si RC3 égale à 1


NON

Mettre à 1 les bits RD1, RD2


OUI

Test si RC4 égale à 1

NON
Mettre à 1 les bits RD1, RD2, RD5,
RD6
OUI

Test si RC5 égale à 1


NON

Mettre à 1 les bits RD0, RD1, RD2


OUI NON OUI

Test si RC6 égale à 1


OUI

NON
Mettre à 1 les bits RD0, RD1, RD5,
RD6 24
c. Le programme en langage assembleur

25
26
27
28
d. Simulation avec ISIS-Proteus

III. Vérification
PICkit est une famille de programmeurs pour microcontrôleur
PIC de Microchip Technology. Ils permettent de programmer les
microcontrôleurs et de déboguer les programmes in situ, ainsi que de
programmer certaines mémoires EEPROM.
On utilise le logiciel PICkit 2 pour importer le programme qui va être chargé
dans la maquette NX-887 à fin de vérifier le programme.

29
IV. Conclusion

Ce travail pratique nous a permis de manipuler des logiciels de


simulation pour réaliser des montages en ISIS ainsi de vérifier les programme
en langage assembleur qui est, en programmation informatique, un langage de
bas niveau qui représente le langage machine sous une forme lisible par un
humain.

30

S-ar putea să vă placă și