L' E²PROM ( Electrically Erasable Programmable Read Only Memory ) du PIC 16F84 est une mémoire pouvant stocker 64 octets. L ' atout majeure de ce type de mémoire est qu' elle conserve les données une fois l 'alimentation disparue. L 'inconvénient des E²PROM est leur temps d'accès assez long, cette mémoire ne convient pas pour mémoriser des calculs intermédiaires demandant de la rapidité ( exemple : asservissement ). Le constructeur Microchip donne une durée de vie d 'environ un million de cycles en lecture-écriture. Lors de l 'écriture d 'un programme il est possible d' aller écrire en E²PROM, pour par exemple entrer un paramètre, ou bien encore pour donner le numéro de la version logiciel. Pour ce faire une syntaxe précise indique au précompilateur de stocker les informations mentionnées vers l ' E²PROM. La première adresse de la mémoire E²PROM est 2100 en héxa. La syntaxe org permet de définir l 'endroit ou l 'on code l 'instruction qui suit. Dans la syntaxe suivante 'org 2100' le compilateur "sait" que l 'instruction qui suit doit être logée à l 'adresse 2100. La syntaxe 'de' indique au compilateur que la donnée qui suit doit être écrite en E²PROM. Syntaxe: org h'2100' de "Programme d' essai ver 1.0 01/08/01 " Au cours de l 'exécution d 'un programme il est possible de lire ou d 'écrire en E²PROM pour ce faire il faut respecter le cheminement donné dans l 'exemple suivant : 1 - Écriture en E²PROM : bsf STATUS,5 ; on met à 1 le 5eme bit du registre status pour accéder à la 2eme page mémoire MOVLW 0x04 ; on met 04 dans le registre W MOVWF EECON1 ; on met 04 dans le registre EECON1 bcf STATUS,5 ; on remet à 0 le 5eme bit du registre status movf adresse,W ; on met le registre adresse ( déclaré auparavant ) dans W MOVWF EEADR ; on met W sur EEADR ( adresse E²PROM ) movf donnée,W ; on met le contenu du registre donnée dans W MOVWF EEDATA ; on met W sur EEDATA ( donnée E²PROM ) bsf STATUS,5 ; on met à 1 le 5eme bit du registre status pour accéder à la 2eme page mémoire ( EECON 1 et 2 ) movlw 0x55 ; passage obligatoire pour écrire en E²PROM movwf EECON2 ;... movlw 0xAA ;... movwf EECON2 ;... bsf EECON1,1 ;... bcf STATUS,5 ; on remet à 0 le 5eme bit du registre status 2 - Lecture en E²PROM : MOVF adresse, W ; on met le registre adresse ( déclaré auparavant ) dans W MOVWF EEADR ; on met W sur EEADR ( adresse E²PROM ) bsf STATUS,5 ; on met à 1 le 5eme bit du registre status pour accéder à la 2eme page mémoire MOVLW 0x01 ; on met 01 dans le registre W MOVWF EECON1 ; on met 01 dans le registre EECON1 bcf STATUS,5 ; on remet à 0 le 5eme bit du registre status MOVF EEDATA, W ; on met la donnée E²PROM dans W Pour résumer ... La mémoire Eprom du PIC 16F84 comporte 64 octets disponibles pour l 'utilisateur Cette mémoire sauvegarde les données même hors tension Pour écrire dans cette mémoire il faut respecter une syntaxe rigoureuse décrite précédemment
L'EEPROM
La mémoire EEPROM du PIC 16F84
[
Retour
]