Vous êtes sur la page 1sur 9

Chapitre 3: 

Mémoires de données
PIC16F84

1
Architecture interne du PIC 16F84
• Le PIC 16F84 est conçu selon l’architecture de Harvard donc il possède
2 mémoires séparées physiquement ayant chacune les bus
nécessaires:
– Mémoire de programme (ou de code) avec bus d’adresses d’instructions et bus
des instructions véhiculant les codes d’instructions,
– Mémoire de données avec bus d’adresses de données et bus qui véhicule les
données)

2
Architecture interne du PIC16F84
1

3
Mémoires de données PIC16F84
1.Mémoire EEPROM: 2. Mémoire RAM:
• (Electrical Erasable Programmable Read Only • Mémoire volatile.
Memory). • Mot mémoire: 8 bits.
• 64 Octets.
• Plus Rapide que la EEPROM.
• Mot mémoire: 8 bits. • Découpée en deux pages : Bank 0 et Bank 1.
• Accessible pour lecture et écriture. • 68 octets (GPR).
• Non volatile.
• Très utiles pour conserver des paramètres
semi-permanents.
• Plus lente que la RAM.

4
Configuration des Entrées Sorties : Mémoire de données

La mémoire RAM :
• Elle contient deux types de registres :
SFR
 Les SFR ( Special Function Registers):  des
emplacements mémoires spécialisés et
ne peuvent contenir qu'un type bien
précis de données.

 des registres généraux (GPR: General Purpose


Registers) : Ceux-ci peuvent stocker
indifféremment adresses, entiers, flottants, GPR
etc

• Elle contient deux banques :


 Chaque banque est composée de 128 octets.
 Les 12 premières ligne de chaque
banque sont réservées pour les SFR.
28
Choix du Banque : Mémoire de données

La mémoire RAM :
• Elle contient deux types de registres :
SFR
 Les SFR ( Special Function Registers):  des
emplacements mémoires spécialisés et
ne peuvent contenir qu'un type bien
précis de données.

 des registres généraux (GPR: General Purpose


Registers) : Ceux-ci peuvent stocker
indifféremment adresses, entiers, flottants, GPR
etc

• Elle contient deux banques :


 Chaque banque est composée de 128 octets.
 Les 12 premières ligne de chaque
banque sont réservées pour les SFR.
28
choix du Banque
• Le choix de la banque est assurée par
un bit de contrôle qui se trouvent dans
le registre STATUS.
STATUS
• Avec 16F84, on utilise le bit Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
numéro 5, dont le nom est RP0:
RP0

• La banque 0 est sélectionnée en


mettant le bit RP0 du registre 0 : Bank0
1 : Bank1
STATUS à 0.

• La banque 1 est sélectionnée en


mettant le bit RP0 du registre
STATUS à 1.
7
Quelques Instructions assembleur
instruction Arguments de l’instructions

• BTFSS f,b ; Bit Test File Skip if Set = si le bit b du registre f == 1 alors sauter une ligne
File /registre numéro du bit

Exemple :
 BTFSS PORTA,2 ; si (PORTA.RA2==1) Si condition est vrai : sauter une ligne
Si condition est Fausse Exécuter la ligne suivante
BCF PORTB,2 ;
Exécuter PORTB.RB2=0
BSF PORTB,2 ; Exécuter PORTB.RB2=1

8
Quelques Instructions assembleur
instruction Arguments de l’instructions

• BTFSC f,b ; Bit Test File Skip if Clear = si le bit b du registre f == 0 alors sauter une ligne
File /registre numéro du bit

Exemple :
 BTFSC PORTA,2 ; si (PORTA.RA2==0) Si condition est vrai : sauter une ligne
Si condition est Fausse Exécuter la ligne suivante
BSF PORTB,2 ;
Exécuter PORTB.RB2=1
BCF PORTB,2 ; Exécuter PORTB.RB2=0