Вы находитесь на странице: 1из 21

Práctica 1 Memorias EEPROM

Tema:
2.3 Memorias de solo lectura (ROM’s)
Objetivos
 Implementar un circuito que convierta un número decimal en el rango de 0 a 99 representado en binario
en 7 bits, a su correspondiente código BCD8421 en 8 bits.
 Programar la memoria EEPROM con la tabla de verdad del convertidor de código.
 Comprobar el funcionamiento del convertidor de código
Introducción
EEPROM responde a “Erasable Programmable Read Only Memory” que se puede traducir como Memoria
programable borrable de solo lectura. También se la conoce como E-2-PROM. Como su nombre sugiere, una
EEPROM puede ser borrada y programada con impulsos eléctricos. Al ser una pieza que se puede gestionar por
estos impulsos eléctricos, podemos realizar todas estas operaciones de reprogramación sin tener que desconectarla
de la placa a la cual va conectada.
La EEPROM también se conoce como “non-volatile memory” o memoria no volátil y es debido a que cuando se
desconecta la energía, los datos almacenados en la EEPROM no serán eliminados quedando intactos. Las
EEPROM más nuevas no tienen datos almacenados en ellas y deben ser primero configuradas con un programador
antes de ser usadas. La información almacenada dentro de este dispositivo puede permanecer durante años sin
una fuente de energía eléctrica.
Son usadas para almacenar información programable de usuario, como por ejemplo:
 Información de programación VCR
 Información de programación de CD
 Información de usuario de productos instalados en el equipo
La EEPROM en el monitor realiza dos funciones:
 Cuando encendemos un monitor se copiarán todos los datos o información desde la EEPROM al
microprocesador. Por ejemplo, la EEPROM dejará al microprocesador conocer las frecuencias en las
cuales el monitor funcionará.
 La EEPROM se utiliza para guardar la configuración más reciente del monitor. La configuración del
monitor no desaparecerá aunque el monitor sea apagado. Cuando se haga un cambio en dicha
configuración, el microprocesador actualiza estos cambios en la EEPROM. Cuando el monitor vuelve a
encenderse, los datos ya actualizados son usados para poner el monitor operativo.
Las EEPROM raramente fallan, y cuando lo hacen suele ser por picos eléctricos y sobrecargas de energía,
provocando perdida de datos o que estos datos queden dañados. Las EEPROM más modernas vienen vacías y
necesitan que la información les sea cargada para funcionar. El trabajo de copiar los datos en una EEPROM se
hace mediante un programador o copiador. Estos programas vienen en todos los tamaños y formas. Se componen
de una parte hardware donde se conecta la EEPROM y luego existen muchos software que harán la descarga al
dispositivo.
Hay que tener en cuenta que las EEPROM tienen un tiempo limitado de vida, es decir, las veces que se pueden
reprogramar puede ser de cientos o miles de veces, pero no son infinitas.
Material
1 Memoria AT28C16
8 Resistencias de 330 Ω
1 Barra de 8 leds ó en su defecto 8 leds individuales.
Equipo
1 Fuente de voltaje de CD.
1 Multímetro
1 Programador Universal
1 Protoboard
Procedimiento Experimental
1. Generar la tabla de valores en el editor de buffer del software SuperPro como se muestra en la figura 1.2.
Considere que los datos en el buffer son los valores de la tabla en código BCD8421 y solo deben llenarse 100
localidades, las restantes 28 deberán estar cargadas con el valor de 00.

Fig. 1.2 Ejemplo incompleto de Buffer de Proteus


2. Salvar el buffer en formato binario seleccionando la pestaña de Archivo/Guardar y asignando el nombre
BIN_BCD, designe la carpeta de almacenamiento que desee como se muestra en las figuras 1.3 y 1.4.

Fig. 1.3 y 1.4 Pestaña de selección de Archivo y Nombre de archivo


3. Programe la memoria AT28C16 con archivo BIN_BCD.BIN
4. Implemente el circuito de la figura 1.5.

Figura 1.5 Codificador Binario a BCD8421


5. Compruebe la función de conversión de código del circuito proponiendo una tabla de 16 valores diferentes.
6. Llene la tabla 1.2 con los 16 valores obtenidos del circuito y verifique que la operación se está realizando
correctamente.
Decimal Binario BCD8421
9 0001001 0000 1001
10 0001010 0001 0000
20 0010100 0010 0000
30 0011110 0011 0000
41 0101001 0100 0001
51 0110011 0101 0001
61 0111101 0110 0001
72 1001000 0111 0010
82 1010010 1000 0010
92 1011100 1001 0010
1 0000001 0000 0001
11 0001011 0001 0001
12 0001100 0001 0010
13 0001101 0001 0011
14 0001110 0001 0100
15 0001111 0001 0101
Tabla 1.2
Número 9 en código BCD8421

Número 20 en código BCD8421

Número 41 en código BCD8421

Número 61 en código BCD8421


Número 82 en código BCD8421

Número 11 en código BCD8421

Número 13 en código BCD8421

Número 15 en código BCD8421


7. El alumno diseñará un sistema que obtenga el código gray, el código XS3, el código en complemento a 2 y el
código BCD4221 a partir de un código binario de 4 bits.
Decimal Binario Gray XS3 Complemento a 2 BCD4221
0 0000 0000 0000 0011 0000 0000 0000
1 0001 0001 0000 0100 1111 0000 0001
2 0010 0011 0000 0101 1110 0000 0010
3 0011 0010 0000 0110 1101 0000 0011
4 0100 0110 0000 0111 1100 0000 1000
5 0101 0111 0000 1000 1011 0000 1001
6 0110 0101 0000 1001 1010 0000 1100
7 0111 0100 0000 1010 1001 0000 1101
8 1000 1100 0000 1011 1000 0000 1110
9 1001 1101 0000 1100 0111 0000 1111
10 1010 1111 0100 0011 0110 0001 0000
11 1011 1110 0100 0100 0101 0001 0001
12 1100 1010 0100 0101 0100 0001 0010
13 1101 1011 0100 0110 0011 0001 0011
14 1110 1001 0100 0111 0010 0001 1000
15 1111 1000 0100 1000 0001 0001 1001

8. Considere que para los 3 primeros códigos la salida es en 4 bits y que para el código BCD4221 se requieren 8
bits para la representación de los números 10, 11, 12, 13, 14 y 15.
9. Se deben incluir señales de control que seleccionen cuál es el código que se desea mostrar a la salida.
Señales de control
Señal de control Código
00 Gray
01 XS3
10 Complemento a 2
11 BCD4221

10. El alumno determinará las conexiones de la memoria AT28C16.


11. El alumno implementará el circuito y lo probará en el laboratorio.
12. El alumno comprobará las 4 tablas de verdad.
Número 3
Gray

XS3

Complemento a 2
BCD4221

Número 5
Gray

XS3
Complemento a 2

BCD4221

Número 11
Gray
XS3

Complemento a 2

BCD4221
Número 15
Gray

XS3

Complemento a 2
BCD4221

Cuestionario
1. Diseñe el circuito convertidor de código binario a BCD de las actividades previas, utilizando herramientas
computacionales de reducción para la obtención de las expresiones de álgebra de Boole y dibuje el circuito
resultante con compuertas lógicas de cualquier número de entradas.
Decimal Binario BCD8421
A B C D E F G S T U V W X Y Z

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1
2 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0
3 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1
4 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0
5 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1
6 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0
7 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1
8 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
9 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1
10 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0
11 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1
12 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0
13 0 0 0 1 1 0 1 0 0 0 1 0 0 1 1
14 0 0 0 1 1 1 0 0 0 0 1 0 1 0 0
15 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1
16 0 0 1 0 0 0 0 0 0 0 1 0 1 1 0
17 0 0 1 0 0 0 1 0 0 0 1 0 1 1 1
18 0 0 1 0 0 1 0 0 0 0 1 1 0 0 0
19 0 0 1 0 0 1 1 0 0 0 1 1 0 0 1
20 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0
21 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1
22 0 0 1 0 1 1 0 0 0 1 0 0 0 1 0
23 0 0 1 0 1 1 1 0 0 1 0 0 0 1 1
24 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0
25 0 0 1 1 0 0 1 0 0 1 0 0 1 0 1
26 0 0 1 1 0 1 0 0 0 1 0 0 1 1 0
27 0 0 1 1 0 1 1 0 0 1 0 0 1 1 1
28 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0
29 0 0 1 1 1 0 1 0 0 1 0 1 0 0 1
30 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0
31 0 0 1 1 1 1 1 0 0 1 1 0 0 0 1
32 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0
33 0 1 0 0 0 0 1 0 0 1 1 0 0 1 1
34 0 1 0 0 0 1 0 0 0 1 1 0 1 0 0
35 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1
36 0 1 0 0 1 0 0 0 0 1 1 0 1 1 0
37 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1
38 0 1 0 0 1 1 0 0 0 1 1 1 0 0 0
39 0 1 0 0 1 1 1 0 0 1 1 1 0 0 1
40 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0
41 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1
42 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0
43 0 1 0 1 0 1 1 0 1 0 0 0 0 1 1
44 0 1 0 1 1 0 0 0 1 0 0 0 1 0 0
45 0 1 0 1 1 0 1 0 1 0 0 0 1 0 1
46 0 1 0 1 1 1 0 0 1 0 0 0 1 1 0
47 0 1 0 1 1 1 1 0 1 0 0 0 1 1 1
48 0 1 1 0 0 0 0 0 1 0 0 1 0 0 0
49 0 1 1 0 0 0 1 0 1 0 0 1 0 0 1
50 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0
51 0 1 1 0 0 1 1 0 1 0 1 0 0 0 1
52 0 1 1 0 1 0 0 0 1 0 1 0 0 1 0
53 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1
54 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0
55 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1
56 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0
57 0 1 1 1 0 0 1 0 1 0 1 0 1 1 1
58 0 1 1 1 0 1 0 0 1 0 1 1 0 0 0
59 0 1 1 1 0 1 1 0 1 0 1 1 0 0 1
60 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0
61 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1
62 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0
63 0 1 1 1 1 1 1 0 1 1 0 0 0 1 1
64 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0
65 1 0 0 0 0 0 1 0 1 1 0 0 1 0 1
66 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0
67 1 0 0 0 0 1 1 0 1 1 0 0 1 1 1
68 1 0 0 0 1 0 0 0 1 1 0 1 0 0 0
69 1 0 0 0 1 0 1 0 1 1 0 1 0 0 1
70 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0
71 1 0 0 0 1 1 1 0 1 1 1 0 0 0 1
72 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0
73 1 0 0 1 0 0 1 0 1 1 1 0 0 1 1
74 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0
75 1 0 0 1 0 1 1 0 1 1 1 0 1 0 1
76 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0
77 1 0 0 1 1 0 1 0 1 1 1 0 1 1 1
78 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0
79 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1
80 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0
81 1 0 1 0 0 0 1 1 0 0 0 0 0 0 1
82 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0
83 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1
84 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0
85 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1
86 1 0 1 0 1 1 0 1 0 0 0 0 1 1 0
87 1 0 1 0 1 1 1 1 0 0 0 0 1 1 1
88 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0
89 1 0 1 1 0 0 1 1 0 0 0 1 0 0 1
90 1 0 1 1 0 1 0 1 0 0 1 0 0 0 0
91 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1
92 1 0 1 1 1 0 0 1 0 0 1 0 0 1 0
93 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1
94 1 0 1 1 1 1 0 1 0 0 1 0 1 0 0
95 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1
96 1 1 0 0 0 0 0 1 0 0 1 0 1 1 0
97 1 1 0 0 0 0 1 1 0 0 1 0 1 1 1
98 1 1 0 0 0 1 0 1 0 0 1 1 0 0 0
99 1 1 0 0 0 1 1 1 0 0 1 1 0 0 1

Para S
Para T
Para U

Para V
Para W
Para X
Para Y
Para Z
2. Describa las ventajas y desventajas del circuito resultante con respecto al circuito implementado en esta práctica
a través de la memoria ROM.
El circuito implementado a través de las funciones de Boole presentó más desventajas con respecto al
circuito implementado con la memoria debido a que requiere más elementos para su realización, el diseño
del circuito es más tardado e implicaría un mayor costo.
En cambio con la memoria el diseño es más fácil, no se necesitan de tantos elementos y en cuanto al costo
es más barato.
Conclusiones
En esta práctica me pude dar cuenta de que el uso de las memorias ROM es mucho más eficiente que
utilizar compuertas lógicas para realizar circuitos digitales, cada forma de armar los circuitos tiene sus
ventajas y desventajas, con las compuertas lógicas se tiene que aplicar la reducción de ecuaciones por
álgebra de Boole, mientras que con las memorias se debe de realizar una programación para cargarla
posteriormente, en cuanto a eficiencia personalmente me gusta más trabajar con las memorias ROM para
realizar circuitos de este tipo.

Вам также может понравиться