9
o GIE = 0, Le PIC reprend l’exécution du programme à partir de l’instruction qui suit
l’instruction SLEEP, l’interruption n’est pas prise en compte
o GIE = 1, Le PIC exécute l’instruction qui se trouve juste après l’instruction SLEEP puis se
branche à l’adresse 0004 pour exécuter la procédure d’interruption. Dans le cas où l’instruction suivant SLEEP n’est pas désirée, il faut utiliser l’instruction NOP.
L’utilisation des interruptions pour réaliser un WAKE-UP doit être utilisée avec précaution. Voir
le data sheet [1][2] du 16F84 pour plus de précisions.
I.11 La mémoire EEPROM de configuration
Pendant la phase d’implantation d’un programme dans la mémoire programme du PIC, on
programme aussi une EEPROM de configuration constituée de 5 mots de 14 bits : • 4 mots d’identification ( ID) à partir de l’adresse 0x2000 pouvant contenir un repérage quelconque que nous n’utiliserons pas,
• 1 mot de configuration (adresse 0x2007) qui permet : o de choisir le type de l’oscillateur pour l’horloge o de valider ou non le WDT timer o d’interdire la lecture des mémoires EEPROM de programme et de données.
13 12 1110 9 8 7 6 5 4 3 2 1 0
CP CP CPCP CP CP CPCPCPCPPWRTEWDTEFOSC1 FOSC0
• bits 1:0 FOSC1:FOSC0 Sélection du type d’oscillateur pour l’horloge
11 : Oscillateur RC 10 : Oscillateur HS (High speed) : quartz haute fréquence (jusqu’à 10 MHz) 01 : Oscillateur XT, c’est le mode le plus utilisé, quartz jusqu’à 4 MHz 00 : Oscillateur LP (Low power), consommation réduite, jusqu’à 200 kHz
• bit 2 WDTE validation du timer WDT (chien de garde)
1 : WDT validé 0 : WDT inhibé
• Bit 3 PWRTE validation d’une temporisation à la mise sous tension
1 : temporisation inhibée 0 : temporisation validée
• Bit 13:4 CP Protection en lecture du code programme
1 : pas de protection 0 : protection activée
I.12 La mémoire EEPROM de données
La mémoire EEPROM de données est constituée de 64 octets commençant à l’adresse 0x2100
que l’on peut lire et écrire depuis un programme. Ces octets sont conservés après une coupure de courant et sont très utiles pour conserver des paramètres semi permanents.
On y accède à l’aide des registres EEADR et EEDATA : toute lecture écriture dans le registre
EEDATA se fait dans la position mémoire pointée par EEADR. En fait EEADR contient l’adresse relative par rapport à la page qui commence en 0x2100, autrement dit, l’adresse va de 0 à 63.
Deux registres de contrôle (EECON1 et EECON2) sont associés à la mémoire EEMROM.