Vous êtes sur la page 1sur 3

1/3 2 ème STE CHAINE D’INFORMATION : TRAITER AZNAG

LA MÉMOIRE EEPROM DE DONNEES DU PIC 16F84

1) PRESENTATION:
La mémoire EEPROM de données est constituée de 64 octets commençant à l'adresse 2100H
jusqu’à 213FH 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(page0) et EEDATA(page0) : 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 2100H, autrement dit,
l'adresse va de 00H à 3FH .

Deux registres de contrôle EECON1 (page1) et EECON2 (page1) sont associés à la mémoire
EEPROM.

2) Procédure de lecture dans l'EEPROM de données :


 Placer l’adresse relative (de 00H à 3FH ) dans EEADR ;
 Mettre le bit RD de EECON1 à 1 ;
 Lire le contenu du registre EEDATA.

3) Procédure d'écriture dans l'EEPROM de données:


 L'écriture dans L'EEPROM doit être autorisée : bit WREN = 1 ;
 Placer l’adresse relative (de 00H à 3FH ) dans EEADR ;
 Placer la donnée à écrire dans EEDATA ;
 Placer 0x55 dans EECON2 ;
 Placer 0xAA dans EECON2 ;
 Démarrer l'écriture en positionnant le bit WR à 1 ;
 Attendre la fin de l'écriture, (10 ms) (EEIF=1 ou WR=0) .

Le drapeau WRERR est positionné si une erreur d'écriture intervient.


L’écriture de valeurs spécifiques (55H et AAH ) dans EECON2 provoque l’exécution d’une
commande spécifique dans l’électronique interne du PIC.

EXERCICE 1:
Ecrire un programme qui permet de lire le contenu de l’adresse 210FH de la mémoire
EEPROM de donnée, puis place ce contenu à l’adresse mémoire 0EH de la RAM.

EXERCICE 2:
Ecrire un programme qui permet de placer le contenu du port B dans l’adresse 211AH de la
mémoire EEPROM de donnée.

1 1
2/3 2 ème STE CHAINE D’INFORMATION : TRAITER AZNAG
CORRECTION
EXERCICE 1: Algorigramme:

Debut

W← 0FH

EEADR← W

RD←1
EECON1 (Démarrer la lecture)

W ←EEDATA

0EH← W

Fin
0EH ← W
Programme :

Etiquettes(Labels) Instructions Commentaires


MOVLW 0x0F ; W←0FH (une adresse de l’ EEPROM)

MOWF EEADR ; EEADR←W

BSF STATUS,RP0 ; PAGE1(BANK1)

BSF EECON1,RD ; RD←1 (Démarrer la lecture)

BCF STATUS,RP0 ; PAGE0(BANK0)

MOVF EEDATA,w ; W ← EEDATA

MOVWF 0x0E ; 0EH ←W (une adresse de la RAM)

END ; Fin

2 2
3/3 2 ème STE CHAINE D’INFORMATION : TRAITER AZNAG
CORRECTION Algorigramme:
EXERCICE 2:
Debut

Configurer le PORTB en
entrée

EEADR ← 1AH

EECON1 WREN← 1

EEDATA← PORTB

EECON2 ← 55H

EECON2 ← AAH

EECON1 WR ← 1

EECON1 WR←
EEIF=11

EEIF ←0
EECON1
EEIFFin← 0
Etiquettes(Labels) Instructions Commentaires
BSF STATUS,RP0 ; PAGE1(BANK1)
MOVLW 0xFF
MOVWF TRISB ;PORTB en entrée
BCF STATUS,RP0 ; PAGE0(BANK0)
MOVLW 0x1A ; W←1AH
MOVWF EEADR ; EEADR←W
BSF STATUS,RP0 ; PAGE1(BANK1)
BSF EECON1, WREN ;WREN←1 (Autoriser l’ écriture)
BCF STATUS,RP0 ; PAGE0(BANK0)
MOVF PORTB, w ; W ← PORTB
MOVWF EEDATA ; EEDATA ← W
BSF STATUS,RP0 ; PAGE1(BANK1)
MOVLW 0x55 ; W←55H
MOVWF EECON2 ; EECON2←W
MOVLW 0xAA ; W←AAH
MOVWF EECON2 ; EECON2←W
BSF EECON1,WR ; WR←1 ( démmarer l’ écriture)
TEST BTFSS EECON1,EEIF ;Tester si EEIF=1(si fin d’écriture sauter une instruction)
GOTO TEST ;Se brancher à l’adresse d’etiquette TEST
BCF EECON1, EEIF ; EEIF← 0 ( enlever le Drapeau)
END ; Fin

3 3

Vous aimerez peut-être aussi