Vous êtes sur la page 1sur 35

Cours: Architecture des

Microprocesseurs & Microcontrôleurs

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.

 Il intègre également un certain nombre de périphériques


spécifiques des domaines ciblés (bus série, interface parallèle,
convertisseur analogique numérique, ...).

=> Un microcontrôleur est un circuit qui intègre un maximum de fonctions


dans un même boitier. L’intégration de ces fonctions dans le même
environnement permet de créer des applications plus simplement.

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é.

Les microcontrôleurs sont plutôt dédiés aux applications qui ne


nécessitent pas une grande quantité de calculs complexes, mais qui demandent
beaucoup de manipulations d’entrées/sorties. C’est le cas de contrôle de
processus.
Les systèmes à microprocesseur sont plutôt réservés pour les applications
demandant beaucoup de traitement de l’information et assez peu de gestion
d’entrées / sorties. Les ordinateurs sont réalisés avec des systèmes à
microprocesseur. 8
Le microcontrôleur PIC
 Ils sont des composants RISC. Chaque instruction complexe peut être
programmée par plusieurs instructions simples. Sachant que plus on réduit le
nombre d’instructions, plus facile et plus rapide qu’en est le décodage, et plus
vite le composant fonctionne.

 La famille des PIC à processeur 8 bits est subdivisée à l’heure actuelle en 3


grandes catégories :
 Base-Line : ils utilisent des mots d’instruction de 12 bits.
 Mid-Range : ils utilisent des mots d’instruction de 14 bits.
 High-End : ils utilisent des mots d’instruction de 16 bits.

 Il existe aussi des PIC à processeur 16 bits (PIC24F/PIC24H) et 32 bits


(PIC32M).

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):

❑ Pour générer le niveau "1", une résistance extérieure est nécessaire


(résistance de tirage: pull-up). Plusieurs sorties "collecteur ouvert"
peuvent être reliées entre elles, cela réalise un "ET logique’’
❑ Une sortie « collecteur ouvert » peut commander une charge sous une
tension différente de la tension d'alimentation.
20
Microcontrôleur PIC 16F877
 Les ports d’entrées/sorties :
 Les entrées logiques:
❑ Les montages Pull-up et Pull-down

- Bouton poussoir ouvert: - Bouton poussoir ouvert:


niveau Bas. niveau Haut.
- Bouton poussoir fermé: - Bouton poussoir fermé:
niveau Haut. niveau Bas.

❑ Resistance Pull-UP interne


Dans le microcontrôleur 16F877 on trouve le pull-up programmable,
comme montré ci dessous. La résistance est un transistor (weak) activé si
RAPU (RA Pull-Up) est à 0 ainsi que l’autre broche qui interviennent sur la
porte ET égal à 1).
RAPU

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)

Avec pré-diviseur (Prescalar)


▪ Quelque soit l’horloge choisie, On peut la passer dans un diviseur de fréquence
programmable (prescaler) dont le rapport est fixé par les bits PS0, PS1,PS2 de
registre OPTION _REG.
▪ L’affectation ou non de pré-diviseur se fait à l’aide du bit PSA du registre
OPTION_REG: PSA=0: utilisation de Prescalar, PSA=1: pas de 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

Bit 7-6: bits de sélection d’horloge de conversion.


Bit 5-3: bits de sélection de la broche analogique à utiliser.
Bit 2: Démarrer et terminer la conversion.
Bit 1-0: bits d’initialisation.

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

Vous aimerez peut-être aussi