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.