République Algérienne Démocratique et
Populaire Ministère de l'Enseignement Supérieur de la
Recherche Scientifique
Université des sciences et de la technologie MOHA
MED BOUDIA F Oran
Mémoire de fin d'études pour l'obtention
du
diplôme de Licence
L-M-D
Option : Technique de Communication
Présenté par :
ISila .011 017e4 ileae~~ilt~eK
THÈME
Programmation En C Sur Carte "EASYPIC 2"
du Microcontrôleurs 16F877
Encadré par : Mr HAMADA
JURY
Examinateur : Mr BOUGHANMI
Encadreur : Mr HAMADA
2ème Promotion 2007/2008
Introduction Générale 1
CHAPITREI :
PARTIE THEORIQUE : ETUDE THEORIQUE DES INTERFAÇE
DU PIC 16F877
I. Introduction
|
2
|
II. Présentation Microcontrôleur PIC 16F877
|
.2
|
|
1. Principales caractéristiques du PIC
16F877
|
. 3
|
2. Architecture Interne
|
...4
|
2.1Coeur du PIC : le microprocesseur
|
4
|
2.2 Horloge
|
5
|
2.3 Pile et Compteur Programme
|
6
|
3. Mémoires du PIC
|
..6
|
3.1 Mémoire FLASH
|
6
|
3.2 Mémoire RAM
|
6
|
3.3 Mémoire EEPROM
|
6
|
4. Architecture Externe
|
7
|
5. Ports d'Entrées Sorties
|
8
|
5.1 PORT A
|
8
|
5.2 PORT B
|
9
|
5.3 PORT C
|
10
|
5.4 PORT D
|
11
|
5.5 PORT E
|
12
|
6. Module de conversion . ./N
|
13
|
6.1 Caractéristiques
générales du module A/D
|
13
|
7. Interface série asynchrone
|
16
|
8. Module MSSP (Master Synchronous Serial Port)
|
18
|
9. Port Parallèle Esclave (PSP : Parallel
Slave Port)
|
22
|
10. Modules CCP1 et CCP2
|
23
|
11.Timers
|
26
|
11.1 Timer 0
|
26
|
11.2 Timer 1
|
27
|
11.3 Timer 2
|
28
|
12. Les interruptions
|
29
|
CHAPITRE II : PARTIE PRATIQUE: APPLICATIONS DU PIC
16F877.
|
|
Présentation de la Carte EASYPI
|
33
|
I. Ports Parallèles
|
35
|
1. Utilisation des LEDs
|
35
|
1.1 Clignotement d'une led
|
37
|
1.2 Chenillard
|
.38
|
1.3 Compteur 0-9 des leds
|
38
|
2. Utilisation avec les afficheurs 7 segment
|
39
|
2.1 Compteur 0 - 9 des afficheurs
|
40
|
2.2 Compteur 0 - 99
|
41
|
3. Utilisation avec le clavier
|
43
|
3.1 Allumage d'une led à l'aide d'une
touche
|
43
|
3.2 Allumage des leds à l'aide de chaque
touche correspondant
|
.....44
|
II. Port Série
|
45
|
1. Utilisation avec la liaison RS232
|
45
|
1.1 Transmission des données entre le PIC
et le PC
|
46
|
III. Port Analogique Numérique
|
47
|
1. Utilisation du convertisseur A/D
|
47
|
1.1Conversion d'un signal analogique
|
48
|
2. Utilisation du convertisseur avec un capteur
de température
|
51
|
2.1 Conversion du signal analogique reçu
par le capteur
|
51
|
IV. Autres Applications
|
52
|
1. Utilisation du pic avec LCD
|
52
|
1.1 Affichage d'un message
|
54
|
1.2 Utilisation du pic pour la commande d'un
moteur pas à pas
|
55
|
2. Utilisation du pic pour la commande d'un
moteur pas à pas .
|
.56
|
Figure I.1 :
|
3
|
Figure I.2 : Schéma interne du PIC:
|
4
|
Figure I.3 : Schéma de L'ALU:
|
5
|
Figure I.4 : Schéma de l'horloge
|
....6
|
Figure I.5 : Schéma de la pile
|
...6
|
Figure I.6 : Schéma interne des
mémoires
|
7
|
Figure I.7 : Brochage du PIC:
|
7
|
Figure I.8 : Schéma interne d'une ligne
d'entrée sortie du PORTA:
|
9
|
Figure I.9 : Schéma interne d'une ligne
d'entrée sortie du PORTB
Pins (RB3 - RB0) Pins (RB7-RB4)
|
10
|
Figure I.10 : Schéma interne d'une ligne
d'entrée sortie du PORTC
Pins (RC7-RC5, R-RC0) Pins (RC3-RC4) )
|
11
|
Figure I.11 : Schéma interne d'une ligne
d'entrée sortie du PORTD)
|
12
|
Figure I.12 : Schéma interne d'une ligne
d'entrée sortie du PORTE
|
.13
|
Figure I.13 : Schéma Interne du
convertisseur analogique/numérique
|
14
|
Figure I.14 : Schéma de justification de
la donnée convertie
|
15
|
FigureI.15 : Schéma interne du port en
transmission
|
16
|
Figure I.16 : Schéma interne du port en
réception
|
..17
|
Figure I.17 : Schéma interne du module
MSSP en mode SPI
|
19
|
Figure I.18 : Schéma interne du module
MSSP en mode I2C
|
19
|
Figure I.19 : Schéma interne du module
PSP
|
22
|
Figure I.20 : Schéma interne du module
CCP
|
23
|
Figure I.21 : Schéma interne
simplifié du TMR0 sans le WATCHDOG
|
..27
|
Figure I.22 : Schéma interne du TMR1
|
..27
|
Figure I.23 : Schéma du TMR2
|
..28
|
Figure I.24 : Schéma interne des
interruptions
|
31
|
Figure II.1 : Schéma interne de
l'alimentation
|
33
|
Figure II.2 : Photo de la carte EASY PI
|
34
|
Figure II.3 : Montage des leds avec le PIC
|
36
|
Figure II.4 : Montage des afficheurs 7segments
avec le PIC
|
.40
|
Figure II.5 : Montage du clavier avec le PIC
|
43
|
Figure II.6 : Montage du PIC avec un PC via une
liaison RS232
|
.45
|
Figure II.7 : Montage du convertisseur A/N avec
le PIC
|
...48
|
Figure II.8 : Montage du capteur LM335 avec le
PIC
|
...51
|
Figure II.9 : Montage de l'afficheur LCD 2X16
avec le PIC
|
52
|
Figure II.10 : Montage de la carte de commande
du moteur pas a pas avec le PIC
|
..56
|
Cette étude a été faite dans le cadre de
constituer un document pédagogique destiné aux étudiants
qui veulent s'initier à la programmation des microcontrôleu rs.
Ce projet a été réalisé dans le but
d'étudier les caractéristiques techniques
d'un microcontrôleur par son utilisation dans certaines
applications bien déterminées, notre choix est porté vers
le pic 16F877 de la famille MicroChip . La programmation des
microcontrôleurs nécessite des outils fondamentaux citons :
· Le compilateur.
· Le programmateur.
Plusieurs langages de programmation sont à la
disposition des utilisateurs des pics c'est le compilateur qui fait la
différence entre chaque langage. Le principe reste le même, c'est
les instructions qui changent.
Dans notre projet le logiciel utilisé est le MPLABv6.4
dont il dispose d'un compilateur C et un assembleur, notre choix s'est
porté vers le langage C pour sa simplicité d'utilisation.
Chaque programme compilé doit être
téléchargé sur le pic à l'aide d'un programmateur
qui nécessite une interface graphique pour la transmission de ce
dernier. Nous avons a utilisé le PIC FLASH Programmer v5.15.
Le mémoire a été présenté
notre en deux parties :
Dans la première partie théorique :
nous avons étudié les différentes interfaces du pic,
chaque interface a été détaillée avec une
explication du principe de fonctionnement, un schéma interne et son
registre associé.
Dans la deuxième partie pratique : nous avons
développé les programmes d'applications sur les interfaces
suivantes : port série, parallèle et le module A/D.
Dans chaque application nous avons proposée une
explication du principe de fonctionnement, un schéma et un organigramme
qui traduit le programme de l'application.
Par manque de temps les interfaces PSP, MSSP, CCP ... n'ont pas
été appliquées.
|