Vous êtes sur la page 1sur 19

Chapitre 3: Mémoire de

programme PIC 16F84/16F84A

1
Plan

A- ARCHITECTURE
 La mémoire de programme
 Les blocs en relation avec la mémoire de programme
 Compteur ordinale (program counter) & la pile
 Le registre d’instruction
B- PROGRAMMATION EN ASSEMBLEUR
 Structure d’un code en assembleur (define, macro, étiquette…)
 Les modes d’adressages ( adressage littéral & adressage direct)
 TP n°2
2
A- ARCHITECTURE
 La mémoire de programme
 Les blocs en relation avec la mémoire de programme
 Compteur ordinale (program counter) & la pile
 Le registre d’instruction

3
Eléments concernés(la mémoire programme)
2
1

6
La mémoire de programme (flash)
La mémoire programme:
1K= 1024 mots

• Taille = 1K mots (1024 emplacements)


• Tail e d’un mot = 14 bits
• Elle contient le programme à exécuter .
• Un mot = instruction du programme de l’application àlaquelle le
microcontrôleur est dédié.
• Type= FLASH (non volatile, effaçable et reprogrammable).
• La technologie utilisée permet plus de 1000 cycles d’ef acement
et de
programmation.

7
La case mémoire dans la mémoire programme
INSTRUCTION DATA1 DATA2 Tailles totale :
14 bits

1683
0 1 0 1 1 0 1 0 0 0 0 0 1 1
0 1 0 1 1 0 1 0 0 0 0 0 1 1

BSF Position du bit Adresse du registre

11
Mémoire de programme (adresses)
Avec 13 bits on peut avoir 213 mots= 210 * 23= 1K*8=8k mots combinaisons possibles:

0 0 0 0 0 0 0 0 0 0 0 0 0
1ere adresse 0x0000 0x 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1
dernière adresse 0x1FFF 0x 1 F F F

1K FLASH= 210 = 10 bits à 1

0 0 0 1 1 1 1 1 1 1 1 1 1

0x 3 F F

0 Adresse de début Adresse de fin


0x0000 0x03FF
0000h 03FFh
La compteur ordinal & le registre d’instruction
Pile et compteur ordinal ou Program Counter
PC
• L'adresse 0000h Le compteur ordinal ou Program Counter
contient le PC
vecteur du reset.
* Rôle: contient toujours l’adres e de la
prochaine instruction à exécuter.
* Taille
=>=donc
13 bits ,
il permet d’adresser 213 mots= 8K
• L'adresse mots
=> 213 * 14bits= 23 * 210 * 14bits = 8K * 14 bits
0004h réservée
Or seulement 1K mots est implémentable avec PIC
à l'unique
16F84
vecteur
d'interruption.
(à traiter ultérieurement) La pile contient 8 valeurs: Ce sont des
zones
réservées par le système (pas d’adresses).

18
Registre d’instruction:
• Une fois l’instruction à exécuter reconnue via son adresse dictée par le compteur ordinal (PC), son code
est transféré sur le Registre d’instruction ( sataille =14 bits= taille d’une instruction)
• A partir du code de l’instruction , le décodeur va analyser et dégager les
informations nécessaires (types de l’opération, l’emplacement des opérandes et du
résultat).
• L’unité de contrôle émet à partir de ces informations les signaux nécessaires
aux
différentes entités (bus adresse, bus de données, UAL..) pour veiller au bon
déroulement des opérations.
• L’UAL, après l’exécution de l’action, retourne le résultat et modifie le

registre STATUS, qui est un registre d’état résumant l’issue de la dernière


opération (résultat null ou pas,
il y adébordement ou pas…)
10
Plan

B- PROGRAMMATION EN ASSEMBLEUR
 Structure d’un code en assembleur (define, macro, étiquette…)
 Les modes d’adressages ( adressage littéral & adressage direct)
 TP n°2

12
Structure d’un code en assembleur (define,
macro, étiquette…)

Voir le document PDF : organisation d_un


fichier
Les modes d’adressages :
(adressage littéral & adressage direct)
Les modes d’adressage

• Les modes d’adressages sont les différents moyens qui permettent au


microprocesseur d’accéder à une opérande en vue de tester ou de modifier le
contenu d’un registre de la mémoire.

• Il existe 3 modes d’adressage:

1. Mode d’adressage immédiat (littéral),


2. Mode d’adressage direct,
3. Mode d’adressage indirect (hors programme).

15
Mode d’adressage immédiat (littéral):

La donné manipulée par l’instruction est codée avec l’instruction elle-même, la donnée est appelée un
«literal» (appellation adoptée par Microchip).

• Exemple:

« je mets 100DT en poche »


• La valeur fait IMMEDIATement partie de la phrase. J’ai donné LITTERALlement la valeur concernée.

16
Le mode d’adressage direct:

L’emplacement contenant la valeur utile est donné DIRECTement dans la phrase.

• exemple : Movwf SORTIE


• SORTIE désigne l’emplacement contenant la valeur qu’on veut manipuler,
• Cette instruction permet de mettre dans le registre SORTIE le contenu du registre W .

17
Les instructions du PIC16f84

Voir le document PDF : Résumé - Instructions


Manipulation
• TP n°2

19

Vous aimerez peut-être aussi