CÓDIGOS BINARIOS
FUNDAMENTOS DE DISEÑO DIGITAL
OPTATIVA I. ISISA
Cuando se representan números, letras o palabras por
medio de un grupo especial de símbolos, se dice que se
encuentran codificados, y al grupo de símbolos se le llama
código.
CÓDIGO: representación unívoca de una
cantidad
Los códigos binarios son usados por el hardware para el
procesamiento de información.
CATEGORÍAS DE CÓDIGOS USADOS
EN HARDWARE
CATEGORÍA I. Códigos utilizados por los circuitos lógicos para realizar
operaciones Booleanas. Ejemplo código binario.
CATEGORÍA II. Códigos utilizados para representar los números
decimales (0 al 9) o para codificar cantidades binarias. Ejemplo código
BCD, Gray, EXC3, etc.
CATEGORIA III. Códigos utilizados para convertir los números
decimales, las letras del alfabeto, símbolos y operadores en forma
binaria o hexadecimal. Ejemplo código ASCII.
CATEGORIA IV. Códigos de instrucciones utilizados en los
procesadores y PLDs que hacen que estos realicen una serie de
instrucciones. Ejemplo lenguaje C, HDL, etc.
CLASIFICACION DE CODIGOS
BINARIOS
Los códigos binarios se pueden dividir en dos tipos:
!
1. Cíclicos y continuos (GRAY)
!
• Continuos: si existe adyacencia entre sus combinaciones consecutivas.
• Cíclicos: si existe adyacencia entre la primera y última representación
!
2. BCD
!
BCD ➡ DECIMAL CODIFICADO EN BINARIO
ESTOS CODIGOS SIGUEN LAS REGLAS DEL SISTEMA DECIMAL
!
• Ponderados (BCD): cada bit tiene un peso bien definido dependiendo del lugar
que ocupa en la cantidad.
• No ponderado (EXC3): el nombre del código indica como se van a representar
las cantidades
CODIGOS BINARIOS
BCD Cíclicos y
SIS. Ponderados No ponderados continuos
BINARIO
DECIMAL
BCD EXC3 GRAY
0 0000 0000 0011 0000
1 0001 0001 0100 0001
2 0010 0010 0101 0011
3 0011 0011 0110 0010
4 0100 0100 0111 0110
5 0101 0101 1000 0111
6 0110 0110 1001 0101
7 0111 0111 1010 0100
8 1000 1000 1011 1100
9 1001 1001 1100 1101
10 1010 0001 0000 0100 0011 1111
11 1011 0001 0001 0100 0100 1110
12 1100 0001 0010 0100 0101 1010
13 1101 0001 0011 0100 0110 1011
14 1110 0001 0100 0100 0111 1001
15 1111 0001 0101 0100 1000 1000
CONVERTIDOR DE CODIGO
Un convertidor de código es un circuito lógico que cambia los datos
presentados en un tipo de código binario a otro código binario.
Práctica 4!
convertidor de código BIN/GRAY y GRAY/BIN
n n CONTROL SALIDA
E Convertidor 0 BIN/GRAY
de SALIDA 1 GRAY/BIN
código
CONTROL GAL
DISEÑO
E3 E2 E1 E0 S3 S2 S1 S0
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1 S3=∑m(8,9,10,11,12,13,14,15)!
0 0 1 1 0 0 1 0 S2=∑m(4,5,6,7,8,9,10,11)!
0 1 0 0 0 1 1 0 S1=∑m(2,3,4,5,10,11,12,13)!
0 1 0 1 0 1 1 1 S0=∑m(1,2,4,5,6,9,10,13,14)
0 1 1 0 0 1 0 1
0 1 1 1 0 1 0 0 Minimizando las ecuaciones:
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1 S3=B3!
1 0 1 0 1 1 1 1 S2=B3 ⊕
B2!
1 0 1 1 1 1 1 0 S1=B2 ⊕
B1!
1 1 0 0 1 0 1 0
S0=B1 ⊕
B0
1 1 0 1 1 0 1 1
1 1 1 0 1 0 0 1
1 1 1 1 1 0 0 0
Método para convertir cantidades binarias a Gray
BMP!
B B B B
1 1 0 1 BINARIO
Por lo que se puede resumir:
+ + +
BMP
B B B B
1 0 1 1 GRAY
⊕
BMP!
G G G 0 B B B
G
G G G G
Analizando el método de conversión se tiene:
BMP
BMP
B B B B
1 1 0 1
⊕ ⊕ ⊕ B3 ⊕ 0 = B3
B B B
1 1 0
1 0 1 1
G
BMP
G G G
OPERADORES DE CORRIMIENTO
sll →
desplazamiento
lógico
(llenado
con
ceros)
hacia
la
izquierda.
se desechan 10010101
!
Si A=10010101 10010101
! !
A sll 2 = 01010100 ! dos espacios vacíos
010101 que se llenan con
! ceros
resultado 01010100
srl →
desplazamiento
lógico
(llenado
con
ceros)
hacia
la
derecha.
10010101
! se desechan
Si A=10010101 10010101
tres espacios vacíos
! que se llenan con !
A srl 3 = 00010010 ceros !
10010
!
resultado 00010010
OPERADORES DE CORRIMIENTO
sla →
desplazamiento
aritmético
(llenado
con
el
último
bit
a
la
derecha
o
el
bmp)
hacia
la
izquierda.
se desechan 1 0 0 1 0 1 0 1
!
10010101
Si A=10010101
!
!
! tres espacios vacíos
A sla 3 = 10101111
101 01 que se llenan con el
! bmp
resultado 10101111
sra →
desplazamiento
aritmético
(llenado
con
el
último
bit
a
la
izquierda
o
el
BMP)
hacia
la
derecha.
10010101
! se desechan
10010101
Si A=10010101
dos espacios vacíos !
! que se llenan con !
A sra 2 = 11100101 ceros el BMP
100101
!
resultado 00010010
OPERADORES DE CORRIMIENTO
rol →
rotación
a
la
izquierda 10010101
!
10010101
!
Si A=10010101 !
! 00101011
A rol 3 = 10101100 0 1 0 1 0 1 1 0!
10101100
10101100 resultado
ror →
rotación
a
la
derecha 10010101
!
1 0 0 1 0 1 0 1!
Si A=10010101 !
! !
A ror 3 = 110 01010
0 1 1 0 0 1 0 1!
10 110010
10 110010 resultado
Método para convertir cantidades en código Gray a binario
BMP!
G G G G
1 1 0 1 GRAY
+ + +
1 0 0 1 BINARIO
BMP!
B B B
B