UNIVERSIDAD UNIVERSIDAD AUTÓNOMA DE OCCIDENTE (UAO) FACULTAD DE INGENIERÍA (FI) DPTO. AUTOMÁTICA Y ELECTRÓNICA (DAE) ÁREA ELECTRÓNICA Y TELECOMUNIC. (AEYT) NOTAS DE CLASE - CURSO DE ELECTRÓNICA DIGITAL
CONVERSIÓN DE UN NÚMERO NÚMERO BINARIO A UN NÚMERO BCD 1.
INTRODUCCIÓN. Si se quiere mostrar en visualizadores de 7 segmentos el equivalente decimal de un número binario, se tiene que convertir antes a código BCD. Aunque es posible construir un conversor tipo combinacional, se mostrará también la forma de hacerlo de tipo secuencial, de una forma eficiente.
2.
ALGORITMO (Comparar y sumar 6) PARA CONVERSION DE BINARIO A BCD a) b) c) d)
Se tiene un número binario de cuatro bits que desea convertir a BCD. Si el número es menor que (1010) 2, no es necesario cambiar nada. Si el número es mayor a (1001) 2 se le resta (1010) 2 para obtener un dígito BCD. Se coloca un 1 en el dígito de las decenas en BCD, lo cual se puede considerar como la adición de (0001 0000) 2 = (16)10 al número original.
Ejemplo. a) b) c) d)
Convertir (1100) 2 a ¿Número menor a (1010) 2? ¿Número mayor a (1001) 2 Sumar (10000) 2
BCD NO Restar (1100) 2 - (1010) 2 = (0010) (0010) 2 + (10000) 2 = (0001 0010) BCD
2
Si se combinan estas operaciones en una sola, se ve que para convertir un número binario de cuatro bits a BCD, sólo se tiene que añadir (6) 10 o (0110) 2 si el número es mayor o igual a 10. Esto funciona bien para binarios de cuatro bits, pero ¿que pasa si se tienen números de mayor cantidad de bíts? Si se tienen números binarios de más de cuatro bíts, se desplaza la entrada, un bit a la vez, en grupos de cuatro bits, y en cada paso se le añade (0110) 2 si el resultado es mayor a (1001) 2. Ejemplo. Convertir el número (10110) 2 a BCD. Para mejor comprensión del procedimiento, ver tabla de la figura 1.
ELABORACIÓN ELABORACIÓN César M. Rojas E. Enero - 2012
REVISIÓN (AEYT)
APROBACIÓN APROBACIÓN (DAE) Diego Martínez
AUTORIZACIÓN AUTORIZACIÓN (FI) Freddy Naranjo
1
UNIVERSIDAD AUTÓNOMA DE OCCIDENTE (UAO) FACULTAD DE INGENIERÍA (FI) DPTO. AUTOMÁTICA Y ELECTRÓNICA (DAE) ÁREA ELECTRÓNICA Y TELECOMUNIC. (AEYT) NOTAS DE CLASE - CURSO DE ELECTRÓNICA DIGITAL
OPERACION Entrada en binario Desplazamiento-1 a la izquierda. ¿Bloque unidades > 9? NO Desplazamiento-2 a la izquierda ¿Bloque unidades > 9? NO Desplazamiento-3 a la izquierda ¿Bloque unidades > 9? NO Desplazamiento-4 a la izquierda ¿Bloque unidades > 9? SI Sumar (0110) 2 Resultado de la suma Desplazamiento-5 a la izquierda ¿Bloque unidades > 9? NO ¿Bloque decenas > 9? NO Salida equivalente en BCD
DECENAS
UNIDADES
BINARIO
1
10110 0110
10
110
101
10
1011
0 0
1 10
1011 0110 0001 0010
2
2
0
Figura 1. Ilustración de la conversión de un número binario de 5 bits a BCD.
Después de cada desplazamiento, es necesario comprobar si algún bloque de las columnas “Unidades” o “Decenas” es mayor que (9) 10. Si es así, se debe añadir (6) 10 antes de un nuevo desplazamiento. Nótese que cuando se añadió (0110) 2, el bit de acarreo se ubicó en la siguiente columna. Esto significa que se necesitan cinco bits de salida en vez de cuatro, en cada paso. Sin embargo, hay un truquito que se puede utilizar para evitar esto. ¿Si a un número binario se le desplaza una posición a la izquierda, matemáticamente que se le está haciendo? ¡Duplicándolo! Si se cambia el orden de las operaciones, sólo se necesitarán cuatro bits de salida. Específicamente se puede sumar 3 y duplicar, en vez de duplicar y adicionar 6, porque en ambos casos se obtiene el mismo resultado. De aquí es de donde este algoritmo obtiene su nombre. La nueva regla entonces es, desplazar la entrada, un bit a la vez, en grupos de cuatro bits, y si un dígito es cinco (0101) 2 o mayor, entonces se le adiciona (0011) 2 antes de desplazarlo de nuevo. ELABORACIÓN César M. Rojas E. Enero - 2012
REVISIÓN (AEYT)
APROBACIÓN (DAE) Diego Martínez
AUTORIZACIÓN (FI) Freddy Naranjo
2
UNIVERSIDAD AUTÓNOMA DE OCCIDENTE (UAO) FACULTAD DE INGENIERÍA (FI) DPTO. AUTOMÁTICA Y ELECTRÓNICA (DAE) ÁREA ELECTRÓNICA Y TELECOMUNIC. (AEYT) NOTAS DE CLASE - CURSO DE ELECTRÓNICA DIGITAL
3.
ALGORITMO (Desplazar y sumar 3) PARA CONVERSION DE BINARIO A BCD En la tabla de la figura 2, se presenta el mismo ejemplo anterior, con el algoritmo “desplazar y sumar 3”
OPERACION Entrada en binario Desplazamiento-1 a la izquierda.
DECENAS
UNIDADES
Desplazamiento-2 a la izquierda. ¿Bloque unidades ≥ 5? NO. Desplazamiento-3 a la izquierda. ¿Bloque unidades ≥ 5? SI. Sumar (011)2 Resultado de la suma Desplazamiento-4 a la izquierda. ¿Bloque unidades ≥ 5? NO. ¿Bloque decenas ≥ 5? NO. Desplazamiento-5 a la izquierda. ¿Bloque unidades ≥ 5? NO ¿Bloque decenas ≥ 5? NO Salida equivalente en BCD
NUMERO BINARIO 10110 1 0110
10
110
101
10 10
1
101 011 1000 0001
10
0010
2
2
10 0
Figura 2. Conversión de Binario de 5 bits a BCD usando el algoritmo “desplazar y sumar 3”.
El mismo procedimiento podrá ser aplicado para números de cualquier cantidad de bits. Se mantendrá la condición de desplazar y adicionar 3, hasta que todos los bits de la entrada hayan sido desplazados. Por ejemplo, para un número de 8 bits, se necesitan hacer 8 desplazamientos. Ahora, la pregunta es ¿cómo implementar el circuito conversor? En primer lugar, se necesita diseñar como se crea conveniente, un bloque con cuatro bits de entrada y cuatro de salida que realice la operación de "sumar 3 si la entrada es igual o mayor que 5". Se crea un macro con este bloque y se dispone como se indica en la figura 3, para obtener el convertidor de un número Binario a un número BCD.
ELABORACIÓN César M. Rojas E. Enero - 2012
REVISIÓN (AEYT)
APROBACIÓN (DAE) Diego Martínez
AUTORIZACIÓN (FI) Freddy Naranjo
3
UNIVERSIDAD AUTÓNOMA DE OCCIDENTE (UAO) FACULTAD DE INGENIERÍA (FI) DPTO. AUTOMÁTICA Y ELECTRÓNICA (DAE) ÁREA ELECTRÓNICA Y TELECOMUNIC. (AEYT) NOTAS DE CLASE - CURSO DE ELECTRÓNICA DIGITAL
Figura 3. Diagrama combinacional de un convertidor de Binario a BCD
Esta disposición diagonal es lo que hace que los bits se desplacen a través del algoritmo como se describió anteriormente. Ahora se puede disponer de los dígitos decimales individuales, para lo que sea necesario, como por ejemplo mostrarlos en visualizadores de 7 segmentos.
ELABORACIÓN César M. Rojas E. Enero - 2012
REVISIÓN (AEYT)
APROBACIÓN (DAE) Diego Martínez
AUTORIZACIÓN (FI) Freddy Naranjo
4