Codificación binaria-hexadecimal utilizando una EPROM
Fecha: 13 de noviembre
del 2023 (y algún día de noviembre de 1996)
Escenario
Esta es una representación de un trabajo práctico
final de la materia Técnicas digitales de primer año de la
carrera de Técnico superior en robótica
que realicé en 1996, y que me representó un 10 (una A en hexa) en
mis calificaciones (gentileza de la profe
Verónica Rosenfeld).
El circuito es (era) un contador binario 7493
alimentado por un astable NE555 o por pulsos manuales, que
introduce valores binarios en una EPROM (Erasable
Programable Read Only Memory), y en cada posición
de memoria coincidente con los valores binarios
de entrada, almacena valores (para humanos en formato
hexadecimal) que son coincidentes eléctricamente
a los pines del display 7 segmentos del contador, no es
el mismo valor hexadecimal a representar en el
display.
En definitiva, el circuito cuenta y muestra de 0
a F y luego se repite el ciclo.
La única finalidad de este trabajo es demostrar
la codificación binaria - 7 segmentos mediante lecturas de
memoria, y por aquel momento yo tenía un
programador EPROM marca Intelektron en mi PC 386.
El circuito sólo representa la etapa digital pero
llevaba alguna que otra parafernalia analógica (resistencias,
capacitores,etc…) aquí está bastante simplificado
sólo para enternder la lógica del mismo.
Una curiosidad es que cuando horas antes de
presentar el trabajo, monté todo el circuito sobre un bastidor
de madera la placa por algún motivo se arqueó y
el contador sólo contaba números impares (…) lo que me
provocó un paro cardíaco de algunos milisegundos
y con ajustes y aflojes de tornillos se arregló :-)
Hoy, analizando esto asumo que como el circuito
estaba realizado en in aplaca universal solada por debajo,
el tramo QA-A0 entre el contador y la EPROM por
algún motivo quedó en 1 por lo que siempre a la memoria
se le informaban números impares.
1.- Matriz de conversión
números hexadecimales – 7 segmentos:
Cada segmento del display se representará con 0 o
1, generando valores hexadecimales,
pero que no son valores únicos, sino que al menos
deberá contener esto valores.
El criterio que se eligió es en sentido de las
agujas del reloj (analógico) y la g al final, o sea
que se comienza con la a,b,c,d,e,f,g pero quedará
representado a la inversa: gfedcba.
Al ser un display de 7 segmentos necesitaremos
sólo 7 bits para energizarlos.
# |
in |
out |
pines |
valor |
Hex |
|
|||||
0 |
0 |
0000 |
abcdef |
0111111 |
3f |
1 |
1 |
0001 |
bc |
0000110 |
06 |
2 |
2 |
0010 |
abdeg |
1011011 |
5b |
3 |
3 |
0011 |
abcdg |
1001111 |
4f |
4 |
4 |
0100 |
bcfg |
1100110 |
66 |
5 |
5 |
0101 |
acdfg |
1101101 |
6d |
6 |
6 |
0110 |
acdefg |
1111101 |
7d |
7 |
7 |
0111 |
abc |
0000111 |
07 |
8 |
8 |
1000 |
abcdefg |
1111111 |
7f |
9 |
9 |
1001 |
abcfg |
1100111 |
67 |
10 |
A |
1010 |
abcefg |
1110111 |
77 |
11 |
B |
1011 |
cdefg |
1111100 |
7c |
12 |
C |
1100 |
adef |
0111001 |
39 |
13 |
D |
1101 |
bcdeg |
1011110 |
5e |
14 |
E |
1110 |
adefg |
1111001 |
79 |
15 |
F |
1111 |
aefg |
1110001 |
71 |
ó |
|||||
feag |
1110001 |
71 |
|||
afge |
1110001 |
71 |
|||
efag |
1110001 |
71 |
1.2.- Mapa de memoria:
La memoria sólo utiliza 16 bytes de los 64K y
quedó programada de la siguiente manera:
0000h |
3F |
06 |
5B |
4F |
66 |
6D |
7D |
07 |
7F |
67 |
77 |
7C |
39 |
5E |
79 |
71 |
000Ah |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
000Bh |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
000Ch |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
000Dh |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
resumido |
||||||||||||||||
FFFFh |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
00 |
2.- Comienzo de la cuenta en
cero:
# in out
pines valor Hex
gfedcba
0 0 0000 abcdef 0111111
3f
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f
67 77 7c 39 5e 79 71
2.1.- Representación del
número 1:
# in out
pines valor Hex
gfedcba
1 1 0001
bc 0000110 06
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67
77 7c 39 5e 79 71
2.2.- Representación del
número 2:
# in out
pines valor Hex
gfedcba
2 2 0010
abdeg 1011011 5b
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77
7c 39 5e 79 71
2.3.- Representación del
número 3:
# in out
pines valor Hex
gfedcba
3 3 0011
abcdg 1001111 4f
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c
39 5e 79 71
2.4.- Representación del
número 4:
# in out
pines valor Hex
gfedcba
4 4 0100
bcfg 1100110 66
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39
5e 79 71
2.5.- Representación del
número 5:
# in out
pines valor Hex
gfedcba
5 5 0101
acdfg 1101101 6d
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e
79 71
2.6.- Representación del
número 6:
# in out
pines valor Hex
gfedcba
6 6 0110
acdefg 1111101 7d
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.7.- Representación del
número 7:
# in out
pines valor Hex
gfedcba
7 7 0111
abc 0000111 07
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.8.- Representación del
número 8:
# in out
pines valor Hex
gfedcba
8 8 1000
abcdefg 1111111 7f
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.9.- Representación del
número 9:
# in out
pines valor Hex
gfedcba
9 9 1001
abcfg 1100111 67
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.10.- Representación del
número A:
# in out
pines valor Hex
gfedcba
10 A
1010 abcefg 1110111
77
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.11.- Representación del
número B: (en ese caso b)
# in out
pines valor Hex
gfedcba
11 b
1011 cdefg 1111100 7c
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.12.- Representación del número C:
# in out
pines valor Hex
gfedcba
12 C
1100 adef 0111001 39
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.13.- Representación del
número D: (en este caso d)
# in out
pines valor Hex
gfedcba
13 d
1101 bcdeg 1011110 5e
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.14.- Representación del
número E:
# in out
pines valor Hex
gfedcba
14 E
1110 adefg 1111001 79
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e 79 71
2.15.- Representación del
número F:
# in out
pines valor Hex
gfedcba
15 F
1111 aefg 1110001 71
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f 67 77 7c 39 5e
79 71
2.16.- Vuelta al número 0:
# in out
pines valor Hex
gfedcba
0 0 0000
abcdef 0111111 3f
En el mapa de memoria es:
0000h 3f 06 5b 4f 66 6d 7d 07 7f
67 77 7c 39 5e 79 71
(1996-2023) Hexadecimal
gender
Rosario, Argentina