Académique Documents
Professionnel Documents
Culture Documents
L2 MIM, L2 SE et L2 TIC
2021-2022
Chapitre 3:
Architecture des Microcontrôleurs:
PIC16F877
Plan du Cours
I. Motivation pour le Cours.!
II. Définition d’un microcontrôleur
III. Caractéristiques.
IV. Le microcontrôleur PIC.
V. PIC 16F877.
1- Structure Externe et Interne.
2- Les Ports d’Entrées/Sorties.
3- Les Timers.
4- Convertisseur Analogique/Numérique.
5- Liaison série ‘USART’.
6- Le Chien de garde ‘Watchdog’.
I. A quoi sert ce court… Motivation !
Connaître la base de l’architecture d’un
microcontrôleur (pour un Electronicien c’est un
minimum !).
Connaitre les performances de microcontrôleur.
Connaitre les structures Interne/Externe de
microcontrôleur 16F877.
Etude des périphériques de PIC 16F877.
Indispensable pour les étudiants de L2 MIM, L2 SE
et L2 TIC.
4
Définition d’un microcontrôleur
un microcontrôleur (µc) est un composant réunissant sur un seul
et même puce de silicium un microprocesseur, divers dispositifs
d'entrées/sorties et de contrôle d'interruptions ainsi que de la
mémoire, notamment pour stocker le programme d’application.
5
Définition d’un microcontrôleur
6
Définition d’un microcontrôleur
Familles des microcontrôleurs
Il existe plusieurs familles de microcontrôleurs, se différenciant
par la vitesse de leur processeur et par le nombre de périphériques
qui les composent.
Les famille de microcontrôleurs les plus connues sont :
Atmel : AT; familles AT89Sxxxx,AT90xxxx, megaAVR…
Motorolla : famille 68HCxxx, …
Microship : PIC ; familles 12Cxxx, 16Cxxx, 16Fxxx, 18Fxxx, …
Intel : famille 80C186XX
STMicroelectronics : famille STX
Analog Devices : famille ADuC
7
Caractéristiques d’un microcontrôleur
❑ Un plus haut degré d'intégration, une plus faible consommation électrique.
❑ Une vitesse de fonctionnement plus faible par rapport
aux microprocesseurs (centaine de mégahertz).
❑ Un coût réduit par rapport aux microprocesseurs.
❑ Mise en œuvre plus simple.
❑ Grand fiabilité.
9
Microcontrôleur PIC 16F877
Structure externe:
Structure interne:
10
Microcontrôleur PIC 16F877
Structure interne: Caractéristiques de la CPU
CPU à architecture RISC (8 bits)
Mémoire programme de 8 Kmots de 14 bits (Flash)
Mémoire donnée de 368 Octets
EEPROM donnée de 256 Octets
14 sources interruptions
Générateur d'horloge de type RC ou quartz (4-20 MHz)
Fonctionnement en mode sleep pour réduction de la consommation
Programmation par mode ICSP (In Circuit Serial Programming) 12V ou
5V
Possibilité aux applications utilisateur d’accéder à la mémoire
programme.
Jeux de 35 instructions.
11
Microcontrôleur PIC 16F877
Structure interne: Caractéristiques des périphériques
05 ports d'entrée sortie.
Timer0 :Timer/Compteur 8 bits avec un prédiviseur 8 bits
Timer1 : Timer/Compteur 16 bits avec un prédivision de 1, 2, 4, ou 8, il
peut être incrémenté en mode veille (Sleep), via une horloge externe
Timer2 :Timer 8 bits avec deux diviseurs (pré et post diviseur)
Deux modules « Capture, Compare et PWM » :
Module capture 16 bits avec une résolution max. 12,5 ns,
Module Compare 16 bits avec une résolution max. 200 ns,
Module PWM avec une résolution max. 10 bits,
Convertisseur Analogiques Numériques multi canal (8 voies) avec une
conversion sur 10 bits,
Synchronous Serial Port (SSP) SSP, Port série synchrone en mode I2C
(mode maitre/escalve),
Universel Synchronous Asynchronous Receiver Transmitter (USART) : Port
série universel, mode asynchrone (RS232) et mode synchrone. 12
Microcontrôleur PIC 16F877
Cadencement:
Le PIC 16F877A peut fonctionner en 4 modes d’oscillateur.
LP : Low Power crystal : quartz/résonateur en céramique à faible
puissance.
Très bonne Stabilité pour le Quartz
Typiquement 32 kHz à 200 kHz environ.
XT : Fréquence moyenne : quartz/résonateur en céramique. Quartz
Moins couteux: résonateur par rapport au quartz
entre 100 kHz et 4 MHz.
HS: High Speed : quartz à haute fréquence/résonateur en céramique HF.
* une fréquence d'horloge maximale de 20 MHz.
RC : Circuit RC (oscillateur externe).
Très peu stable mais très faible cout
Pas possible pour tous les microprocesseurs Résonateur en céramique
13
• Cadencement:
❑ La fréquence d'oscillation
théorique en fonction des valeurs
de REXT et CEXT est définie par :
1
F=
R EXT C EXT
14
Microcontrôleur PIC 16F877
Alimentation:
Tension de fonctionnement de 2 a 5V.
▪ Vdd=5V.
▪ Vss à la masse.
▪ MCLR = 5V :
La broche MCLR (Master Clear) a pour
effet de provoquer la réinitialisation du
microprocesseur lorsqu’elle est
connectée à 0.
▪ Le courant absorbé ou fourni peut
atteindre 25 mA dans une broche.
Lorsque le signal de “RESET” est activé, tous les registres sont initialisé et le
compteur programme se place à une adresse spécifique appelée “Vecteur de
RESET”. 15
Microcontrôleur PIC 16F877
Les ports d’entrées/sorties :
Ce sont des ports parallèles. Ils permettent de recueillir des informations
ou de piloter des modules sur l’environnement extérieur. Ils sont souvent
bidirectionnels (configurable en entrée ou sortie).
Le PIC 16F877 dispose de 5 ports :
Port A : 6 pins I/O numérotées de RA0 à RA5.
Port B : 8 pins I/O numérotées de RB0 à RB7.
Port C : 8 pins I/O numérotées de RC0 à RC7.
Port D : 8 pins I/O numérotées de RD0 à RD7.
Port E : 3 pins I/O numérotées de RE0 à RE2.
16
Microcontrôleur PIC 16F877
Les ports d’entrées/sorties :
❖ Le Port A: Les broches port A, excepté RA4, sont multiplexées, avec les entrées du
convertisseur analogique numérique (AN0 .. AN4). La broche RA4 est multiplexé avec l’entrée
d’horloge externe duTimer0 (RA4/T0CKI).
❖ Le port B peut être programmé pour un tirage à 5V (pull up) de toutes ses lignes que l'on
peut mettre ou non en service en mode entrée uniquement. Elles sont automatiquement
désactivées quand le port est configuré en sortie.
En mode entrée, chaque broche du PORTB doit être maintenue à un niveau haut par
l'intermédiaire de résistances de 10 k pour ne pas déclencher d'interruptions imprévues.
Possibilité d’interruption externe sur RB0 et lorsqu’ il y a un changement d'état associé à ces
4 broches: RB4-RB7.
❖ Le port C est partagé avec liaisons, les Timers 1 et 2 et les modules CCP (Broche RC1 et
RC2).
❖ Le Port D et E utilisation comme PORTS E/S. les ports D et E, permettent au
microcontrôleur de travailler en mode PSP (Parallel Slave Port) c’est-à-dire, qu’il peut être
interfacé avec un autre microprocesseur. Le PORTE peut être aussi, configuré en mode
analogique pour former avec le PORTA les 8 entrées du convertisseur analogique numérique.
Par défaut, le PORTE est configuré comme port analogique, et donc, comme pour le
PORTA. 17
Microcontrôleur PIC 16F877
Les ports d’entrées/sorties :
18
Microcontrôleur PIC 16F877
Les ports d’entrées/sorties :
Sortie Les sorties logiques:
❑ Sortie trois états:
A B S
A
0 0 1
S
B 1 1 0
1 0 ‘Z’
A travers les valeurs de bit TRIS et PORT, les sorties des bascule
Entrée D (LATCH) configurent les portes OU et la porte ET avec les
transistors pour obtenir les sortie 3 états mentionnée au dessus.
19
Microcontrôleur PIC 16F877
Les ports d’entrées/sorties :
Les sorties logiques:
❑ Sortie open drain (MOS) / collecteur ouvert (Bipolaire):
21
Microcontrôleur PIC 16F877
LesTIMERS:TIMER0,1,2.
22
Microcontrôleur PIC 16F877
23
Microcontrôleur PIC 16F877
•TIMER 0
❑ L’horloge fournie au PIC est divisée par 4. C’est cette base de temps qui donne le
temps d’un cycle.
❑ Si on utilise par exemple un quartz de 4MHz, on obtient donc 1000000 de
cycles/seconde ; or, comme le PIC exécute pratiquement une instruction par cycle,
hormis les sauts, cela nous donne une puissance de l’ordre de 1MIPS (1 Million
d’Instructions Par Seconde).
24
Microcontrôleur PIC 16F877
•TIMER 0
Sans pré-diviseur (Prescalar)
Option_Registre
25
Microcontrôleur PIC 16F877
• Convertisseur Analogique/Numérique (CAN)
Le CAN : Dans les microcontrôleurs, les voix de conversion
analogique/numérique sont souvent multiplexées.
Très souvent, il faut configuré les entrées de conversion en « entrée
analogique » car celles-ci peuvent aussi être utilisée en entrée
numérique.
Le PIC16F877 travaille avec un CAN qui permet un échantillonnage de
10 bit. Le signal numérique peut donc prendra 1024 valeurs possible.
Les PICS considèrent par défaut que la valeur minimale correspond à
leur VSS, tandis que la valeur maximale correspond à la tension positive
d’alimentationVdd. Il y a aussi la possibilité d’utiliser d’autre valeurs.
26
Microcontrôleur PIC 16F877
• Convertisseur Analogique/Numérique (CAN)
27
Microcontrôleur PIC 16F877
• Convertisseur Analogique/Numérique (CAN)
28
Microcontrôleur PIC 16F877
• Convertisseur Analogique/Numérique (CAN)
Le registre ADCON0
29
Microcontrôleur PIC 16F877
• Convertisseur Analogique/Numérique (CAN)
30
Microcontrôleur PIC 16F877
La liaison série:
La liaison série USART (Universal Synchronous Asynchronous
Receiver Transmitter ) est le mode le plus rependu pour
communiquer (et aussi le plus vieux).
Une liaison série permet de transmettre des données
sur un nombre limité de fils. Cette liaison peut être
Half duplex (liaison synchrone) ou full duplex (liaison
Asynchrone).
Sur le microcontrôleur PIC16F877A, la liaison série
asynchrone peut être mise en œuvre à l’aide des pins
RxD et TxD. Elle est réalisée par un USART :
RxD, signal de réception de l’USART
TxD, signal de transmission de l’USART
31
Microcontrôleur PIC 16F877
La liaison série:
1ère étape : Configuration de la transmission
2ème étape : Envoyer et recevoir des données
32
Microcontrôleur PIC 16F877
La liaison série:
33
Microcontrôleur PIC 16F877
Watchdog:
Le chien de garde (Watchdog) est un dispositif matériel et logiciel qui
permet de se prémunir contre les plantages accidentels. L’idée est de
provoquer un RESET du CPU afin de relancer l’application. (Les
données sont bien sur perdues). Le plantage est défini lorsque le
programme n’est pas venu à temps faire signe au watchdog.
34
Merci Pour Votre
Attention