Академический Документы
Профессиональный Документы
Культура Документы
UNIVERSIDAD DE GUANAJUATO
F. I. M. E. E.
Laboratorio de Microcontroladores
Prctica de Laboratorio No. 6:
Acceso a la memoria EEPROM
F.I.M.E.E.
Laboratorio de Microcontroladores
F.I.M.E.E.
Componentes:
1
8
8
1
1
1
Equipo:
1
1
1
1
Fuente de +5V
Punta lgica
Multmetro
Plantilla
1.1 Introduccin.
En esta prctica se programar el PIC para que acceda a la memoria de datos EEPROM. Ya que esta memoria no
se borra si se desconecta la alimentacin al microcontrolador, permite guardar datos que no se quieran perder.
La memoria EEPROM es una memoria no voltil, permitiendo almacenar datos que no se quieran perder si se le
corta la alimentacin al microcontrolador. Tanto para el PIC16F883 como para el PIC16F887 el tamao es de
256 bytes con las direcciones 00h a FFh.
El acceso a esta memoria es indirecto y se lleva a cabo mediante el manejo de los siguientes registros:
BANCO 2
EEDATA (10Ch)
EEADR (10Dh)
BANCO 3
EECON1 (18Ch)
EECON2 (18Dh)
EEADR Este registro se carga con la direccin de memoria a la que se quiere escribir o de la que se
quiere leer.
EEDATA Este registro se carga con el dato que se quiere guardar o, al realizar un proceso de lectura,
guarda el dato almacenado en la direccin especificada en EEADR.
EECON1 Es el registro de control
EECON2 No es un registro fsico. Se utiliza solamente en la secuencia de escritura de la EEPROM.
Registro EECON1
R/W-x
EEPGD
bit 7
bit 7
U-0
-
U-0
-
U-0
-
R/W-x
WRERR
R/W-0
WREN
R/S-0
WR
R/S-0
RD
bit 0
Laboratorio de Microcontroladores
F.I.M.E.E.
bit 2
bit 1
bit 0
1 = Una operacin de escritura fue interrumpida ( MCLR o reinicio por el WDT en operacin normal).
0 = Operacin de escritura completada
WREN: bit de habilitacin de escritura de la EEPROM
1 = Permite ciclos de escritura
0 = No permite escribir en la EEPROM
WR: bit de control de escritura
1 = Inicia un ciclo de escritura. El bit se limpia por hardware al finalizar
0 = Ciclo de escritura de la EEPROM completo
RD: bit de control de lectura
1 = Inicia la lectura de la EEPROM; se limpia por hardware
0 = No se inicia la lectura de la EEPROM
1.2 Desarrollo.
A. El cdigo a implementar generar un contador como en la prctica 1. El valor del contador se ira guardando
en la memoria EEPROM, de tal forma que al interrumpir momentneamente la alimentacin del
microcontrolador este continuar en el valor que el contador llevaba antes de la interrupcin. El cdigo en
ensamblador es el siguiente (en caso de duda de cmo hacerlo consulte la Prctica No. 1)
; Programa que lee y guarda el valor de un contador en
; la memoria EEPROM
LIST P = 16f883
#include "P16F883.INC"
__CONFIG _CONFIG1, _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON &
_CP_OFF & _CPD_OFF & _BOR_ON & _IESO_OFF & _FCMEN_OFF & _LVP_OFF & _DEBUG_OFF;
__CONFIG _CONFIG2, _WRT_OFF & _BOR40V;
RADIX
HEX
STATUS,5
STATUS,6
ANSEL
ANSELH
STATUS,6
0xFF
TRISA
TRISB
STATUS,5
AUX1
Laboratorio de Microcontroladores
F.I.M.E.E.
bsf
bcf
bsf
bcf
movf
bcf
movwf
STATUS,RP0
EECON1,EEPGD
EECON1,RD
STATUS,RP0
EEDATA,W
STATUS,RP1
AUX1
; Cambio al banco 3
; Selecciona memoria de datos
; Lee EEPROM
; Cambio al banco 2
; W <= Datos de EEPROM
; Cambio al banco 0
; AUX1 <= W
loop
btfsc
clrf
incf
movf
movwf
bsf
bcf
movwf
bsf
bcf
bsf
movlw
movwf
movlw
movwf
bsf
bcf
bcf
bcf
call
goto
PORTA,0
AUX1
AUX1,F
AUX1,w
PORTB
STATUS,RP1
STATUS,RP0
EEDATA
STATUS,RP0
EECON1,EEPGD
EECON1,WREN
0x55
EECON2
0xAA
EECON2
EECON1,WR
EECON1,WREN
STATUS,RP0
STATUS,RP1
retardo
loop
B. Ya que se haya programado el PIC, este se inserta en la plantilla de trabajo y se conectar de acuerdo con el
siguiente diagrama que es para el PIC16F883. Si utiliza el PIC16F887 cambie los pines de acuerdo al diagrama
correspondiente en la hoja de datos. Tenga cuidado al manejar el PIC de no daarlo con electricidad esttica
Laboratorio de Microcontroladores
F.I.M.E.E.
(utilizar pinzas para su manejo). El voltaje que se utilizar es de 5V para VDD y 0V para VSS. Los LEDs se
conectaran a cada pin del PUERTO B con una resistencia de 220 en serie.
Los valores para los componentes descritos en la figura se dan en la siguiente tabla:
Smbolo
VDD
R1
R2
C1
Valor Min
5V
1K
ND
Valor Max
5V
40K
ND
Las resistencias R1, R2 y el capacitor C1 son recomendados por el fabricante para evitar que voltajes fuera de
rango lleven el dispositivo a reinicios o consumos de energa ms all de los especificados para el dispositivo.
Al estar operando el PIC se debe desconectar la fuente de alimentacin y, al volver a conectarse el
microcontrolador debe continuar la cuenta en el valor que se qued antes de desconectarlo. Presente este
procedimiento al profesor.
1.3 Ejercicios
1. Si se quiere acceder a la memoria de programa FLASH, qu otros registros se deben utilizar? Para qu
sirven?.
2. Al acceder a la memoria de programa FLASH el cdigo requiere dos lneas NOP (no operation) Para qu se
utilizan? Se requieren en el proceso de escritura en el de lectura?.