Vous êtes sur la page 1sur 20

Microcontrôleurs

Pr. A. SALBI
 Introduction
 Architecture d’un microcontrôleur
 PIC comme exemple 16F887
 Outils de développement
 Ports d’E/S
 Mémoires permanentes
 Conversion A → N
 Interruptions/Timers
 Protocoles de communication en uC
Introduction
Les microcontrôleurs sont aujourd'hui implantés dans la
plupart des applications grand public ou professionnelles,
il en existe plusieurs familles suivant leur constructeur:
Atmel, Intel, Hitachi, Siemens, Motorola, Microchip...etc.
Introduction
Classification et identification des PICs de Microchip

La société Américaine Microchip Technologie a mis au point dans les


années 90 un microcontrôleur CMOS : le PIC (Peripheral Interface
Controller).

Ce composant encore très utilisé à l' heure actuelle, est un


compromis entre simplicité d' emploi, rapidité et prix de revient.

Les PIC existent dans plusieurs versions selon le type de la mémoire
programme (mémoire morte):

les UVPROM qui sont effaçable par une source de rayonnements ultraviolets

les OTPROM programmable une seule fois

les E²PROM et flash EPROM qui sont effaçables électriquement.


Introduction
Classification et identification des PICs de Microchip
Actuellement les modèles Microchip, sont classés en 3 grandes
familles, comportant chacune plusieurs références. Ces familles sont :
Base-line : les instructions sont codées sur 12 bits.
mid-line : les instructions sont codées sur 14 bits.
High-End : les instructions sont codées sur 16 bits.
Un PIC est généralement identifié par une référence de la forme suivante :
xx(L)XXyy-zz , avec :
Exemple :
Introduction
Comparaison des caractéristiques de quelques PICs

16F887 8192x 14 368 256 20 35 40 broches


Architecture du μC
Architecture du μC
Les éléments fonctionnels d’un uC
PIC 16F887

Brochage du 16F887 (Datasheet Microchip DS41291F)


PIC 16F887

Bloc diagramme du PIC 16F887 – version simplifiée


PIC 16F887

Bloc diagramme du PIC 16F887 – version détaillée


PIC 16F887
Exemples d’application
Outils de développement
Environnement matériel
Outils de développement
Environnement logiciel

ASSEMBLEUR

Différent langage et IDE de programmation


Ports d’E/S
Afin de synchroniser le fonctionnement
des ports d’E / S avec l’organisation
interne à 8 bits du microcontrôleur, ils
sont, comme les registres, regroupés
en cinq ports désignés par A, B, C, D
et E. Tous ont plusieurs
caractéristiques communes:


Pour des raisons pratiques, de
nombreuses broches d'E / S sont
multifonctionnelles. Si une broche
remplit l'une de ces fonctions, elle ne
peut pas être utilisée comme broche
d'entrée / sortie à usage général.
En effaçant n'importe quel bit du registre TRIS

Chaque port a son «satellite», c’est- (bit = 0), la broche de port correspondante est
à-dire le registre TRIS configurée en tant que sortie. De même, en
correspondant: TRISA, TRISB, définissant n’importe quel bit du registre TRIS
TRISC, etc., qui détermine les (bit = 1), la broche de port correspondante est
performances des bits de port, mais configurée en tant qu’entrée. Cette règle est
pas leur contenu. facile à retenir 0 = Sortie, 1 = Entrée.
Ports d’E/S
Exemple de
configuration E/S :

Registre à 8 bits

Registre à 8 bits

Commande
de relais
Bouton
poussoir Capteur

Affichage
LED
Ports d’E/S
Configuration E/S numériques / Analogiques:
Le port A est un port bidirectionnel de 8 bits de large. Les bits des registres TRISA
et ANSEL contrôlent les broches du port A. Toutes les broches du port A servent
d’entrées / sorties numériques. Cinq d’entre elles peuvent également être des
entrées analogiques (notées AN):
Ports d’E/S
Configuration E/S numériques / Analogiques:

Les registres ANSEL et ANSELH permettent de configurer le mode d’entrée d’une


broche d’entrée / sortie sur analogique ou numérique.
Ports d’E/S
Configuration E/S numériques / Analogiques:
La règle est la suivante: Pour configurer une broche en tant qu'entrée analogique, le
bit approprié des registres ANSEL ou ANSELH doit être défini à « 1 ». Pour
configurer une broche en tant qu'entrée / sortie numérique, le bit approprié doit être
mis à « 0 ». L'état des bits ANSEL n'a aucune influence sur les fonctions de sortie
numérique. Le résultat de toute tentative de lecture d'une broche de port configurée
en tant qu'entrée analogique sera 0.
Ports d’E/S
Configuration E/S numériques / Analogiques:
Port A :

13 14 7 6 5 4 3 2
RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0
- - AN4 - AN3 AN2 AN1 AN0

Port B :
40 39 38 37 36 35 34 33
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
- - AN13 AN11 AN9 AN8 AN10 AN12

Port E :
36 35 34 33
RE3 RE2 RE1 RE0
- AN7 AN6 AN5
Ports d’E/S
Configuration E/S numériques / Analogiques:
Les registres ANSEL et ANSELH permettent de fixer le pin sélectionné comme (entrée)
analogique ou numérique:

0 : Numérique 1 : Analogique

ANSEL ANS7 ANS6 ANS5 ANS4 ANS3 ANS2 ANS1 ANS0

ANSELH - - ANS13 ANS12 ANS11 ANS10 ANS9 ANS8

Au démarrage du PIC 16F887 on a:


Tous les pins sont configurés des entrées


Toutes les entrées sont configurées comme étants analogiques (14) les restantes sont
numériques
Pour s’assurer à utiliser tous les pins comme des canaux numériques il est recommandé
! de forcer les registres ANSEL/ANSELH à zéro.

Vous aimerez peut-être aussi