You are on page 1of 7

UNIVERSIDAD POLITÉCNICA SALESIANA

Fecha: 25/06/2015

SISTEMAS MICROPROCESADOS I

MANEJO DE LA MEMORIA
EEPROM INTERNA DEL PIC16F877A
Omar Moromenacho
Jairo Yanguicela
omoromenacho@est.ups.edu.ec
jyanguicela@est.ups.edu.ec

RESUMEN— En el siguiente informe realizaremos el uso de
la memoria EEPROM interna del pic16f877a aplicado en una
cerradura electrónica la cual permite al usuario realizar un
cambio de clave de acceso de 4 dígitos cada vez que se
presione la tecla D del teclado matricial y la misma se
visualizará en el LCD.
PALABRA CLAVE: EEPROM, teclado matricial, LCD.

1. OBJETIVOS
GENERALES:

Mediante el uso de la memoria EEPROM diseñar un
sistema básico para el control de acceso a través de
un teclado de 4X4 que permita al usuario un cambio
de clave de acceso de 4 dígitos cada vez que se
presiona la tecla D y visualizar en un LCD.
ESPECIFICOS:

registros SFR y GPR, si programáramos en Ensamblador
deberíamos realizar una serie de pasos para su lectura y
escritura que aunque no difíciles resultan al menos
laboriosos, CCS nos permite abstraernos por completo del
proceso de lectura y escritura, lo único que tenemos que
saber es las funciones que tenemos que aplicar y los
parámetros y valores que devuelven dichas funciones. [1]
La memoria EEPROM es útil para almacenar datos que,
por su importancia, se quieren conservar almacenados en
forma segura, a pesar de cortes de energía o ruido
inducido en los circuitos del microcontrolador, que en un
momento dado podrían destruir estos datos en caso de
encontrarse almacenados en memoria RAM.
Como ejemplos de aplicaciones en donde se utilice la
EEPROM se pueden mencionar los siguientes: en una
chapa electrónica, la clave de control de acceso
generalmente se almacena en EEPROM. Asimismo,
en un temporizador programable, las horas de
encendido y apagado del temporizador también se
almacena en EEPROM. El kilometraje en el odómetro
de un automóvil se almacena en memoria EEPROM,
lo cual garantiza su permanencia. [2]

Familiarizar al estudiante con el proceso de lectura y
escritura de la memoria EEPROM interna del
pic16f877a.
Realizar el código de programación que permita
manipular la memoria EEPROM para escribir datos y
leerlos

2. MARCO TEÓRICO
2.1 MEMORIA EEPROM
El PIC16F877A tiene 256 bytes de memoria EEPROM de
datos con un rango de direcciones de 00h a FFh, donde
se puede almacenar datos y variables que interesa que no
se pierdan cuando se desconecta la alimentación al
sistema.
Algunas consideraciones a tener en cuenta sobre las
memorias EEPROM es que son rápidas en el proceso de
lectura, pero pueden tardar varios ms en realizar un
proceso de escritura. Otro factor a tener en cuenta es que
se pueden hacer operaciones de lectura sobre el valor de
sus registros el número de veces que se quiera, pero
soportan un número limitado de ciclos de escritura /
borrado.
La memoria EEPROM de datos no está mapeada en la
zona
de la memoria de datos donde se ubican los

Figura1. Memoria EEPROM interna.

2 LCD Una pantalla de cristal líquido o LCD (sigla del inglés liquid crystal display) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora. Este tratamiento suele ser normalmente aplicable en una fina capa de polímero que es unidireccionalmente frotada utilizando. la luz que pasa a través de un filtro polarízate se gira por la hélice de cristal líquido que pasa a través de la capa de cristal líquido. y así se organizan las moléculas en una estructura helicoidal. de ese modo es posible trabajar con un teclado matricial sin necesidad de ningún componente externo. DESARROLLO Y PROCEDIMIENTO . La mitad de la luz incidente es absorbida por el primer filtro polarízate. Figura2. o retorcida. Debido a que el material es de cristal líquido birrefringente. Sin cristal líquido entre el filtro polarízate. los ejes de transmisión de cada uno que están (en la mayoría de los casos) perpendiculares entre sí. si ninguna columna está en bajo entonces el 0 de las filas se recorre hacia la siguiente y así secuencialmente. ya que utiliza cantidades muy pequeñas de eeléctrica. la luz que pasa por el primer filtro sería bloqueada por el segundo (cruzando) polarizador. A menudo se utiliza en dispositivos electrónicos de pilas. sin embargo el puerto B cuenta con resistencias de pull-up integradas. La dirección de la alineación de cristal líquido se define por la dirección de frotación. MATERIALES Y EQUIPOS PIC C PROTEUS Microcontrolador 16F877A Elementos electrónicos variados. las direcciones de alineación de la superficie de los dos electrodos son perpendiculares entre sí. 2. la orientación de las moléculas de cristal líquido está determinada por la adaptación a las superficies. 3. de modo que se pueden leer varios botones con el mínimo número de pines requeridos. En un dispositivo twisted nematic. Pantalla LCD 16X2. [4] SISTEMAS MICROPROCESADOS I Un teclado matricial es un simple arreglo de botones conectados en filas y columnas. Teclado Matricial 4x4. pero por lo demás todo el montaje es transparente. [3] La superficie de los electrodos que están en contacto con los materiales de cristal líquido es tratada a fin de ajustar las moléculas de cristal líquido en una dirección en particular. Si asumimos que todas las columnas y filas inicialmente están en alto (1 lógico). un paño. y dos filtros de polarización. Antes de la aplicación de un campo eléctrico. la pulsación de un botón se puede detectar al poner cada fila a en bajo (0 lógico) y checar cada columna en busca de un cero.3 TECLADO MATRICIAL 4X4 Teclado matricial 4x4 4. lo que le permite pasar por el segundo filtro polarizado. [5] Figura3. El puerto B del microcontrolador 16f628 (así como en el 16f877) viene preparado especialmente para el control de un teclado matricial 4x4. TN (uno de los dispositivos más comunes entre los de cristal líquido). LCD 16X2. por ejemplo. Para tener siempre un valor de 1 lógico en las columnas del teclado (parte alta del puerto B del pic) es necesario conectar resistencias de pull-up.UNIVERSIDAD POLITÉCNICA SALESIANA Fecha: 25/06/2015 2. de este modo se pueden leer 16 teclas utilizando solamente 8 líneas de un microcontrolador. Cada píxel de un LCD típicamente consiste de una capa de moléculas alineadas entre dos electrodos transparentes. Un teclado matricial 4x4 solamente ocupa 4 líneas de un puerto para las filas y otras 4 líneas para las columnas.

RBO Pin columna 1 del teclado matricial RB1 Pin columna 2 del teclado matricial RB2 Pin columna 3 del teclado matricial RB3 Pin columna 4 del teclado matricial RB4 Pin fila 1 del teclado matricial RB5 Pin fila 2 del teclado matricial RB6 Pin fila 3 del teclado matricial RB7 Pin fila 4 del teclado matricial RD0 PIN E del LCD RD1 PIN RS del LCD RD2 PIN RW del LCD RD4 PIN D4 del LCD RD5 PIN D5 del LCD RD6 PIN D6 del LCD RD7 PIN D7 del LCD Al inicio del programa nos pide ingresar la clave de 4 dígitos que al ser correcta la cerradura electrónica se abre caso contrario aparece clave incorrecta.UNIVERSIDAD POLITÉCNICA SALESIANA Fecha: 25/06/2015 SISTEMAS MICROPROCESADOS I PROBLEMA: Realizar la programación necesaria de una cerradura electrónica en la que permita al usuario realizar un cambio de clave de acceso de 4 dígitos cuando se ha presionado la tecla D los datos ingresados desde un teclado matricial 4x4. . En las siguientes figuras se detalla el proceso. En la figura 5 pide el ingreso de la clave del primer digito en este caso es el 1. PROGRAMA EN PIC C Figura 4 CODIGO EN PIC DEL PROBLEMA PLANTEADO Tabla 1 PINES UTILIZADOS PARA LA SIMULACION DEL RESPECTIVO PROBLEMA Pin Conexión OSC1 Cristal 4M y capacitor 22nf OSC2 Cristal 4M y capacitor 22nf MCLR Reset. el cual se pueda visualizar en un LCD de 2x16.

UNIVERSIDAD POLITÉCNICA SALESIANA Fecha: 25/06/2015 SISTEMAS MICROPROCESADOS I Figura 5: Ingreso del primer digito. esta opción nos permite realizar un cambio de clave de acceso a nuestra cerradura electrónica que consta de 4 dígitos como se puede apreciar en la figura 10. Figura 7: Ingreso del tercer digito. Figura 9: Mensaje Puerta Abierta. Figura 10: Mensaje Ingrese la Clave nueva. Y finalmente en la figura 8 pide el ingreso de la clave del cuarto digito en este caso es el 4. Si presionamos la tecla D del teclado matricial. En la figura 11 pide el ingreso de la nueva clave DÍGITO 1. en la simulación se ingresó el 2. . En la figura 6 pide el ingreso de la clave del segundo digito en este caso es el 2. Al terminar de digitar correctamente la clave de acceso de los 4 dígitos aparece un mensaje en la cual dice puerta abierta. en la figura 9 se puede apreciar el mensaje. En la figura 7 pide el ingreso de la clave del tercer digito en este caso es el 3. para inmediatamente pedir el ingreso de DÍGITO 2. Figura 6: Ingreso del segundo digito. Figura 8: Ingreso del cuarto digito.

En la figura 13 pide el ingreso de DIGITO 3. para inmediatamente pedir el ingreso de DIGITO 3. SISTEMAS MICROPROCESADOS I Figura 14: Ingreso del cuarto digito y el ingreso a la cerradura.Nos indica que ingresemos el segundo dígito de la nueva clave. Se observa el mensaje que nos permite cambiar la nueva clave al presionar la tecla D. . Dígito número 1. ANALISÍS Y RESULTADOS En la Imagen 1. En la figura 14 pide el ingreso de DIGITO 4. Al finalizar con esto. la misma que está conformada por cuatro nuevos dígitos. Cambio de clave. Figura 12: Ingreso de DIGITO 2. En la imagen 2. En la imagen 3.UNIVERSIDAD POLITÉCNICA SALESIANA Fecha: 25/06/2015 Figura 11: Ingreso de DIGITO 1.Nos indica que ingresemos el primer dígito de la nueva clave. para inmediatamente pedir el ingreso de DIGITO 4. nos pide el ingreso de la contraseña para verificar si podemos abrir la cerradura o no 5. para luego finalizar con el ingreso de los nuevos DÍGITOS de la contraseña nueva. en la simulación la tecla presionada es el 8. En la figura 12 pide el ingreso de DÍGITO 2. Imagen 2. en la simulación la tecla presionada es el 6. en la simulación el dígito presionado es el 4. Figura 13: Ingreso de DIGITO 3. Image n 1.

Imagen 5. En la imagen 4.puntoflotante.com/indice-practicas-pic-enc/memoria-eeprom-interna-del-pic.  Se debe verificar que la conexión del teclado 4x4 este bien ya que esta puede causar problemas en la visualización del LCD. el sistema permitirá abrir la cerradura como se muestra en la imagen6.  Se verificó que la memoria EEPROM sirve para guardar una variable en una cierta posición de la memoria.Dígito número 2. Puerta abierta. REFERENCIAS [1] http://www.aspx? dDocName=en010242 .UNIVERSIDAD POLITÉCNICA SALESIANA Fecha: 25/06/2015 SISTEMAS MICROPROCESADOS I Image Al ingresar la nueva clave. además se debe colocar el pin del master Clear a 1 lógico o VCC para iniciar el funcionamiento del PIC. Imagen6.net/EEPROM. CONCLUSIONES Ima gen 4.com/wwwproducts/Devices. 6.  Verificar que en la programación se utiliza las librerías tanto del LCD y el teclado 4x4 para evitar problemas al compilar. 6.  Se verificó que para almacenar los datos (clave) en la memoria EEPROM es necesario hacerlo específicamente en esta dirección 0x2100  Se verificó que es más óptimo utilizar también la librería KBD para el teclado.Nos indica que ingresemos el tercer digito.Dígito número 4. para optimizar el código de programación  Se verificó que en la lectura de los datos ingresados deben cumplirse TODOS para poder activar el relé (CONTRASEÑA CORRECTA) 7. RECOMENDACIONES  Verificar en el datasheet del pic los pines de polarización. En la imagen 5.Dígito número 3.Nos indica que ingresemos el cuarto digito.html [2] http://www. n 3.aquihayapuntes.microchip.htm [3]http://www.

circuitoselectronicos. «CCS_C_Manual.cl/eie48700/referencias/CCS_C_Man ual.pdf.ucv. Available: http://www. [5]http://www.» [En línea].org/2011/03/tecladomatricial-4x4.cursos.html SISTEMAS MICROPROCESADOS I .UNIVERSIDAD POLITÉCNICA SALESIANA Fecha: 25/06/2015 [4] cursos.