Vous êtes sur la page 1sur 35

Université Sultan Moulay Slimane

Ecole Supérieure de Technologie


Béni Mellal

Département Mécatronique
Licence professionnelle : Mécatronique (MA et MI)

Module M2: Electronique des Systèmes Embarqués

Le microcontrôleur (PIC 16F87x)

Par: Mr. A. BOUDAOUD


L’Electronique numérique: ou se trouve-t-elle?

Contrôle des processus industriels


Electroménager (lave-vaisselle, lave-linge, four micro-onde….)

Systèmes informatiques…
Automobile (ABS, régulateur de vitesse, injection, GPS, airbag…
2
Introduction

On distingue deux technologies (principales), pour commander un système:


• Logique câblée.
• La logique programmée.

3
Introduction
Consiste à raccorder des modules par des liaisons matérielles
selon un schéma donné. Elles est caractérisée par
Logique câblée
+ La rapidité et le parallélisme
- Moins économique et moins souple

4
Introduction

Se base sur un système à microprocesseur qui


Logique exécute un programme conçu par le concepteur.
programmée + Souple et économique.
- moins rapide

5
Introduction
Circuit programmable capable d’exécuter des instructions
Microprocesseur contenues dans sa mémoire. et qui possède des circuits
d’interface intégrés avec le monde extérieur.

6
Architecture d’un microcontrôleur
Un microcontrôleur intègre sur une même puce:
Microcontrôleur – Une unité centrale ou microprocesseur (CPU)
–La mémoire (RAM, ROM, EPROM, EEPROM, Flash...)
– Des interfaces d’entrées/sorties

7
Introduction

Microcontrôleur

Exemple: La machine à laver qui


doit commander les différents
organes, avec des cycles de
fonctionnement bien définis. Et la
possibilité de faire des
changement de en fonction du
programme choisi.

8
Introduction

Avantages des
microcontrôleurs

▪ Diminution de l’encombrement du matériel et du circuit imprimé


▪ Augmentation de la fiabilité du système
▪ Intégration en technologie MOS, CMOS, ou HCMOS diminution de la
consommation
▪ Moins cher que les composants qu’il remplace
▪ Diminution des coûts de main d’œuvre (conception et montage)
▪ Environnement de programmation et de simulation évolués

9
Architecture d’un microcontrôleur
Interfaces d’E/S

➢ Interfaces parallèles pour la connexion des E/S


(boutons poussoirs, Afficheurs...
➢ Interfaces série pour la communication série.
(communication avec d’autres microcontrôleurs
ou périphériques série…
➢ Convertisseurs analogique/numérique: traitement
de signaux analogiques.
➢ Timers (temporisateurs) pour générer ou mesurer
des signaux périodiques…

10
Architecture d’un microcontrôleur
Architecture des
systèmes à uP
L’architecture de Von Neumann possède un seul bus d’adresse. Le
programme et les données sont simplement rangés à des adresses
différentes. (c’est le cas de 68HC11, les up de Motorola 68xxx, les up de
Intel ….)

11
Architecture d’un microcontrôleur
L’architecture de Harvard adresse deux espaces physiquement séparés pour le
Architecture des
systèmes à uP
programme et les données.
⇒ protèction contre les destructions accidentelles
⇒ Augmentation de l’espace adressable.
⇒ Accès simultanément à l’instruction et aux données ⇒ rapidité.
(exemple: les PIC de Microchip, les AVR d'Atmel, les processeurs numériques
de signal (DSP)…

12
Le microcontrôleur
Fabricants de microcontrôleur
➢ Intel (80C51, 8742)
➢ Motorola (Série 68HC11)
➢ Atmel (Série AVR)
➢ Comfile Technology (Cubloc, basé sur uP Atmel)
➢ Microchip (Série PIC)
➢ Rabbit Semiconductor (Série Rabbit)
➢ Cypress Microsystem (PSoC)

13
Le PIC 16F87x
Introduction

PIC:
Microcontrôleurs
de Microchip
Architecture du PIC 16F87x
Introduction
Architecture du PIC 16F87x
Structure externe

boitier QFP

boitier PDIP

boitier PLCC

16
Architecture du PIC 16F877
Structure externe

17
Architecture du PIC 16F877
Structure externe

18
Architecture du PIC 16F877
16F877 aux autres de la famille 16F87X

19
Architecture
interne du PIC
16F877
Architecture interne du PIC 16F877
Unité Arithmétique et logique

L’ALU de 8 bits
L’accumulateur W (Work register, ou un registre de travail) sur 8 bits

La mémoire

Les mémoires de programme et de données ont des bus séparés: accès


simultané
➢ Flash: mémoire programme 8k mots de 14bits(13 lignes d@)
➢ RAM: 512 d’Octets (9 lignes d@)
21
Architecture interne du PIC 16F877
Organisation de la mémoire RAM

L’espace mémoire RAM adressable: 512 positions de 1 octet:


➢ 96 positions sont réservées au SFR (Special Function Registers) qui sont
les registres de configuration du PIC.
➢ 416 positions: les registres GPR (General Propose Registers) ou RAM
utilisateur.
➢ Sur les PIC 16F876 et 16F877, 3 blocs de 16 octets chacun ne sont pas
implantés physiquement d’où une capacité de RAM utilisateur de 368
GPR.

22
Architecture interne du PIC 16F877
Organisation de la mémoire RAM

➢ La RAM organisée en 4 Banks de 128 octets chacune.


➢ L'adresse instruction permet d'adresser à l'intérieur d’une Bank alors que
les bits RP0 et RP1 du registre STATUS permettent de choisir une Bank.
➢ Les premières cases de chaque Bank sont réservées aux registres de
fonctions spéciales (SFR). Au-dessus des SFR se trouvent les registres à
usage général, (implémentés sous forme de RAM statique).
➢ Certains SFR fréquemment utilisés d'une Bank peuvent être mis en
miroir dans une autre Bank pour une réduction de code et un accès plus
rapide

23
Architecture interne du PIC 16F877
Organisation de
la mémoire RAM

24
Bits de quelques registres de configuration (SFR)

25
Jeu d’instruction (35) du PIC 16F87x

26
Jeu d’instruction (35) du PIC 16F87x

27
Jeu d’instruction (35) du PIC 16F87x

28
Ports d’E/S parallèles

▪ PORTA: 6bits ▪ TRISA


▪ PORTB : 8bits ▪ TRISB
▪ PORTC : 8bits ▪ TRISC
▪ PORTD : 8bits ▪ TRISD
▪ PORTE : 3bits ▪ TRISE

▪ Un bit de TRISx,y=0 broche y du PORTx en sortie


▪ Un bit de TRISx,y=1 broche y du PORTx en entrée

▪ TRISx=valeur

29
Ports d’E/S parallèles
Port A
Registres utilisés: PORTA , TRISA , ADCON1

▪ Entrée et sortie Numérique


▪ Entrée analogique

Toute broche (en sortie) est


compatible TTL, sauf la broche
RB4 qui est à drain ouvert.

30
Ports d’E/S parallèles
Port B
Registres utilisés: PORTB , TRISB, INTCON

➢ Entrée et sortie Numérique


➢ Entrée des interruptions externes
• RB0: interruption INT
❑ Le bit de validation: INTCON,INTE et
❑ le bit flag: INTCON,INTF

• RB4 à RB7: interruption RBI


❑ Le bit de validation: INTCON,RBIE
❑ Le bit flag: INTCON,RBIF 31
Ports d’E/S parallèles
Port C
Registres utilisés: PORTC , TRISC et Autres

➢ Entrée et sortie Numérique


➢ Des broches du PORTC peuvent être utilisées par
des périphérique: Timer, Usart, I2C...

32
Ports d’E/S parallèles
Port D
Registres utilisés: PORTD , TRISD , TRISE

➢ Entrée et sortie Numérique


▪ Entrée et sortie Numérique
➢ PORTD peut être utilisé dans un mode «Parallel Slave Port»
(Si le bit TRISE,PSPMODE est à 1)

33
Ports d’E/S parallèles
Port E
Registres utilisés: PORTE , TRISE , ADCON1

➢ Entrée et sortie Numérique


➢ Entrée analogique

Si le bit PSPMODE,TRISE est à 1, les trois bits du PORTE


deviennent les entrées de contrôle du PORTD qui est en mode
«Parallel Slave Mode»

34
Langages de programmation
Exercices

1)Ecrire un programme assembleur qui réalise le ET logique (AND) des


contenus des ports B et C et affiche le résultat dans le port D.

2)Ecrire un programme assembleur qui calcule la somme des


contenus des ports B et C et affiche le résultat dans le port D. (sans
tenir compte de la retenu)

3)Ecrire un programme assembleur qui lit le contenu du PORT D, permute


les bits du quartet MSB avec ceux du quartet LSB et affiche le résultat
dans le port B.
35

Vous aimerez peut-être aussi