.
.
..
3FF
Fin de l’espace mémoire disponible
Cette mémoire est celle dans laquelle le programmateur écrit les instructions du programme.
Dans cet espace mémoire, les cinq premières adresses (000, 001,002, 003, et 004) sont réservées au
microcontrôleur.
Certaines d’entre elles sont particulièrement remarquables :
a) l’adresse 000 correspond au vecteur de Reset.
A la mise sous tension, ou à chaque fois que des instructions spécifiques l’obligent, le Program Counter (PC)
se rend à cette adresse et c’est là que le système trouve la première instruction à exécuter.
C’est une case devant obligatoirement être remplie et contenir l’origine du programme (ORG).
Si cette adresse était vide, le microcontrôleur ne ferait rien, car aucun programme ne serait exécuté.
b) l’adresse 004 correspond au vecteur d’interruption.
C’est l’adresse « point de rencontre » définie par le fabricant, à laquelle système et utilisateur se rendent
lorsqu’un problème surgit, pour se dire ce qu’il se passe et quel sont les remèdes d’urgence à apporter.
2) Une mémoire RAM à 8 bits, que Microchip appelle Register File, réservée aux données.
A plus proprement parler, il s’agit d’une RAM statique (SRAM). Cet espace est à son tour réparti en deux zones :
a) une zone RAM de 24 emplacements à 8 bits réservée aux registres spéciaux, dont 12 situés en Page 0
(adresses 00 à 0B) et 12 situés en Page 1 (adresses 80 à 8B) selon la mappe suivante :
00 Adressage indirect
01 TMR
0
02 PCL
03 STATUS
04 FSR
05 PORT A
06 PORT B
07
08 EEDATA
09 EEADR
0A PCLATH
0B INTCON
80 Adressage indirect
81 OPTION
82 PCL
83 STATUS
84 FSR
85 TRIS A
86 TRIS B
87
88
EECON
1
89 EECON
2
8A PCLATH
8B INTCON
Ces registres - auxquels on accède en programmant le bit 5 (RP
) du registre STATUS - servent à
contrôler le fonctionnement de nombreux organes internes au PIC.
b) une zone RAM de données, constituée de 68 emplacements à 8 bits (adresses de 0C à 4F) situés juste au
dessous des registres spéciaux, formant la RAM utilisateur proprement dite, selon la mappe détaillée ci- après :
Lors de la programmation il faut toujours indiquer l’adresse de la zone RAM à partir de laquelle le C doit
commencer à écrire, ainsi que le nombre d’emplacements à réserver pour chaque variable.
exemple :
ORG OC
Compteur RES 3
Ce qui revient à dire : réserve trois emplacements à la variable Compteur, dans l’ordre suivant :
Compteur à l’adresse 0C Compteur+1 à l’adresse 0D Compteur+2 à l’adresse 0E . Ainsi, par exemple : pour
effacer les données de l’adresse OE, on écrira : CLRF Compteur+2.
3) une mémoire de données (Data Memory) EEPROM flash, de 64 emplacements à 8 bits, allant de
l’adresse 00 à l’adresse 3F, auxquels on accède uniquement par l’intermédiaire de quatre registres spéciaux:
- EEADR (EEprom ADRess) pour ce qui concerne les adresses
- EEDATA (EEprom DATA) pour ce qui concerne les données
- EECON1 (EEprom CONtrol) permettant de définir le
- EECON
2
mode de fonctionnement de cette mémoire.
0C- 0D - 0E-0F-10-12-13-14-15-16-17-18-19-1A-1B-1C-1D-1E-1F-20-21-22-23-24-25-26-27-28-29-2A-2B-2C-
2D-2E-2F-30-32-33-34-35-36-37-38-39-3A-3B-3C-3D-3E-3F-40-41-42-43-44-45-46-47-48-49-4A-4B-4C-4D-
4E-4F