Está en la página 1de 435

L gica DyM_cubierta:Maquetaci n 1 18/05/2007 17:45 PÆgina 1

Lógica digital y microprogramable Lógica digital


y microprogramable

Lógica digital y microprogramable


Esta obra recorre las materias fundamentales de la electrónica digital, basándose en
el currículo del módulo del mismo nombre del Ciclo Formativo de Desarrollo de
Productos Electrónicos. Está especialmente indicada para alumnos y profesores de
este ciclo, para cursos de reciclaje en empresas, pudiendo también resultar intere-
sante en los estudios de ciertas especialidades de ingeniería y, en general, para todo
Pío Novo,
Belisario R. Sánchez,
aquel interesado en la electrónica digital.
Amancio Rodríguez
La estructura del libro consta de dos partes: la primera se dedica a la electrónica di-
gital cableada y la segunda a la electrónica digital programable.
La unidad 1 inicia al lector en la necesidad de la electrónica digital y de su exis-
tencia, abriendo las bases de la lógica digital.
Las unidades 2 a 8 desarrollan la electrónica digital cableada proporcionado al
lector los conocimientos necesarios para realizar pequeñas aplicaciones simuladas
a través de medios informáticos e incluso con la posibilidad de realizarlos con
unos mínimos medios de forma real. Éstas desarrollan la aplicación OrCAD para
el diseño y simulación electrónicos, apoyándose por los diferentes tutoriales que
se suministran en el disco adjunto.
Las unidades 9 a 12 tratan de la electrónica programable. La unidad 9 inicia al
lector en el mundo de la programación a través de las memorias electrónicas y los
dispositivos lógicos programables. Las tres últimas unidades se refieren a la elec-
trónica basada en dispositivos microprogramables, centrándose en los microcon-
troladores y en particular en el PIC16F84A, que dispone de herramientas de
programación y simulación proporcionadas por el fabricante y del cual se desarro-
llan diferentes aplicaciones prácticas.
Este libro dispone de tutoriales del OrCAD Capture, del OrCAD Pspice y del MPLAB
para una mejor utilización de los recursos informáticos. Va acompañado de un CD
con aplicaciones informáticas de libre distribución (en versión de demostración o fa-
cilitadas de forma gratuita por el fabricante), hojas de características, necesarias para
realizar los diferentes ejercicios y aplicaciones prácticas propuestos y las soluciones
de los ejercicios de autoevaluación planteados en cada uno de los capítulos.

www.marcombo.com

ediciones técnicas Incluye CD ediciones técnicas


L gica digital y prog_ U 00-final.qxp 16/05/2007 20:42 PÆgina i

Lógica digital
y microprogramable
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:42 PÆgina ii
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:42 PÆgina iii

Pío Novo,
Belisario R. Sánchez,
Amancio Rodríguez

Lógica digital
y microprogramable
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:42 PÆgina iv

Ficha bibliográfica:

Lógica Digital y Microprogramable


Familia profesional Electricidad electrónica
Ciclo formativo Desarrollo de productos electrónicos
Grado Superior
Autores Pío Novo, Belisario R. Sánchez, Amancio Rodríguez

Título: Lógica digital y microprogramable

Autores:
Pío Novo,
Belisario R. Sánchez,
Amancio Rodríguez

Cubierta: Microcontroladores sobre la persistencia de la memoria de Dalí


Diseño y realización de la cubierta: María Novo Domínguez

ã Reservados todos los derechos de publicación, reproducción, préstamo, alquiler o cual-


quier otra forma de cesión del uso de este ejemplar de la presente edición española por
MARCOMBO S. A. 2007
Gran Via de les Corts Catalanes, 594
08007 Barcelona

Queda prohibida, salvo excepción prevista en la ley, cualquier forma de reproducción, distribución,
comunicación pública y transformación de esta obra sin contar con autorización de los titulares de la
propiedad intelectual.
La infracción de los derechos mencionados puede ser constitutiva de delito contra la propiedad inte-
lectual (arts. 270 y siguientes, Código Penal). El Centro Español de Derechos Reprográficos
(www.cedro.org) vela por el respeto de los citados derechos.

Consulte nuestro fondo editorial


http://www.marcombo.com

Pueden existir materiales adicionales a este libro atojados en la URL:


http://www.marcombo.com/descargas

El autor de la obra alojará en esta dirección materiales adicionales que considere


de interés para sus lectores, y los irá actualizando periódicamente.

ISBN: 84-267-1418-8
EAN13: 978 84 267 1447 3
Depósito legal:
Impreso en Gráficas Díaz Tuduri, S.L.
Printed in Spain
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:42 PÆgina v

Prólogo
El desarrollo de la electrónica y en particular de la electrónica digital en los últimos años ha sido espec-
tacular y consecuencia de ello es su aplicación en todo tipo de actividades. La intención de los autores
de este libro es dar a conocer una visión mas o menos pormenorizada de esta disciplina, utilizando
como base la programación del módulo homónimo del Ciclo Superior de Desarrollo de Productos
Electrónicos pretendiendo que el lector alcance unos conocimientos que se correspondan con los obje-
tivos de este módulo, es decir, diseñar y desarrollar pequeños productos electrónicos digitales tanto
cableados como programables.
La profundización de cualquiera de las unidades desarrolladas en esta obra, puede alcanzarse a través
de los títulos referidos en la bibliografía.
Esta obra esta desarrollada en las siguientes secciones:
La unidad 1 inicia al lector en la necesidad de la electrónica digital y de su existencia, abriendo
las bases de la lógica digital.
Las unidades 2 a 8 desarrollan la electrónica digital cableada desde sus inicios hasta la actuali-
dad proporcionado al lector los conocimientos necesarios para realizar pequeñas aplicaciones
simuladas a través de medios informáticos (en el disco adjunto se proporcionan las herramientas
informáticas precisas y los tutoriales para su utilización) e incluso con la posibilidad de realizarlos
con unos mínimos medios de forma real.
Las unidades 9 a 12 se sumergen en la electrónica programable. La unidad 9 inicia al lector en el
mundo de la programación a través de las memorias electrónicas y los dispositivos lógicos progra-
mables. Las tres últimas unidades se refieren a la electrónica basada en dispositivos microprogra-
mables, centrándose en los microcontroladores y en particular en el popular PIC16F84A, que dis-
pone de herramientas de programación y simulación proporcionadas por el fabricante y del cual
se desarrollan diferentes aplicaciones prácticas.
Las disconformidades y errores que puedan aparecer en este libro son, por supuesto, responsabi-
lidad de los autores y en particular las unidades 1, 5, 8 y 10 son responsabilidad de Amancio
Rodríguez las unidades 4, 6, 7 y 11 lo son de Ramón Belisario Sánchez y las que restan, unidades
2, 3, 9 y 12 de Pío Novo.
Aprovechamos desde aquí para mostrar nuestro agradecimiento a Chema Cerviño que nos puso en con-
tacto para este trabajo y nos asesoró con sus comentarios, opiniones y revisiones.
Esta obra surgió de una colaboración con la Consellería de Educación de la Xunta de Galicia.

Los autores

v
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:42 PÆgina vi

Estructura del libro


Relación de unidades didácticas

UD1: Introducción a la electrónica digital

UD2: Puertas lógicas

UD3: Familias lógicas

UD4: Bloques funcionales combinacionales

UD5: Aritmética en los códigos binarios

UD6: Lógica secuencial. Biestables

UD7: Circuitos secuenciales. Registros y contadores

UD8: Circuitos complementarios de electrónica digital

UD9: Dispositivos lógicos programables

UD10: Dispositivos microprogramables

UD11:Microcontrolador PIC 16F8X (Arquitectura, lenguajes de programación)

UD12:Periféricos, interrupciones, memoria EEPROM, etc. del PIC16F84

Alegorías
Unidad 1. Ceros y unos sobre el pensador de Rodin.

Unidad 2. Circuito sobre puerta sobre el mar de Hopper

Unidad 3. Hoja de características sobre familia de acróbatas de Picasso

Unidad 4. Estación meteorológica sobre faro en two lights de Hopper

Unidad 5. Ábaco y el cambista y su mujer de Van Reymerswaele

Unidad 6. Placa de circuito sobre xilografía de Friedrich Exter2

Unidad 7. Registro de desplazamiento sobre autorretrato de Warhol

Unidad 8. Imagen digitalizada de Argos de los cien ojos

Unidad 9. Circuito con memorias sobre la memoria de Magritte

Unidad 10. Pentagrama con instrucciones de micro sobre director de orquesta

Unidad 11. Microcontrolador sobre the circle theatre de Hopper

Unidad 12. Microcontroladores sobre la persistencia de la memoria de Dalí

vi
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:43 PÆgina vii

Índice general
UD1 - Introducción a la electrónica digital
1. Señales y sistemas de control. Codificación de magnitudes . . . . . . . 2
1.1 Sistemas de numeración y codificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 El sistema de numeración decimal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 El sistema de numeración binario (binario natural) . . . . . . . . . . . . . . . . . . 6
1.1.3 Ejercicios de cambio de base entre los sistemas decimal y binario . . . . . . 8
1.1.4 El sistema de numeración hexadecimal . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.5 Ejercicios de cambio de base entre los sistemas hexadecimal
y decimal o binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.6 El sistema de numeración octal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.7 Ejercicios de cambio de base entre los sistemas octal
y decimal o binario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1.8 Herramientas informáticas para el trabajo con los sistemas
de numeración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.1.9 Utilización de la calculadora de Windows para la
realización de cambios de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.2 Otros sistemas de codificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.2.1 Sistemas binarios numéricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.2.2 Ejercicios de cambio de base entre los sistemas decimal y BCD . . . . . . . . 23
1.2.3 Sistemas de codificación alfanumérica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2. Lógica proposicional y álgebra de Boole . . . . . . . . . . . . . . . . . . . . . 26


2.1 La lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2 La lógica proposicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1 Ejercicios de identificación de los elementos lógicos
de una proposición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3 El álgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.1 La lógica proposicional como álgebra de Boole . . . . . . . . . . . . . . . . . . . . . 32
2.3.2 Teoremas del álgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3 Ejercicios de simplificación de expresiones lógicas . . . . . . . . . . . . . . . . . . 34
2.3.4 Funciones booleanas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.5 Ejercicios de identificación de funciones lógicas . . . . . . . . . . . . . . . . . . . . 38
2.3.6 Expresiones canónicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.7 Ejercicos con la expresiones canónicas de las funciones . . . . . . . . . . . . . . 41
2.4 Aplicación a los procesadores digitales electrónicos . . . . . . . . . . . . . . . . . . . 43
3. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

UD2: Puertas lógicas


1. Funciones primitivas de electrónica digital . . . . . . . . . . . . . . . . . . . 48
1.1 Funciones primitivas de electrónica digital . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.2 Ejemplos resueltos de aplicaciones básicas con puertas lógicas . . . . . . . . . . 50
1.3 Implementación de un circuito digital con puertas lógicas . . . . . . . . . . . . . . 51
1.4 Ejemplos resueltos de funciones lógicas utilizando puertas lógicas . . . . . . . 51
1.4.1 Necesidad de las puertas complementadas . . . . . . . . . . . . . . . . . . . . . . . . 52

vii
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:43 PÆgina viii

Lógica digital y microprogramable

1.5 Ejemplos resueltos de implementación de funciones lógicas


utilizando puertas con sa-llida complementada . . . . . . . . . . . . . . . . . . . . . . 53
2. Aplicación OrCAD para la captura y la simulación
de circuitos digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.1 Aplicación Capture del programa Orcad para la realización
de esquemas digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.2 Método de trabajo con OrCAD Simulate Demo . . . . . . . . . . . . . . . . . . . . . . 58
2.2.1 Ejemplos resueltos con la aplicación PSpice del programa Orcad
para la simulación de circuitos digitales . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3. Método de Karnaugh de simplificación de funciones lógicas . . . . . . 61
3.1 Método de Karnaugh (procedimiento) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.2 Ejemplos resueltos de simplificación de funciones lógicas
por el método de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.3 Funciones incompletas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4 Ejemplos resueltos con funciones incompletas . . . . . . . . . . . . . . . . . . . . . . 65
3.5 Ejemplos resueltos de funciones lógicas con circuitos integrados . . . . . . . . . 65
Aplicación práctica : Análisis, captura y simulación con OrCAD
de un circuito básico con puertas lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

UD3: Familias lógicas


1. Diferentes familias lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
1.1 Características básicas de los circuitos integrados . . . . . . . . . . . . . . . . . . . . . 72
1.2 Características generales de los circuitos integrados digitales . . . . . . . . . . . . 73
1.2.1 Ejemplos resueltos para el cálculo de los parámetros de
los circuitos integrados partiendo de las hojas de datos . . . . . . . . . . . . . . 75
2. Familia lógica TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.1 Principios de la tecnología bipolar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.2 Características de la familia lógica TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.3 Descripción de la familia lógica TTL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.4 Consideraciones prácticas sobre el uso de TTL . . . . . . . . . . . . . . . . . . . . . . . 80
2.5 Entradas TTL no utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.6 Ejemplos resueltos para el cálculo de las características de
los circuitos integrados digitales de la familia TTL . . . . . . . . . . . . . . . . . . . . . 81
3. Familia lógica CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.1 Principios de la tecnología MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.1.1 Familias CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.1.2 Interfaces entre familias lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.2 Ejemplos resueltos de conexiones entre familias lógicas . . . . . . . . . . . . . . . . 86
Aplicación práctica : Análisis, captura y simulación con OrCAD
de un circuito con puertas lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

viii
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:43 PÆgina ix

Índice general

UD4: Bloques funcionales combinacionales


1. Bloques funcionales combinacionales: Codificadores . . . . . . . . . . . . 92
1.1 Codificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
1.1.1 Análisis con codificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Aplicación práctica: Configuración del teclado y codificador
de una estación meteorológica.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2. Bloques funcionales combinacionales: Multiplexores . . . . . . . . . . . . 98
2.1 Multiplexores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.2 Implementación de funciones lógicas utilizando multiplexores. . . . . . . . . . . 101
Aplicación práctica: Estación meteorológica. . . . . . . . . . . . . . . . . . . . . . . . . 106
3. Bloques funcionales combinacionales: Convertidores de código . . . 110
3.1 Análisis de circuitos convertidores de código . . . . . . . . . . . . . . . . . . . . . . . . 110
3.2 Convertidores BCD/7-ssegmentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.3 Convertidores BCD a decimal e binario a decimal (decodificadores). . . . . . . 114
Aplicación práctica: Estación meteorológica. . . . . . . . . . . . . . . . . . . . . . . . . 117
4. Bloques funcionales combinacionales: Comparadores . . . . . . . . . . . 119
4.1 Comparadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Aplicación práctica: detector del mayor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5. Autoevaluación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

UD5: Aritmética en los códigos binarios


1. Aritmética binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
1.1 Sumadores binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
1.1.1 Realización de sumadores con circuitos integrados comerciales MSI . . . . . 136
1.2 Resta binaria. Complemento a 1 y a 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
1.2.1 Sumador/restador en complemento a 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
1.2.2 Uso y operaciones aritméticas en los sistemas de numeración
en MS, CA1 y CA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
1.2.3 Realización de sumadores /restadores en CA2 con circuitos integrados
comerciales MSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
1.3 Suma y resta en BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
1.3.1 Realización de sumadores /restadores en BCD con circuitos integrados
comerciales MSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Aplicación práctica: Realización de una suma binaria con circuitos sumadores 149
2. Unidad Aritmético-llógica: UAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
2.1 Realización de operaciones aritméticas y lógicas con una UAL . . . . . . . . . . . 152
Aplicación práctica: Realización de operaciones aritméticas y lógicas
mediante una UAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
3. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

UD6: Lógica secuencial. Biestables


1. Circuitos secuenciales. Biestables . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
1.1 Elementos básicos secuenciales, Latch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

ix
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:43 PÆgina x

Lógica digital y microprogramable

1.1.1 Ejemplos resueltos: Interpretación de los manuales técnicos de los Latch. 166
1.2 Elementos básicos secuenciales, Flip- Flops. . . . . . . . . . . . . . . . . . . . . . . . . . 168
1.2.1 Ejemplos resueltos: Interpretación de los manuales técnicos
de los Flip-Flops. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Aplicación práctica: Simulación de un contador módulo 4,
implementado con dos biestables JK en cascada. . . . . . . . . . . . . . . . . . . . . 173
3. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

UD7: Circuitos secuenciales. Registros y contadores


1. Circuitos secuenciales. Registros. . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
1.1 Registros de desplazamiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
1.2 Registros de desplazamiento serie/serie y serie/paralelo. . . . . . . . . . . . . . . . . 178
1.3 Interpretación de los manuales técnicos de los registros
de desplazamiento serie/paralelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
1.4 Registros de desplazamiento paralelo/paralelo y universales . . . . . . . . . . . . . 182
1.5 Interpretación de los manuales técnicos de los registros
de desplazamiento universales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Aplicación práctica: de los registros a los sistemas digitales . . . . . . . . . . . . . 186
2. Circuitos secuenciales: Contadores . . . . . . . . . . . . . . . . . . . . . . . . . 190
2.1 Funcionamiento básico de los circuitos contadores:
síncronos, asíncronos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
2.2 Interpretación de los manuales técnicos de los contadores. . . . . . . . . . . . . . 193
2.3 Contadores en cascada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
2.4 Realización de circuitos con contadores en cascada . . . . . . . . . . . . . . . . . . . 196
Aplicaciones prácticas: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
3. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

UD8: Circuitos complementarios de electrónica digital


1. Dispositivos auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
1.1 Multivibradores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
1.1.1 Multivibradores biestables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
1.1.2 Multivibradores monoestables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
1.1.3 Ejemplos de circuitos monoestables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
1.1.4 Multivibradores aestables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
1.1.5 Ejemplos de circuitos aestables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
1.1.1 Ejercicios con multivibradores discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Aplicaciones prácticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Realización de un monoestable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Realización de un aestable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
1.2 Dispositivos optoelectrónicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
1.2.1 Diodos emisores de luz: LED (Light Emitting Diode) . . . . . . . . . . . . . . . . . . 217
1.2.2 Visualizadores con diodos LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
1.2.3 Visualizadores de cristal líquido LCD (Liquid Cristal Display) . . . . . . . . . . . 217
1.3 Teclados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
1.4 Motores pasa a paso: MPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
2. Circuitos convertidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

x
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:43 PÆgina xi

Índice general

2.1 Principios de la conversión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221


2.1.1 Conversión D/A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
2.1.2 Conversión A/D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
2.1.3 Ejercicios de funcionamiento de los convertidores A/D y D/A . . . . . . . . . . . 224
2.2 Parámetros característicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
2.2.1 Parámetros de diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
2.2.2 Parámetros de funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
2.2.3 Parámetros característicos de los convertidores A/D y D/A . . . . . . . . . . . . . 228
2.3 Tipos de convertidores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
2.3.1 Tipos de convertidores D/A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
2.3.2 Tipos de convertidores A/D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Aplicaciones prácticas: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Simulación y realización de un convertidor A/D . . . . . . . . . . . . . . . . . . . . . 232
Simulación y realización de un convertidor D/A . . . . . . . . . . . . . . . . . . . . . 235
3. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

UD9: Dispositivos lógicos programables


1. Clases de circuitos integrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
1.1 Características de diseño con pld’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
1.1.1 Arquitecturas de los dispositivos lógicos programables (PLD’s) . . . . . . . . . 245
1.2 PROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
1.3 PAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
1.3.1 Realización de funciones lógicas utilizando una PAL . . . . . . . . . . . . . . . . . 248
1.4 FPLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
1.4.1 Realización de funciones lógicas utilizando una FPLA . . . . . . . . . . . . . . . . 250
2. Dispositivos lógicos programables reales . . . . . . . . . . . . . . . . . . . . . 251
2.1 Memorias de semiconductores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
2.1.1 Clasificación de las memorias de semiconductores . . . . . . . . . . . . . . . . . . 252
2.2 Características de las memorias de la familia ROM . . . . . . . . . . . . . . . . . . . . 253
2.3 Realización de funciones lógicas con memorias . . . . . . . . . . . . . . . . . . . . . . 255
2.3.1 Edición de mapas de memoria con el editor del programador . . . . . . . . . 256
2.4 PLD’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
2.4.1 Tipos de PAL comerciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
2.5 GAL o PALCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
2.5.1 Herramientas de desarrollo de Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Aplicación práctica: Realizar un convertidor de código con una memoria . . 266
3. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

UD10: Dispositivos microprogramables


1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
2. Microprocesadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
2.1 Arquitectura de los microprocesadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
2.2 Arquitectura de un sistema basado en microprocesador . . . . . . . . . . . . . . . 275
2.3 Modelo de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
2.3.1 Tipos de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
2.3.2 Estructura de una instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
2.3.3 Ejecución de las instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

xi
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:43 PÆgina xii

Lógica digital y microprogramable

2.3.4 Arranque del microprocesador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281


2.3.5 Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
2.3.6 Análisis de la ejecución de un programa en un microprocesador . . . . . . . 283
2.4 Tipos de microprocesadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
2.4.1 Por la arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
2.4.2 Por el conjunto de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
2.5 Familias comerciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
2.5.1 Microprocesadores Intel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
2.5.2 Microprocesadores Motorola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
2.5.3 Microprocesadores Rockwell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
2.5.4 Microprocesadores Zilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
3. Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
3.1 Arquitectura de los microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
3.1.1 Modelo de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
3.2 Familias comerciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
3.2.1 Atmel (AVR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
3.2.2 Intel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
3.2.3 Microchip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
3.2.4 Freescale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
3.2.5 Texas Instruments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
3.2.6 Zilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
4. Familia de Microcontroladores PIC . . . . . . . . . . . . . . . . . . . . . . . . . 300
4.1 PICs de 8 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
4.1.1 Gama base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
4.1.2 Gama media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
4.1.3 Gama mejorada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
4.2 PICs de 16 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5. Microcontrolador PIC16F84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
5.1 Arquitectura del PIC16F84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
5.2 Modelo de Programación del PIC16F84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
6. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307

UD11: Microcontrolador PIC 16F84A (Arquitectura,


lenguajes de programación)
1. Microcontrolador PIC16F84: programación
de aplicaciones básicas 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
1.1 Análisis del microcontrolador Pic 16F84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
1.1.1 El lenguaje de programación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
1.1.2 El juego de instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
1.1.3 Manejo de la plataforma informática MPLAB y ejemplos resueltos. . . . . . 320
Aplicación práctica: Control de un carro . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
2. Microcontrolador PIC16F84: programación de
aplicaciones básicas 2
2.1 El juego de instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
2.2 Ejemplos resueltos: contador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Aplicación práctica: Control de luz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
3. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

xii
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:43 PÆgina xiii

Índice general

UD12: Periféricos, interrupciones, memoria EEPROM, etc.


del PIC16F84
1. El temporizador 0 (TMR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
1.2 Otras directivas del ensamblador MPASM . . . . . . . . . . . . . . . . . . . . . . . . . . 344
1.3 Utilización del TMR0 como contador y como temporizador . . . . . . . . . . . . . 345
1.4 El Circuito de vigilancia (WDT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
1.5 Modo de bajo consumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
1.5.1 Aplicaciones del Watchdog Timer y la instrucción sleep . . . . . . . . . . . . . . 351
1.6 Direccionamiento indirecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.6.1 Programa que utiliza el direccionamiento indirecto . . . . . . . . . . . . . . . . . . 352
Aplicación práctica: con el TMR0. Juego de luces . . . . . . . . . . . . . . . . . . . . 352
2. Interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
2.1.1 Funcionamiento de las interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
2.1.2 Bits relacionados con interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
2.1.3 La instrucción retfie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
2.1.4 Cuestiones a tener en cuenta cuando se programa con interrupciones . . . 357
2.1.5 Utilización de las interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
3. EEPROM de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
3.1 La memoria EEPROM de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
3.1.1 El registro EECON1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
3.1.2 Lectura en la EEPROM de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
3.1.3 Escritura en la EEPROM de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
3.1.4 Visualización de la memoria EEPROM de datos en el MPLAB . . . . . . . . . . 364
3.1.5 Aplicaciones de la memoria EEPROM de datos. Bloqueo de programa . . . 364
Aplicación práctica: Realización de una ampliación con Interrupciones.
Dado electrónico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
3.2 Circuitos secuenciales con PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
3.2.1 Funciones secuenciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
3.2.2 Creación de funciones lógicas secuenciales y procesos realizados
con diagramas de estado con PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
3.3 Manejo de programas con librerías de subrutinas . . . . . . . . . . . . . . 368
3.3.1 Librería de subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
3.3.2 Directiva INCLUDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
3.3.3 Más directivas interesantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
3.3.4 Selección de librerías de subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
3.3.5 Programación con librerías de subrutinas. . . . . . . . . . . . . . . . . . . . . . . . . 372
Aplicación práctica: Realización de una aplicación con varios archivos
de subrutinas. Su turno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
4. Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

Anexos
Anexo 1.- Soluciones de los ejercicios de autoevaluación . . . . . . . . . . . . . . . . . . . 377
Anexo 2.- Índice alfabético de términos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
Anexo 3.- Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

xiii
L gica digital y prog_ U 00-final.qxp 16/05/2007 20:43 PÆgina xiv
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 1

UNIDAD 1
Introducción a la electrónica digital

Objetivos
) Aprender para qué sirve un sistema electrónico digital, los
elementos básicos de que consta, y los aspectos básico
necesarios para su implementación.
) Conocer los motivos que justifican el estudio de las mate-
rias que se van a enseñar en las demás unidades del libro.
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 2

1 Lógica digital y microprogramable

1. Señales y sistemas de control.


Codificación de magnitudes
El instrumento por el que los seres humanos son capaces de adaptar el entorno a sus necesidades es
la tecnología. Ésta permite a los humanos controlar y actuar sobre el entorno para cambiar las condi-
ciones físicas o circunstancias del mismo por otras más convenientes para su supervivencia o para su
bienestar.

Actualmente la principal tecnología de control de procesos la proporciona la electrónica digital. Pero,


sea cual sea la tecnología de control empleada, no hay que olvidar que lo que se pretende, en un prin-
cipio, es sustituir la presencia de un ser humano por una máquina (el avance de la tecnología permi-
tirá además ampliar y superar las capacidades del ser humano en algunos aspectos). Es necesario, por
lo tanto, estudiar las características de los procedimientos de control para poder emularlos mediante
máquinas. En estos procedimientos intervienen en general tres elementos fundamentales, como se
muestra en la figura siguiente:

) Los sensores: son los elementos que permiten observar el medio físico.
) El procesador: interpreta lo observado en relación con el objetivo a conseguir.
) Los actuadores: son los elementos que permiten actuar sobre el medio para cambiarlo.

El cuerpo humano posee estos tres elementos, que son


los sentidos, la inteligencia y los brazos y piernas res-
pectivamente.

Una máquina que pretenda sustituir al hombre en las


tareas de control, también deberá de tener estos tres
elementos, y para su desarrollo será necesario conocer
la naturaleza de las magnitudes físicas que se desean
controlar para diseñar los sensores y actuadores.
También será necesario conocer la naturaleza de los
procesos básicos de la inteligencia humana para dise-
ñar el procesador. En el estudio de la naturaleza de las
magnitudes físicas, éstas se pueden clasificar aten-
diendo a tres criterios:

) Valor de la medida de la magnitud.


Magnitudes analógicas: la magnitud observable puede tomar cualquier valor dentro de un mar-
gen físicamente razonable. Magnitudes analógicas son: la luminosidad, la intensidad eléctrica,
el sonido, la velocidad, etc.
Magnitudes digitales: la magnitud observable no puede tomar cualquier valor dentro del mar-
gen físicamente razonable, sino sólo ciertos valores permitidos, habitualmente cantidades ente-
ras. Magnitudes digitales son: número de perforaciones en un tubo, número de barriles de petró-
leo producidos, número de bombillas encendidas en un árbol de Navidad, etc.

) Evolución de la magnitud.
Magnitudes continuas: el modo de evolución de las sucesivas medidas se hace de acuerdo con
un patrón continuo, es decir, entre cualquier par de medidas existen infinitas medidas.
Magnitudes continuas son: el voltaje de una pila a lo largo de un mes, el número de lobos de un
bosque a lo largo de un siglo, la potencia electromagnética de una onda en un rango de frecuen-
cias, la altura de un terreno sobre el nivel del mar, etc.

Magnitudes discretas: el modo de evolución de las sucesivas medidas se hace de acuerdo con un
patrón discreto, es decir, entre cualquier par de medidas existe un número limitado de medidas.
Magnitudes discretas son: la temperatura a las 8:00 de la mañana a lo largo de un año, las coor-
denadas geográficas de las intersecciones entre ciertos meridianos y paralelos, el peso de las cien
primeras cajas de galletas de un lote de producción, etc.

2
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 3

) Naturaleza física de la magnitud.


Introducción a la electrónica digital
1
Teniendo en cuenta la naturaleza física del fenómeno que genera la magnitud observable, las
magnitudes se clasifican en:
Electromagnéticas
Mecánicas
Térmicas
Hidráulicas
Neumáticas
etc.

En las figuras siguientes se muestran representaciones gráficas de algunos ejemplos de los diferentes
tipos de magnitudes que se pueden encontrar.

Ejemplo 1: magnitud analógica continua. Ejemplo 2: magnitud digital continua.

Ejemplo 3: magnitud analógica discreta. Ejemplo 4: magnitud digital discreta.

Del mismo modo que el ser humano dispone de sentidos, el procesador digital también deberá de dis-
poner de órganos que transformen la naturaleza física original de las magnitudes a controlar en natu-
raleza electrónica. Estos órganos son los sensores transductores. La magnitud física entregada por el
transductor se llama señal.

3
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 4

1 Lógica digital y microprogramable

Por lo tanto, una señal es una magnitud física de distinta naturaleza que la de la magnitud que se pre-
tende controlar, pero igual a ella (o proporcional) en cuanto a valores y a evolución. Del mismo modo
que las magnitudes físicas, las señales serán analógicas o digitales, continuas o discretas. El procesa-
dor digital trabaja con señales eléctricas digitales discretas. En general, se realizan una serie de trans-
formaciones, tal como se esquematiza en la figura siguiente, para hacer llegar señales eléctricas digi-
tales discretas al procesador.

 Puede
encontrarse
información
ampliada sobre seña-
les y sistemas en los
documentos incluidos En la figura siguiente se resumen todos los procesos involucrados en un sistema de procesamiento digi-
en el disco proporcio- tal (en el ejemplo, de 8 bits). Cada uno de los bloques representa un subsistema electrónico encarga-
nado con el libro. do de realizar la función especificada.

1.1 Sistemas de
numeración y
codificación
Las señales eléctricas digitales proporcionan infor-
mación al procesador digital, acerca de la magni-
tud física que se pretende controlar, mediante una
codificación, que es una forma de asignar a cada
uno de los diferentes valores que puede tomar una
información, un símbolo o combinación única de
símbolos denominada código, de acuerdo con unas
reglas de asignación determinadas.

La codificación empleada en los procesadores digi-


tales es el sistema binario. A continuación se des-
cribirá este sistema, así como otros que también se
utilizan en el diseño de los procesadores digitales.

1.1.1 El sistema de numeración decimal


En el caso del procesador humano, un sistema de codificación de magnitudes digitales adecuado a su
naturaleza, y universalmente el más empleado, es el sistema de numeración decimal. Las característi-
cas que hacen adecuado este sistema son:

) El sistema consta de diez símbolos que están representados por los dígitos arábigos: {0,1,2,
3,4,5,6,7,8,9}.
) Cada símbolo se representa por un trazado geométrico fácil de realizar por el ser humano en un
papel o cualquier otra superficie, y también fácilmente representable en su mente.

4
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 5

)
Introducción a la electrónica digital

La cantidad de símbolos distintos a recordar (diez) está dentro de las posibilidades memorísticas
1
del ser humano sin necesidad de grandes esfuerzos.
) La codificación de magnitudes se realiza por combinación de símbolos según unas reglas
sencillas.
) Los códigos resultantes de la codificación son fácilmente interpretables por el ser humano.
) El sistema de codificación aporta valores añadidos que facilitan la manipulación algebraica de
las magnitudes codificadas.

Existen otros códigos o sistemas de numeración, pero por uno u otro motivo no se adecúan tan bien al
procesador humano como el sistema decimal, por lo que no son tan empleados. Por ejemplo:
) Sistemas de numeración chinos: el trazado geométrico de los símbolos no es sencillo.
) Sistemas mesopotámicos: constaban de muchos símbolos distintos (del orden de sesenta), por lo
que sería necesario un esfuerzo memorístico para recordarlos.
) Sistema romano: la manipulación algebraica es muy compleja.

Aunque parezca una trivialidad, no está de más en este momento repasar el sistema de numeración
decimal e interpretar perfectamente cada uno de los puntos de la descripción del sistema (para evitar
el uso de lo definido en la propia definición, las cantidades a representar numéricamente se expresa-
rán en castellano).

Descripción del sistema decimal


) Es un sistema de numeración de base diez: esto quiere decir que el sistema consta de diez sím-
bolos, denominados dígitos.

{0,1,2,3,4,5,6,7,8,9}

) Las cantidades se codifican mediante un dígito o combinación de varios, obteniendo un número.


tres: 3
veinticuatro: 24
ciento noventa y ocho: 198
) En un número, cada dígito representa una cantidad, que es su contri- Trescientos veinticuatro: 3 2 4
bución a la cantidad total representada por el número. La cantidad
total representada por un número es la suma de las cantidades repre- contribuciones
sentadas por cada uno de los dígitos que forman el número:
trescientos veinte cuatro


trescientos veinticuatro

) El sistema es posicional, lo que quiere decir que la contribución de Cuatrocientos cuarenta y cuatro: 4 4 4
un dígito de un número depende de la posición de ese dígito. Por
ejemplo, el dígito 4 puede contribuir con la cantidad cuatro, cuaren- contribuciones
ta o cuatrocientos al total según donde esté situado:
cuatrocientos cuarenta cuatro


) La cantidad con la que contribuye cada dígito se calcula multipli-
cando el valor base del dígito por un peso atribuido a la posición cuatrocientos cuarenta y cuatro
que ocupa:
valores base: 0: cero 1: uno 2: dos 3: tres
4: cuatro 5: cinco 6: seis 7: siete
8: ocho 9: nueve

5
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 6

1 Lógica digital y microprogramable

) Pesos: por ser base diez, el peso atribuido a la posición n-ésima es diez elevado a n. Las posi-
ciones se cuentan de derecha a izquierda, empezando por el cero. Además, cada posición
tiene un nombre: unidades, decenas, centenas, etc., que tiene relación con el peso correspon-
diente a dicha posición.
4 8 4 3

Posición cero: unidades: peso = diezcero = uno

Posición uno: decenas: peso = diezuno = diez

Posición dos: centenas: peso = diezdos = cien

Posición tres: unidades de millar: peso = dieztres = mil

El cálculo de la cantidad que representa un número puede hacerse por lo tanto con la ayuda de una
tabla como la que sigue:

número posición valor base peso contribución: suma


valor base x peso
cero cinco uno cinco
uno dos diez veinte
75025 dos cero cien cero setenta y cinco
tres cinco mil cinco mil mil veinticinco
cuatro siete diez mil setenta mil

Ahora que ya está definido el sistema, se puede emplear el propio sistema para representar las canti-
dades, de modo que la tabla anterior se puede representar más cómodamente como sigue:

número posición valor base peso contribución: suma


valor base x peso
0 5 1 5x1=5
1 2 10 2x10=20
75025 2 0 100 0x100=0 75025
3 5 1000 5x1000=5000
4 7 10000 7x10000=70000

Aunque todo lo anterior pueda parecer una trivialidad, es necesario interpretar perfectamente los deta-
lles del sistema de numeración decimal para aplicar los mismos razonamientos a otros tipos de siste-
mas de numeración, que por ser novedosos puede que parezcan complicados, pero no tienen más ni
menos complejidad que el sistema decimal. La única diferencia es que el uso cotidiano le hace al ser
humano olvidar los detalles del sistema de numeración decimal hasta el punto de usarlo de modo
mecánico, pareciéndole una trivialidad. Hecho que, por otro lado, es la prueba de lo bien adecuado
que es el sistema a las características del procesador: el ser humano.

1.1.2 El sistema de numeración binario (binario natural)


Dado lo bien que funciona el sistema decimal para el ser humano, se podría pensar en fabricar un pro-
cesador electrónico que trabaje con el mismo sistema. Para ello, habría que definir 10 símbolos eléctri-
cos que representarían a los dígitos. Podrían ser 10 tensiones distintas, por ejemplo: 0V, 1V, 2V, ..., 9V. Si
el procesador dispusiera de 8 hilos por ejemplo, y en cada uno se pudiera aplicar cualquiera de esos
voltajes, el sistema ya podría representar eléctricamente cualquier número del 00000000 al 99999999.

Aunque esto es posible, desde el punto de vista de las posibilidades de la tecnología electrónica no es
el método más adecuado, por razones técnicas que no vienen al caso. Sin embargo, lo que sí resulta
adecuado tecnológicamente hablando, es hacer un procesador electrónico que trabaje, en vez de con

6
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 7

Introducción a la electrónica digital

diez, con sólo dos valores distintos de tensión. El sistema de numeración que utilizaría tal procesador
1
estaría basado únicamente en dos símbolos, es decir, sería el sistema binario.

Cabría aquí la duda de si tal procesador, tecnológicamente factible, podría tener algún interés prácti-
co a la hora de controlar procesos, por estar basado en un sistema de numeración tal como el binario.
La respuesta evidente (ahí están los ordenadores) es que sí. En este libro se estudiarán las bases de
tales procesadores y se verá justificada la respuesta.

De momento, y ya que es de interés por ser el sistema que emplean los procesadores electrónicos digi-
tales, es necesario estudiar el sistema binario. Se hará de modo paralelo a como se hizo con el siste-
ma decimal (en este caso, para representar las cantidades se usará el castellano o también el sistema
decimal según convenga).

Descripción del sistema binario


) El binario es un sistema de numeración de base 2: esto quiere decir que el sistema consta de 2
símbolos, también denominados dígitos o bits (del inglés: BInary digiTS).
{0,1}

) Las cantidades se codifican mediante un dígito o combinación de varios, obteniendo un número


de uno o más bits.
uno: 1
tres: 11
veintitrés: 10111
cincuenta y dos : 110100

) En un número, cada dígito representa una cantidad, que es su contribución a la cantidad total
representada por el número. La cantidad total representada por un número es la suma de las can-
tidades representadas por cada uno de los dígitos que forman el número.
) El sistema es posicional, lo que quiere decir que la contribución de un dígito de un número
depende de la posición de ese dígito, igual que ocurría en el decimal
) La cantidad con la que contribuye cada dígito se calcula multiplicando el valor base del dígito
por un peso atribuido a la posición que ocupa.
valores base:
0: cero.
1: uno.

) Pesos: por ser base 2, el peso atribuido a la posición n-ésima es 2 elevado a n. Las posicio-
nes se cuentan de derecha a izquierda, empezando por el cero.
1 1 0 1

Posición 0: peso = 20 = 1

Posición 1: peso = 21 = 2

Posición 2: peso = 22 = 4

Posición tres: peso = 23 = 8

) El bit de menos peso es el situado más a la derecha, y también se llama bit menos significa-
tivo o LSB (del inglés: Least Significant Bit).
) El bit de mayor peso es el situado más a la izquierda, y también se llama bit más significa-
tivo o MSB (del inglés: Most Significant Bit).

) El cálculo de la cantidad que representa un número puede hacerse con la ayuda de una tabla
como la que sigue:

7
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 8

1 Lógica digital y microprogramable

número posición valor base peso=2posición contribución suma


valor base x peso
0 1 20=1 1x1=1
1 0 21=2 0x2=0
1101 2 1 22=4 1x4=4 13
3 1 23=8 1x8=8
← binario decimal →

Como se puede apreciar, el sistema binario y decimal siguen en esencia los mismos mecanismos; son
de hecho sistemas posicionales, en los que la única diferencia es la base, 2 y 10 respectivamente. Sin
embargo, el sistema binario no parece muy adecuado para el procesador humano, ya que, como se irá
viendo con la práctica, cantidades no muy grandes requieren de bastantes dígitos para ser represen-
tadas en el sistema binario (por ejemplo: 174 en decimal es 10101110 en binario), y estas largas
secuencias de unos y ceros no son fáciles de leer, memorizar e interpretar por parte del ser humano.

Por lo tanto, por un lado es necesario manejar el binario para poder diseñar procesadores electrónicos
digitales, pero por otro, el ser humano se maneja mejor en decimal. Será necesario entonces conocer
técnicas que permitan pasar fácilmente de un sistema al otro.

Además, como se van a manejar cantidades en ambos sistemas, será necesario establecer un método
para diferenciar cuándo un número está escrito en un sistema o en el otro. Por ejemplo, el número 1101
puede ser tanto binario como decimal. En los casos en que haya duda, se pondrá al lado del número
un subíndice indicando la base del sistema al que pertenece. Por ejemplo, cuando se quiera poner
1101 del sistema decimal, se pondrá 110110, y cuando se quiera poner el 1101 del sistema binario, se
pondrá 11012. En los casos en los que no exista duda no será necesario poner el subíndice.

Paso de binario a decimal


La descripción del sistema binario expuesta anteriormente constituye un método para la conversión
de números en sistema binario a números en sistema decimal. El método utiliza una tabla rápida
basada en la anterior, en la que se disponen en una columna los dígitos del número binario, y a su
lado los pesos correspondientes a los bits 1. Sumando los pesos se obtiene el número decimal equi-
valente.

Paso de decimal a binario


Existen varios métodos, todos equivalentes, para realizar esta conversión. El que aquí se expone se
basa en divisiones sucesivas por 2: dividir sucesivamente por 2 el número decimal, y formar el núme-
ro binario tomando el último cociente como MSB y los restos de las divisiones hasta llegar al primer
resto que será el LSB.

1.1.3 Ejercicios de cambio de base entre los sistemas


decimal y binario
Los métodos descritos para el cambio base entre los sistemas decimal y binario son los siguientes:

Paso de binario a decimal: empleando una tabla, disponer en dígitos pesos


una columna los dígitos del número binario, y a su lado los pesos 0
correspondientes a los bits 1. Sumando los pesos se obtiene el 1
número decimal equivalente. Por ejemplo, pasar 10101110 a 1
decimal. 1
) Disponer los dígitos del número binario en la columna dígi- 0
tos, empezando por el LSB en la fila superior, y acabando 1
por el MSB en la fila inferior. 0
1
) En la columna pesos, disponer junto a cada dígito, las
siguientes cantidades decimales: suma ->

8
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 9

Si el dígito es 1: el peso que le corresponde según su posición.


Introducción a la electrónica digital

dígitos pesos
1
Si el dígito es 0: cero. 0 0
1 2
1 4
1 8
0 0
1 32
0 0
1 128
suma ->

) Sumar las cantidades que aparecen en la columna de los pesos. El resul- dígitos pesos
tado obtenido es el equivalente decimal del número binario que se que-
ría convertir. 0 0
1 2
1 4
1 8
0 0
1 32
0 0
1 128
suma -> 174
Por lo tanto: 101011102=17410

Paso de decimal a binario: con la ayuda de una tabla, dividir sucesivamente por 2 el número deci-
mal, y formar el número binario tomando el último cociente como MSB y los restos de las divisiones
hasta llegar al primer resto que será el LSB. Por ejemplo, pasar 174 a binario.
) Dividir por 2 el número decimal que se desea convertir, anotando el resto de la división (que
será 1 ó 0 necesariamente).
1 7 4 2
1 6 8 7 → cociente
1 4
1 4
0 → resto 0

) Tomar el cociente de la división anterior y volverlo a dividir por 2, anotando de nuevo el resto
de la división.
8 7 2
8 4 3 → cociente
0 7
6
1 → resto 1

) Volver a tomar el cociente de la división anterior y volverlo a dividir por 2, anotando de


nuevo el resto de la división, y así sucesivamente hasta que el cociente obtenido no se pueda
dividir más por 2 (será por lo tanto 1 ó 0). El proceso de divisiones sucesivas por 2 se puede
anotar en una tabla como la que se muestra a continuación:
cocientes y posteriores dividendos restos
174 0 ← resto de 174/2 (primer resto)
cociente de 174/2 → 87 1 ← resto de 87/2
cociente de 87/2 → 43 1 ← resto de 43/2

9
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 10

1 Lógica digital y microprogramable

cocientes y posteriores dividendos restos


cociente de 43/2 → 21 1 ← resto de 21/2
cociente de 21/2 → 10 0 ← resto de 10/2
cociente de 10/2 → 5 1 ← resto de 5/2
cociente de 5/2 → 2 0 ← resto de 2/2 (último resto)
(último cociente) cociente de 2/2 → 1

Una vez acabadas todas las divisiones, tomar de la tabla el último cociente como MSB, y continuar
construyendo el número binario añadiendo de izquierda a derecha, comenzando por el último resto
obtenido, los demás restos de las divisiones tomados de abajo a arriba hasta llegar al LSB, que será el
primero de los restos de la tabla.

cocientes y posteriores dividendos restos


174 0 ← LSB
87 1
43 1
21 1
10 0
5 1
2 0
MSB → 1
10101110

Por lo tanto: 17410 = 101011102

Ejemplo resuelto 1
Pasar los siguientes números decimales a binario: 57 y 325.
Solución
cocientes restos cocientes restos
57 1 325 1
28 0 162 0
14 0 81 1
7 1 40 0
3 1 20 0
1 10 0
5 1
2 0
1
5710=1110012 32510=1010001012

Ejemplo resuelto 2
Pasar los siguientes números binarios a decimal: 1110011 y 1010000111.
Solución
dígitos peso dígitos pesos
1 1 1 1
1 2 1 2
0 0 1 4
0 0 0 0
1 16 0 0
1 32 0 0
1 64 0 0
suma 115 1 128
0 0
1 512
suma 647
11100112=11510 10100001112=64710
10
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 11

Introducción a la electrónica digital

Una vez dominados estos métodos de conversión, el ser humano puede estudiar y diseñar procesado-
1
res electrónicos digitales de forma sencilla empleando su sistema habitual que es el decimal. Cuando
tenga que pasarle información al sistema, simplemente tendrá que convertir los números decimales
con los que se trabajó al sistema binario que es el que entiende la máquina. Al revés, cuando tenga
que leer información proporcionada por la máquina, que vendrá en binario, se podrá traducir al deci-
mal para interpretarla de modo más sencillo. En definitiva, en el trabajo con procesadores digitales,
los métodos de conversión entre sistemas hacen que el decimal pueda ser una buena herramienta para
manipular las cantidades binarias con las que trabaja a máquina, sin el inconveniente de tener que
manejar largas listas de unos y ceros que inducen fácilmente a la confusión, y no son sencillas de
interpretar.

Aunque la conversión entre los sistemas binario y decimal no es nada dificultosa, no es inmediata, ya
que requiere hacer algunas cuentas. Con la práctica, estas cuentas se pueden llegar a hacer con más
o menos soltura, pero no serán inmediatas, salvo si son pequeñas cantidades. Por lo tanto, en usos
intensivos del binario, el decimal como herramienta alternativa de manipulación de cantidades puede
no ser del todo adecuada, debido al trabajo de conversión que supone.

1.1.4 El sistema de numeración hexadecimal


El sistema hexadecimal, sistema de numeración posicional de base 16, al igual que el decimal, permi-
te trabajar con cantidades de un modo más sencillo para el ser humano, que el binario. Además pre-
senta la ventaja de que la conversión entre hexadecimal y binario no requiere hacer ningún tipo de
operaciones, siendo prácticamente inmediato. El único inconveniente es la falta de costumbre en el uso
del hexadecimal por parte del humano, problema que se resuelve con la práctica.

Descripción del sistema hexadecimal


) Se trata de un sistema de numeración de base 16: esto quiere decir que el sistema consta de 16
símbolos o dígitos.
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Obsérvese que los dígitos elegidos para formar el sistema hexadecimal son los 10 dígitos arábi-
gos, igual que en el sistema decimal, y para los 6 dígitos que faltan se eligieron por comodidad
unos símbolos ya conocidos y que son las 6 primeras letras del alfabeto, que aquí actúan como
números.
) Las cantidades se codifican mediante un dígito o combinación de varios, obteniendo un número.
tres: 3.
diez: A.
veinticuatro: 18.
dos mil novecientos cuarenta y dos: B7E

) En un número, cada dígito representa una cantidad, que es su contribución a la cantidad total
representada por el número.
) La cantidad total representada por un número es la suma de las cantidades individuales repre-
sentadas por cada uno de los dígitos que forman el número.
) El sistema es posicional, lo que quiere decir que la contribución de un dígito del número depen-
de de la posición de ese dígito. La cantidad con la que contribuye cada dígito se calcula multi-
plicando el valor base del dígito por un peso atribuido a la posición que ocupa.

valores base: 0: cero 1: uno 2: dos 3: tres


4: cuatro 5: cinco 6: seis 7: siete
8: ocho 9: nueve A: diez B: once
C: doce D: trece E: catorce F: quince

) pesos: por ser base 16, el peso atribuido a la posición n-ésima es 16n. Las posiciones se cuen-
tan de derecha a izquierda, empezando por el cero.

11
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 12

1 Lógica digital y microprogramable

4 D 9 A

Posición cero: peso = 160 = 1

Posición uno: peso = 161 = 16

Posición dos: peso = 162 = 256

Posición tres: peso = 163 = 4096

) En algunos casos, la notación del subíndice 16 indicador del sistema hexadecimal se susti-
tuye por la letra H o el símbolo $. De este modo, el número hexadecimal 4D9A se indicaría
de cualquiera de las formas siguientes:
4D9A16 = 4D9AH = 4D9A$
No se debe confundir la H con un dígito hexadecimal, ya que éstos sólo llegan hasta la F.
Sólo indica que se trata de un número hexadecimal, careciendo de todo valor numérico.

) El cálculo de la cantidad que representa un número puede hacerse por lo tanto con la ayuda de
una tabla como la que sigue:

número posición dígito valor base peso=16posición contribución suma


en decimal valor base x peso
0 A 10 1 10x1=10
1 9 9 16 9x16=144
4D9A 2 D 13 256 13x256=3328 19866
3 4 4 4096 4x4096=16384
← hexadecimal decimal →

Por lo tanto, 4D9A16 = 1986610

Paso de hexadecimal a decimal


Al igual que ocurría con el binario, la descripción del sistema hexadecimal ya proporciona un método
para convertir de hexadecimal a decimal, utilizando una tabla como la del ejemplo anterior.

Paso de decimal a hexadecimal


El método propuesto para la conversión de decimal a hexadecimal es similar al utilizado en el paso de
decimal a binario y se basa en divisiones sucesivas por 16: dividir sucesivamente por 16 el número
decimal, y formar el número hexadecimal tomando el último cociente como dígito de mayor peso y los
restos de las divisiones hasta llegar al primer resto que será el dígito de menor peso

Como se pudo observar, la conversión entre sistemas decimal y hexadecimal no es nada inmediata,
y sólo se realizará cuando sea realmente necesario. El verdadero sentido del uso del hexadecimal es
en su aplicación para manipular cantidades dadas en binario, por la sencillez del paso de un siste-
ma a otro.

Relación hexadecimal-b
binario
Cada uno de los dígitos hexadecimales representa una cantidad del 0 al 15, que es su valor base. Estas
cantidades, expresadas en binario, pueden requerir hasta 4 bits, tal como se indica en la siguiente tabla:

hexadecimal binario hexadecimal binario hexadecimal binario hexadecimal binario


0 0000 1 0001 2 0010 3 0011
4 0100 5 0101 6 0110 7 0111
8 1000 9 1001 A 1010 B 1011
C 1100 D 1101 E 1110 F 1111

12
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 13

Introducción a la electrónica digital

La tabla anterior constituye el paso de hexadecimal a binario o viceversa para cantidades de 0 a 15.
1
El paso para cantidades mayores se hace en base a la tabla de equivalencias anterior de acuerdo con
los métodos siguientes:

Paso de hexadecimal a binario


Obtener el número binario a partir de los equivalentes binarios de cuatro bits de los dígitos hexadecima-
les, sustituyendo cada uno de los dígitos del número hexadecimal por su equivalente binario de 4 bits.

Paso de binario a hexadecimal


Esta conversión sigue el procedimiento inverso a la conversión anterior: distribuir el número binario en
grupos de cuatro bits comenzando por el LSB, y sustituir cada grupo por su equivalente hexadecimal

Aclaración importante
Obsérvese que la conversión entre hexadecimal y binario se hace directamente por la relación dígito
hexadecimal ↔ cuatro dígitos binarios. Este método no se puede aplicar para la conversión entre bina-
rio y decimal, ya que daría resultados erróneos. Es decir, para pasar un número decimal a binario, no
se puede pasar dígito a dígito, sino por el método expuesto en su momento.

1.1.5 Ejercicios de cambio de base entre los sistemas


hexadecimal y decimal o binario
Los métodos descritos para el cambio base entre los sistemas hexadecimal y decimal son los siguientes:
Paso de hexadecimal a decimal: con la ayuda de una tabla, sumar los valores base de cada dígito
hexadecimal multiplicados por los pesos correspondientes a la posición que ocupan. Por ejemplo,
pasar 4D9A16 a decimal.

número posición dígito valor base peso=16posición contribución suma


en decimal valor base x peso
0 A 10 1 10x1=10
1 9 9 16 9x16=144
4D9A 2 D 13 256 13x256=3328 19866
3 4 4 4096 4x4096=16384
← hexadecimal decimal →

Por lo tanto, 4D9A16=1986610

Paso de decimal a hexadecimal: con la ayuda de una tabla, dividir sucesivamente por 16 el núme-
ro decimal y formar el número hexadecimal tomando el último cociente como dígito de mayor peso y
los restos de las divisiones hasta llegar al primer resto que será el dígito de menor peso. Por ejemplo:
pasar 1986610 a hexadecimal.

) Dividir por 16 el número decimal que se desea convertir, anotando el resto de la división (que
será 15 o menos necesariamente).

1 9 8 6 6 1 6
1 6 1 2 4 1 → cociente
3 8
3 2
6 6
6 4
2 6
1 6
1 0 → resto=10

) Tomar el cociente de la división anterior y volverlo a dividir por 16, anotando de nuevo el resto
de la división.

13
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 14

1 Lógica digital y microprogramable

1 2 4 1 1 6
1 1 2 7 7 → cociente
1 2 1
1 1 2
9 → resto=9

) Volver a tomar el cociente de la división anterior y volverlo a dividir por 16, anotando de
nuevo el resto de la división. Y así sucesivamente hasta que el cociente obtenido no se pueda
dividir más por 16 (será por lo tanto 15 o menos). El proceso de divisiones sucesivas por 16
se puede anotar en una tabla como la que se muestra seguidamente:
cocientes y posteriores dividendos restos
19866 10 ← resto de 19866/16 (primer resto)
cociente de 19866/16 → 1241 9 ← resto de 1241/16
cociente de 1241/16 → 77 13 ← resto de 77/16 (último resto)
(último cociente) cociente de 77/16 → 4

) Una vez realizadas todas las divisiones, tomar las cantidades decimales del último cociente
y de los restos obtenidos y transformarlas en un dígito hexadecimal, de acuerdo con la tabla
de valores base de los dígitos hexadecimales.

cocientes y posteriores dividendos restos dígitos hexadecimales


19866 10 → A ← primer resto
1241 9 → 9
77 13 → D ← último resto
último cociente → 4 → → 4

) Construir el número hexadecimal tomando como dígito de mayor peso el de más abajo de la
tabla (el que viene del último cociente), y continuando hacia arriba (del último resto al pri-
mer resto).
cocientes y posteriores dividendos restos dígitos hexadecimales
19866 10 A
1241 9 9
77 13 D
4 4
4D9A

Por lo tanto, 1986610=4D9AH

Los métodos descritos para el cambio base entre los sistemas hexadecimal y binario son los siguientes:

Paso de hexadecimal a binario: obtener el número binario a partir de los equivalentes binarios de
cuatro bits de los dígitos hexadecimales. Por ejemplo: pasar 8C6EH a binario.

) Sustituir cada uno de los dígitos del número hexadecimal por su equivalente binario de 4
bits.
dígitos → 8 C 6 E
↓ ↓ ↓ ↓
equivalente en binario de 4 bits → 1000 1100 0110 1110
0 añadido a la izquierda para completar los cuatro bits ↑

) Formar el número binario buscado juntando los bits procedentes de cada dígito hexadecimal
en el mismo orden que éstos.
dígitos → 8 C 6 E
↓ ↓ ↓ ↓
equivalente en binario de 4 bits → 1000 1100 0110 1110
↓ ↓

número binario buscado → 1000110001101110

Por lo tanto, 8C6E16=10001100011011102


14
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 15

Introducción a la electrónica digital

Paso de binario a hexadecimal: distribuir el número binario en grupos de cuatro bits comenzando por
1
el LSB, y sustituir cada grupo por su equivalente hexadecimal. Por ejemplo: pasar 101011011111012
a hexadecimal.

) Comenzando por el LSB (por la derecha), distribuir el número binario a convertir en grupos
de cuatro bits. Si el último grupo no llega a cuatro bits, se deja como está.
número binario → 10101101111101
orden a seguir en el agrupamiento →

↓ ↓
grupos formados → 10 1011 0111 1101
el último grupo puede no ser de cuatro bits ↑

) A partir del número binario de cuatro bits de cada grupo, obtener el equivalente en hexade-
cimal, que estará formado por un único dígito por grupo.
Número binario → 10101101111101
orden a seguir en el agrupamiento →

↓ ↓
grupos formados → 10 1011 0111 1101
↓ ↓ ↓ ↓
equivalente hexadecimal → 2 B 7 D

) Formar el número hexadecimal buscado juntando los dígitos procedentes de cada grupo y en
el mismo orden que éstos.
número binario → 10101101111101
orden a seguir en el agrupamiento →

↓ ↓
grupos formados → 10 1011 0111 1101
↓ ↓ ↓ ↓
equivalente hexadecimal → 2 B 7 D
↓ ↓

número hexadecimal buscado → 2B7D

Por lo tanto, 101011011111012=2B7DH.

Ejemplo resuelto 1
Pasar los siguientes números hexadecimales a decimal y binario: F7 y D0C5.

Solución
Paso a decimal:

número dígito valor base en decimal peso valor base x peso


7 7 1 7
F7 F 15 16 240
suma: 247
F7H=24710

número dígito valor base en decimal peso valor base x peso


5 5 1 5
C 12 16 192
D0C5 0 0 256 0
D 13 4096 53248
suma: 53445
DC05H=5355610

15
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 16

1 Lógica digital y microprogramable

Paso a binario:
dígitos → F 7
↓ ↓
equivalente en binario de 4 bits → 1111 0111

F9H=111101112

dígitos → D 0 C 5
↓ ↓ ↓ ↓
equivalente en binario de 4 bits → 1101 0000 1100 0101

D0C5H=11010000110001012

Ejemplo resuelto 2
Pasar los siguientes números decimales a hexadecimal: 236 y 12587.

Solución
cocientes restos hexadecimal cocientes restos hexadecimal
236 12 →C 12587 11 →B
14 → →E 786 2 →2
49 1 →1
3 → →3

23610=ECH 1258710=312BH

Ejemplo resuelto 3
Pasar los siguientes números binarios a hexadecimal: 1110011 y 1010000110.

Solución
número binario → 1110011
↓ ↓
grupos formados → 111 0011
↓ ↓
equivalente hexadecimal → 7 3
↓ ↓
número hexadecimal buscado → 73
11100112=73$
número binario → 1010000110

↓ ↓
grupos formados → 10 1000 0110
↓ ↓ ↓
equivalente hexadecimal → 2 8 6
↓ ↓
número hexadecimal buscado → 286

10100001102=286$

1.1.6 El sistema de numeración octal


Del mismo modo que el sistema hexadecimal, el sistema de numeración octal permite manejar canti-
dades binarias de forma sencilla, permitiendo conversiones entre los sistemas prácticamente inmedia-
tas. No es tan empleado como el hexadecimal ya que los números obtenidos a partir de un número
binario resultan más largos, en general, en el sistema octal, y por lo tanto el hexadecimal permite com-
primir en menos espacio el número binario transformado. Sin embargo, dado que también se utiliza,
conviene conocerlo.

16
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 17

Descripción del sistema octal


Introducción a la electrónica digital
1
) Se trata de un sistema de numeración de base 8: esto quiere decir que el sistema consta de 8 sím-
bolos o dígitos.
{0,1,2,3,4,5,6,7}
Obsérvese que los dígitos elegidos para formar el sistema octal son sólo los 8 primeros dígitos
arábigos. Por lo tanto, en un número octal no puede aparecer el dígito 8 ni el 9.

) Las cantidades se codifican mediante un dígito o combinación de varios, obteniendo un número.


tres: 38.
diez: 108.
veintiséis: 328.
dos mil novecientos cuarenta y dos: 55768.

) En un número, cada dígito representa una cantidad, que es su contribución a la cantidad total
representada por el número.
) La cantidad total representada por un número es la suma de las cantidades individuales repre-
sentadas por cada uno de los dígitos que forman el número.
) El sistema es posicional, lo que quiere decir que la contribución de un dígito del número depen-
de de la posición de ese dígito. La cantidad con la que contribuye cada dígito se calcula multi-
plicando el valor base del dígito por un peso atribuido a la posición que ocupa.

Tabla de valores base: dígito valor base dígito valor base dígito valor base dígito valor base

0 cero 1 uno 2 dos 3 tres


4 cuatro 5 cinco 6 seis 7 siete

) pesos: por ser base 8, el peso atribuido a la posición n-ésima es 8n. Las posiciones se cuentan de
derecha a izquierda, empezando por el cero.
4 7 0 3

Posición cero: peso = 80 = 1

Posición uno: peso = 81 = 8

Posición dos: peso = 82 = 64

Posición tres: peso = 83 = 512

El cálculo de la cantidad que representa un número puede hacerse por lo tanto con la ayuda de una
tabla como la que sigue:

número posición dígito valor base peso=8posición contribución suma


en decimal valor base x peso
0 3 3 1 3x1=3
1 0 0 8 0x8=0
4703 2 7 7 64 7x64=448 2499
3 4 4 512 4x512=2048
← octal decimal →

Por lo tanto, 47038=249910

17
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 18

1 Lógica digital y microprogramable

Paso de octal a decimal


Igual que ocurría en el hexadecimal, la descripción del sistema octal ya proporciona un método para
convertir de octal a decimal, utilizando una tabla como la del ejemplo anterior.

Paso de decimal a octal


El método propuesto para la conversión de decimal a octal es semejante a los empleados en el paso de
decimal a hexadecimal o de decimal a binario, y se basa en divisiones sucesivas por 8: dividir sucesi-
vamente por 8 el número decimal y formar el número octal tomando el último cociente como dígito de
mayor peso y los restos de las divisiones hasta llegar al primer resto que será el dígito de menor peso.

Relación octal-b
binario
Cada uno de los dígitos octales representa una cantidad del 0 al 7, que es su valor base. Estas canti-
dades, expresadas en binario, pueden requerir de hasta 3 bits, tal como se indica en la siguiente tabla:

octal binario octal binario octal binario octal binario


0 000 1 001 2 010 3 011
4 100 5 101 6 110 7 111

La tabla anterior constituye el paso de octal a binario o viceversa para cantidades de 0 a 7. El paso
para cantidades mayores se hace en base a la tabla de equivalencias anterior de acuerdo con los méto-
dos siguientes:

Paso de octal a binario


Obtener el número binario a partir de los equivalentes binarios de tres bits de los dígitos octales, sus-
tituyendo cada uno de los dígitos del número octal por su equivalente binario de 3 bits.

Paso de binario a octal


Esta conversión sigue el procedimiento inverso a la conversión anterior: distribuir el número binario en
grupos de tres bits comenzando por el LSB, y sustituir cada grupo por su equivalente octal.

Aclaración importante
Igual que en el caso del hexadecimal, la conversión entre octal y binario se hace directamente por la
relación dígito octal ↔ tres dígitos binarios. De nuevo es necesario insistir en que este método no se
puede aplicar para la conversión entre binario y decimal, ya que daría resultados erróneos.

1.1.7 Ejercicios de cambio de base entre los sistemas octal


y decimal o binario
Los métodos descritos para el cambio base entre los sistemas octal y decimal son los siguientes:
Paso de octal a decimal: con la ayuda de una tabla, sumar los valores base de cada dígito octal
multiplicados por los pesos correspondientes a la posición que ocupan. Por ejemplo, pasar 47038 a
decimal.

número posición dígito valor base peso=8posición contribución suma


en decimal valor base x peso
0 3 3 1 3x1=3
1 0 0 8 0x8=0
4703 2 7 7 64 7x64=448 2499
3 4 4 512 4x512=2048
← octal decimal →
Por lo tanto, 47038=249910

18
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:58 PÆgina 19

Introducción a la electrónica digital

Paso de decimal a octal: con la ayuda de una tabla, dividir sucesivamente por 8 el número decimal,
1
y formar el número octal tomando el último cociente como dígito de mayor peso y los restos de las
divisiones hasta llegar al primer resto que será el dígito de menor peso. Por ejemplo, pasar 1986610
a octal.

) Construcción de la tabla de cocientes y restos:


cocientes y posteriores dividendos restos
19866 2 ← resto de 19866/8 (primer resto)
cociente de 19866/8 → 2483 3 ← resto de 2483/8
cociente de 2483/8 → 310 6 ← resto de 310/8
cociente de 310/8 → 38 6 ← resto de 38/8 (último resto)
(último cociente) cociente de 38/8 → 4

) Construcción del número octal comenzando por el último cociente y siguiendo por los restos
tomados del último al primero:

cocientes y posteriores dividendos restos


19866 2
2483 3
310 6
38 6
4
46632

Por lo tanto, 1986610=466328

Como en el caso del hexadecimal, la conversión entre sistemas decimal y octal tampoco es inmediata,
y sólo se hará cuando sea realmente necesario. El verdadero sentido del uso del octal está en su aplica-
ción para manipular cantidades dadas en binario, debido a la sencillez del paso de un sistema al otro.

Los métodos descritos para el cambio base entre los sistemas octal y binario son los siguientes:

Paso de octal a binario: obtener el número binario a partir de los equivalentes binarios de tres bits
de los dígitos octales. Por ejemplo: pasar 37258 a binario.

) Sustituir cada uno de los dígitos del número octal por su equivalente binario de 3 bits.
dígitos → 3 7 2 5
↓ ↓ ↓ ↓
equivalente en binario de 3 bits → 011 111 010 101
0 añadido a la izquierda para completar los tres bits ↑

) Formar el número binario buscado juntando los bits procedentes de cada dígito octal en el
mismo orden que éstos.
dígitos → 3 7 25
↓ ↓ ↓ ↓
equivalente en binario de 3 bits → 011 111 010 101
↓ ↓

número binario buscado → 011111010101

Por lo tanto, eliminando el cero más a la izquierda, que no contribuye con ningún valor (igual que en
decimal, los ceros a la izquierda no cuentan), 37258=111110101012.

Paso de binario a octal: distribuir el número binario en grupos de tres bits comenzando por el LSB,
y sustituir cada grupo por su equivalente octal. Por ejemplo: pasar 10111111012 a octal.

) Comenzando por el LSB (por la derecha), distribuir el número binario a convertir en grupos
de tres bits. Si el último grupo no llega a tres bits, se deja como salga.

19
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 20

1 Lógica digital y microprogramable

número binario → 1011111101


orden a seguir en el agrupamiento →

↓ ↓
grupos formados → 1 011 111 101
el último grupo puede no ser de tres bits ↑

) A partir del número binario de tres bits de cada grupo, obtener el equivalente en octal, que
estará formado por un único dígito por grupo.
número binario → 1011111101

orden a seguir en el agrupamiento →


↓ ↓
grupos formados → 1 011 111 101
↓ ↓ ↓ ↓
equivalente octal → 1 3 7 5
) Formar el número octal buscado juntando los dígitos procedentes de cada grupo y en el
mismo orden que éstos.
número binario → 1011111101
orden a seguir en el agrupamiento →

↓ ↓
grupos formados → 1 011 111 101
↓ ↓ ↓ ↓
equivalente octal → 1 3 7 5
↓ ↓

número octal buscado → 1375

Por lo tanto, 10111111012=13758.

Ejemplo resuelto 1
Pasar los siguientes números octales a decimal y binario: 74 y 1564.

Solución

Paso a decimal:

número dígito valor base en decimal peso valor base x peso


4 4 1 4
74 7 7 8 56
suma: 60
748=6010

número dígito valor base en decimal peso valor base x peso


4 4 1 4
6 6 8 48
1564 5 5 64 320
1 1 512 512
suma: 884
15648=88410

Paso a binario:

dígitos → 7 4
↓ ↓
equivalente en binario de 3 bits → 111 100
748=1111002

20
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 21

dígitos → 1 5
Introducción a la electrónica digital

6 4
1
↓ ↓ ↓ ↓
equivalente en binario de 3 bits → 001 101 110 100
15648=11011101002

Ejemplo resuelto 2
Pasar los siguientes números decimales a octal: 236 y 12587.

Solución
cocientes restos cocientes restos
236 4 12587 3
29 5 1573 5
3 196 4
24 0
3
23610=3548 1258710=304538

Ejemplo resuelto 3
Pasar los siguientes números binarios a octal: 1110011 y 1010000110.

Solución
número binario → 1110011
↓ ↓
grupos formados → 1 110 011
↓ ↓
equivalente octal → 1 6 3
↓ ↓ ↓
número hexadecimal buscado → 163

11100112=1638

número binario → 1010000110



↓ ↓
grupos formados → 1 010 000 110
↓ ↓ ↓ ↓
equivalente hexadecimal → 1 2 0 6
↓ ↓

número hexadecimal buscado → 1206


10100001102=12068

1.1.8 Herramientas informáticas para el trabajo con


los sistemas de numeración
Los sistemas operativos de la familia Windows ofrecen en sus últimas versiones una calculadora que
permite trabajar en los sistemas de numeración estudiados anteriormente, y que puede facilitar enor-
memente el trabajo con sistemas digitales binarios a la hora de hacer operaciones y conversiones entre
sistemas de numeración.

Pero la existencia de esta herramienta no debe inducir a despreocuparse de hacer manualmente los
cambios de base y olvidar los detalles de los sistemas de numeración estudiados. Al contrario, en un
principio debe emplearse como herramienta de apoyo en el estudio de los sistemas para la verifica-
ción de los resultados obtenidos manualmente, y sólo cuando se dominen perfectamente las técnicas,
emplearla como herramienta de trabajo.

La calculadora de Windows tiene un funcionamiento semejante a una calculadora tradicional de sobre-


mesa.

21
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 22

1 Lógica digital y microprogramable

Llegados a este punto, el estudiante ya debe comprender el sentido de la aplicación y el uso del octal
y el hexadecimal. Como se pudo comprobar, el manejo de largas listas de unos y ceros no es sencillo y
se presta fácilmente a la confusión, mientras que pasando esas cifras a hexadecimal u octal, el mane-
jo es muy sencillo.

1.1.9 Utilización de la calculadora de Windows para


la realización de cambios de base
La calculadora de Windows se encuentra normalmente en el siguiente punto de los menús del sistema:

Inicio → Programas → Accesorios → Calculadora


O bien, eligiendo:
Inicio → Ejecutar

y escribiendo calc en la barra Abrir de la ventana Ejecutar que aparece y pulsando Aceptar.

Una vez realizada alguna de las instrucciones anteriores, aparecerá la ventana de la aplicación de la
calculadora de Windows. Esta calculadora tiene dos posibles apariencias: estándar o científica. La que
se necesita para trabajar con los diferentes sistemas de numeración es la científica.

Si la versión que apareciese fuera la estándar, habría que cambiarla a la científica en la opción:

Ver → Científica

de la barra de menús de la calculadora, tal como se indica en la figura pequeña. El aspecto de la cal-
culadora científica es el siguiente:

A partir de este punto, el fun-


cionamiento de la calculadora
es como el de cualquier otra,
con la particularidad de que
trabajará en el sistema de
numeración seleccionado en la
barra correspondiente. En el
ejemplo de la figura siguiente
se puede ver que el sistema
seleccionado es el decimal.

Para seleccionar otro sistema


de numeración simplemente
hay que pulsar con el puntero del ratón en el circulito blanco al lado del sistema deseado.

Para hacer una conversión de un sistema a otro se seguirá el


siguiente procedimiento:

) Seleccionar el sistema de numeración de origen del número


a convertir. Por ejemplo, para convertir 2B7D16 a binario,
comenzar seleccionado hexadecimal (Hex). Obsérvese que al
seleccionar el sistema hexadecimal, los dígitos de la A a la F
que están en la parte inferior de la calculadora, cambiaron
del color gris que tenían en el sistema decimal al color azul.
El color gris indicaba que esos dígitos no estaban permitidos en el sistema decimal, y el color
azul quiere decir que ahora sí están permitidos en el sistema hexadecimal

) Introducir el número a convertir. En el ejemplo, escribir 2B7D.

) Seleccionar el sistema de numeración al que se quiere convertir el número introducido. En el


ejemplo, seleccionar binario (Bin). Obsérvese que al seleccionar binario, todos los dígitos cam-
bian a gris salvo el cero y el uno, que son los únicos permitidos en este sistema.

En pantalla aparecerá el equivalente binario del número introducido, que para el 2B7DH es el
101011011111012.

22
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 23

1.2 Otros sistemas de codificación


Introducción a la electrónica digital
1
En los apartados anteriores se describieron varios sistemas de codificación de cantidades numéricas,
adecuados cada uno a la naturaleza del procesador que los emplea y a la tarea en la que se van a
utilizar.

) El sistema decimal es adecuado para prácticamente todas las actividades contables del ser
humano .

) Los sistemas octal y hexadecimal son adecuados para el trabajo con procesadores electrónicos
digitales.

) El sistema binario es adecuado para la realización de procesadores electrónicos digitales, ya que


al tener tan solo dos símbolos distintos, su representación eléctrica mediante dos tensiones dis-
tintas es sencilla empleando la tecnología electrónica.

El sistema binario descrito en los apartados anteriores no es el único que se puede definir utilizando
sólo dos símbolos. De hecho, existen más códigos binarios que también pueden ser empleados en los
procesadores electrónicos digitales, ya que para ello sólo es necesario manejar los símbolos uno y cero.
Seguidamente se dará una breve relación de otros sistemas de codificación binarios.

1.2.1 Sistemas binarios numéricos


A partir de los dígitos 1 y 0 se establecen diferentes métodos de codificación de las cantidades para
obtener diferentes sistemas de numeración binarios.

) Binario natural: es el descrito en los apartados anteriores.

) BCD: permite trabajar fácilmente con cantidades decimales en binario.

) Binario módulo-signo: permite representar cantidades enteras positivas y negativas.

) Complemento a uno: permite representar cantidades enteras positivas y negativas.

) Complemento a dos: permite representar cantidades enteras positivas y negativas.

) Punto fijo: permite representar cantidades fraccionarias positivas y negativas.

) Punto flotante: permite representar cantidades fraccionarias positivas y negativas.

) Código Gray, Jhonson, etc.

De los anteriores, se describirá, por ahora, el sistema BCD.

Sistema de codificación numérica binaria BCD (Binary Coded Decimal)


El sistema BCD (Binario Codificado Decimal), como su nombre sugiere, es un sistema de codificación
binario para el decimal. Esto es, dado un número decimal, se sustituye cada dígito decimal por su
equivalente binario de 4 bits. Y al revés, el número binario en BCD se pasa a decimal formando gru-
pos de 4 bits comenzando por el LSB y sustituyendo cada grupo por el dígito decimal equivalente.

El método es semejante al empleado en los sistemas octal y hexadecimal, pero aplicado al decimal. Es
necesario tener siempre presente, que el número binario BCD no es el equivalente binario natural del
número decimal convertido.

1.2.2 Ejercicios de cambio de base entre los


sistemas decimal y BCD
Los métodos descritos para el cambio base entre los sistemas decimal y BCD son los siguientes:

Paso de decimal a BCD: obtener el número BCD a partir de los equivalentes binarios de cuatro bits
de los dígitos decimales. Por ejemplo: pasar 187910 a BCD.

23
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 24

1 Lógica digital y microprogramable

) Sustituir cada uno de los dígitos del número decimal por el equivalente binario de 4 bits.

dígitos → 1 8 7 9
↓ ↓ ↓ ↓
equivalente en binario de 4 bits → 0001 1000 0111 1001
0 añadido a la izquierda para completar los cuatro bits ↑

) Formar el número BCD buscado juntando los bits procedentes de cada dígito decimal en el mismo
orden que éstos.

dígitos → 1 8 7 9
↓ ↓ ↓ ↓
equivalente en binario de 4 bits → 0001 1000 0111 1001
↓ ↓

número BCD buscado → 1100001111001

Por lo tanto, 187910=1100001111001BCD.


Obsérvese que se despreciaron los ceros a la izquierda, ya que carecen de valor.

Paso de BCD a decimal: distribuir el número BCD en grupos de cuatro bits comenzando por el LSB,
y sustituir cada grupo por su equivalente decimal. Por ejemplo: pasar 10100101110101BCD a decimal.

) Comenzando por el LSB (por la derecha), distribuir el número BCD a convertir en grupos de cua-
tro bits. Si el último grupo no llega a cuatro bits, se deja como salga.

número BCD → 10100101110101


orden a seguir en el agrupamiento →

↓ ↓
grupos formados → 10 1001 0111 0101
el último grupo puede no ser de cuatro bits ↑

) A partir del número binario de cuatro bits de cada grupo, obtener el equivalente en decimal, que
estará formado por un único dígito por grupo. Si esto no ocurre, es que el número BCD está mal
construido, y realmente no se trata de BCD.

número BCD → 10100101110101


orden a seguir en el agrupamiento →

↓ ↓
grupos formados → 10 1001 0111 0101
↓ ↓ ↓ ↓
equivalente decimal → 2 9 7 5

) Formar el número decimal buscado juntando los dígitos procedentes de cada grupo y en el
mismo orden que éstos.

número BCD → 10100101110101


orden a seguir en el agrupamiento →

↓ ↓
grupos formados → 10 1001 0111 0101
↓ ↓ ↓ ↓
equivalente decimal → 2 9 7 5
↓ ↓

número decimal buscado → 2975

Por lo tanto, 10100101110101BCD=297510.

Ejemplo resuelto 1
Pasar los siguientes números decimales a BCD: 35 y 5907.

24
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 25

Solución
Introducción a la electrónica digital
1
dígitos → 3 5
↓ ↓
equivalente en binario de 4 bits → 0011 0101
3510=110101BCD
dígitos → 5 9 0 7
↓ ↓ ↓ ↓
equivalente en binario de 4 bits → 101 1001 0000 0111
590710=101100100000111BCD

Ejemplo resuelto 2
Pasar los siguientes números BCD a decimal: 1110011 y 1010000110.
Solución
número BCD → 1110011
↓ ↓
grupos formados → 111 0011
↓ ↓
equivalente decimal → 7 3
↓ ↓
número decimal buscado → 73
1110011BCD=7310
número BCD → 1010000110

↓ ↓
grupos formados → 10 1000 0110
↓ ↓ ↓
equivalente decimal → 2 8 6
↓ ↓
número decimal buscado → 286
1010000110BCD=28610

1.2.3 Sistemas para codificación alfanumérica


Mediante estos sistemas se pueden representar o codificar símbolos alfanuméricos (letras, signos de
puntuación, dígitos, etc.). Estos sistemas de codificación se basan en la asignación de un valor numé-
rico a cada símbolo alfanumérico de acuerdo con una tabla. De este modo, un texto escrito se puede
representar como una secuencia de números. Si el valor numérico se representa en binario, el sistema
permite manejar textos con un procesador electrónico digital.

Según el valor numérico asignado a cada símbolo alfanumérico, se pueden definir muchos sistemas de
codificación distintos. En la práctica existen sólo unos pocos, siendo el más empleado el sistema, códi-
go o tabla ASCII (American Standard Code for Information Interchange, código estándar americano
para intercambio de información). En este sistema hay que distinguir entre el código ASCII estándar y
el ASCII extendido.

) ASCII estándar: codifica las cantidades empleando 7 bits, de modo que se representan 27=128
símbolos alfanuméricos distintos. La tabla recoge los símbolos más habituales y es única en el
mundo.

) ASCII extendido: codifica las cantidades empleando 8 bits, de modo que se representan 28=256
símbolos alfanuméricos distintos. En los 128 primeros códigos los símbolos coinciden con los de
la tabla ASCII estándar (el MSB del código es 0). Los últimos 128 códigos (el MSB del código es
1) recogen símbolos particulares de los alfabetos de diferentes países, de modo que esta parte de
la tabla puede cambiar de un sitio a otro.

Además del ASCII, existen otros sistemas de codificación alfanumérica, como el EBCDIC, pero son
menos empleados. Las tablas de este y otros códigos se pueden consultar en Internet.

25
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 26

1 Lógica digital y microprogramable

2. Lógica proposicional
y álgebra de Boole
En este apartado se analizarán los aspectos relativos a los procesos de la inteligencia, de modo que se
sienten las bases para el desarrollo de procesadores electrónicos digitales que sean capaces de emu-
lar el razonamiento humano básico, pudiendo realizar tareas de control.

2.1 La lógica
La lógica es la disciplina que estudia las condiciones bajo las que, a partir de ciertas premisas, se llega
correctamente a unas conclusiones; es decir, estudia los principios de los razonamientos correctos. No
se plantea la certeza o no de las premisas, sino la validez del razonamiento.

La lógica no garantiza que las conclusiones obtenidas sean siempre correctas, ya que algunas veces
las premisas de partida pueden ser erróneas. Sólo garantiza que en las conclusiones no surgen más
errores que los posibles derivados de la falsedad de las premisas, no del razonamiento.

2.2 La lógica proposicional


La lógica proposicional estudia los procesos deductivos más simples de la lógica humana, como son
los razonamientos basados en los enunciados declarativos proposicionales, que se explican en los
siguientes apartados.

Proposición
Un enunciado declarativo proposicional o simplemente proposición es una frase en la que lo que se
declara puede ser verdadero o falso, pero no ambos a la vez.

Son proposiciones los siguientes enunciados declarativos, ya que son o verdaderos o falsos:
) "Tres más dos son cinco": la proposición es verdadera.
) "Cuatro más seis son ocho": la proposición es falsa.
) "Mañana va a llover": aunque hoy no se sepa, será verdadera o falsa.
) "Madrid está en España y Roma en Francia": en conjunto se enunció una falsedad.

Los siguientes enunciados declarativos no son proposiciones, ya que de ninguno de ellos se puede
decir que sean verdaderos o falsos; son simplemente deseos, consejos o enumeraciones:

) Estudiad un poco más.


) Haz el bien y no mires a quién.
) Vivan los novios.
) Una caja.

Valor lógico
Es el carácter de verosimilitud o falsedad de una proposición.

En los ejemplos anteriores, la primera proposición es verdadera, luego su valor es verdadero; la segun-
da es falsa, luego su valor es falso; la tercera será verdadera o falsa, pero no se sabrá hasta mañana.
La cuarta es una proposición que tiene una parte que es verdadera y otra falsa, pero tal como está
enunciada, en conjunto su valor lógico es falso.

Los valores lógicos se representan con los símbolos V para el verdadero y F para el falso.

26
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 27

Variable lógica o proposicional


Introducción a la electrónica digital
1
Es la representación simbólica de una proposición. Tradicionalmente, los símbolos empleados para
representar las proposiciones son las letras minúsculas p, q, r, etc. Las variables proposicionales se
emplean por comodidad, para no tener que escribir todo el enunciado de la proposición.

Por ejemplo, p puede representar la proposición "tres más dos son cinco". Por lo tanto, se puede expre-
sar que el valor lógico de la proposición es verdadero del modo siguiente:

p≡V

Conectivas
Una conectiva es un mecanismo para obtener nuevas proposiciones a partir de otras ya existentes por
combinación de ellas.

En el lenguaje humano, las conectivas vienen representadas por las conjunciones: copulativas, adver-
sativas, disyuntivas, etc. Dada la riqueza y redundancia de los lenguajes, estas expresiones, formal-
mente distintas, muchas veces equivalen a una misma forma de combinación lógica.

Las conectivas más simples que se verán en esta unidad y el símbolo con el que se representan en el
lenguaje de la lógica, son las siguientes:

conectiva Castellano símbolo ejemplo


V V V
conjunción Y llueve y hace sol → llueve hace sol → p q
p=llueve
disyunción O V llueve o hace sol → llueve V hace sol → → pVq
q=hace sol
negación no ¬ no llueve → ¬ llueve → ¬p

Otras conectivas pueden consultarse en textos específicos de lógica. De ahora en adelante, no se


emplearán más los símbolos lógicos de las conectivas por no complicar la notación, y se empleará la
notación lingüística en castellano y, o y no.

A partir del uso de las conectivas, las proposiciones se clasifican en dos tipos:

Proposiciones simples o atómicas: son las proposiciones que no están compuestas a partir de otras
mediante conectivas. Ejemplo: "Madrid está en España".

Proposiciones compuestas o moleculares: son las proposiciones que están compuestas a partir de otras
mediante conectivas. Las proposiciones compuestas se descomponen en proposiciones atómicas o tam-
bién en otras proposiciones compuestas a su vez. En el último nivel de descomposición, las proposicio-
nes moleculares se descomponen en proposiciones atómicas. Ejemplo: "Madrid está en España y Roma
está en Francia".

Expresión lógica
Es la representación de una proposición mediante las variables lógicas de las proposiciones que la
constituyen y las conectivas que las combinan. En el caso de proposiciones atómicas, su expresión lógi-
ca es simplemente la variable lógica que la representa. Ejemplos:

proposición expresión comentario


Madrid está España p Es una proposición atómica
Roma está en Francia q También es una proposición atómica
Roma no está en Francia no q Es una proposición compuesta
Madrid está en España y Roma no está en Francia p y no q Es otra proposición compuesta
Madrid está en España y Roma no está en Francia r = p y no q Es una proposición compuesta a la que se asigna
la variable lógica r para simplificar su expresión
Los mapas mienten s Es una proposición atómica
Madrid está en España y Roma no está en Francia, r o s = p y no q o s Es una proposición compuesta
o los mapas mienten

27
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 28

1 Lógica digital y microprogramable

Signos auxiliares
Son signos empleados en la notación de las relaciones lógicas para evitar las ambigüedades que, a
veces, presenta la lengua hablada. Se trata de paréntesis, corchetes y llaves que agrupan adecuada-
mente las variables lógicas dentro de una expresión. Ejemplo:

proposición expresión
el reo va a la cárcel p
el reo muere q
el reo paga una multa r
el reo va a la cárcel y, muere o paga una multa p y (q o r)
el reo va a la cárcel y muere, o paga una multa (p y q) o r

Aunque en la lengua hablada las dos últimas proposiciones se expresen casi del mismo modo, expre-
san situaciones bien distintas, tal como se refleja en su expresión lógica. De ser ciertas en su conjunto
las anteriores proposiciones, en el primer caso, el reo va a ir fijo a la cárcel, y allí deberá pagar una
multa si no quiere morir. En el segundo caso, el reo puede ir a la cárcel y morir en ella, o bien librar-
se de todo pagando una multa. Como se ve, las situaciones son muy distintas.

Leyes de la lógica y métodos deductivos


A partir de los conceptos y elementos descritos anteriormente, la lógica proposicional estudia los meca-
nismos del razonamiento humano, y los clasifica en reglas o leyes. Por ejemplo, el razonamiento lógi-
co frente a la conectiva y es que la proposición compuesta con esta conectiva es verdadera cuando las
dos proposiciones conectadas son verdaderas simultáneamente, y falsa cuando cualquiera de las dos
o las dos son falsas. Esto entonces, da la lugar a la siguiente ley:

) Ley de la conectiva y: la proposición compuesta con la conectiva y es verdadera cuando las dos
proposiciones conectadas son verdaderas simultáneamente, y falsa cuando cualquiera de las dos
o las dos son falsas.

Por ejemplo, cuando uno dice "la sal es dulce y el agua moja", en conjunto dice una falsedad, ya que
una de las proposiciones conectadas por y es falsa.

Del mismo modo, el razonamiento que interpreta la conectividad o da lugar a otra ley:
) Ley de la conectiva o: la proposición compuesta con la conectiva o es verdadera cuando alguna
de las proposiciones conectadas, o las dos, son verdaderas, y falsa cuando las dos son falsas.

Por ejemplo, cuando uno dice "la sal es dulce o el agua moja", en conjunto dice una verdad, ya que al
menos una de las proposiciones conectadas por o es verdadera.

Análogamente, para cada una de las conectivas, tanto las vistas hasta ahora como otras, existe una
regla de funcionamiento derivada del raciocinio humano, constituyendo las reglas o leyes básicas de
la lógica.

Además, existen otras relaciones lógicas más complejas que permiten deducir el valor lógico de las
proposiciones compuestas, a partir de sus proposiciones constituyentes. Estas relaciones se clasifican
también en leyes y métodos deductivos.

Mediante la aplicación de las leyes de la lógica se puede evaluar el valor lógico en conjunto de una
proposición compuesta.

Reglas de precedencia
Son reglas que definen el orden en el que se tienen que interpretar las relaciones lógicas dentro de una
expresión en la que aparecen varias conectivas. Ante una posible duda en la interpretación, las conec-
tivas de mayor precedencia son las que se aplican primero. El orden de precedencia de las conectivas
lógicas es el siguiente:

28
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 29

orden de precedencia conectiva


Introducción a la electrónica digital
1
mayor no
y
menor o

Así por ejemplo, en la expresión “p o q y no r”, primero se evalúa no r, luego q y el resultado de no r,


y luego p o el resultado de la evaluación anterior. Lo que no sería correcto es evaluar primero p o q, y
luego el resultado evaluarlo con y no r.

Es correcto: No es correcto:

p o q y no r p o q y no r

1º 1º 2º
(no r) (poq) ( no r )

2º 3º
[ q y ( no r ) ] (p o q) y ( no r )


p o [q y ( no r ) ]

El empleo de paréntesis permite aclarar o alterar los órdenes de precedencia, haciendo que se evalú-
en en primer lugar los términos entre paréntesis.

Las reglas de precedencia en la lógica funcionan igual que en el cálculo aritmético con las operacio-
nes suma, multiplicación, etc., por lo que su aplicación no debe presentar mayores problemas.

Tabla de verdad
Una tabla de verdad es un método para expresar la relación lógica entre una proposición compuesta
y sus proposiciones constituyentes. En una parte de la tabla se disponen las proposiciones constituyen-
tes, debajo de las que se recogen todas sus posibles combinaciones de valores lógicos. En la otra parte
de la tabla se dispone la proposición compuesta, debajo de la que se indica el valor lógico que toma
para cada una de las combinaciones de valores de las proposiciones constituyentes.

Por ejemplo, una proposición representada por la expresión p o q. La tabla de verdad que describe la
relación entre la proposición compuesta y p y q será:

p q poq
F F F
F V V
V F V
V V V

Debajo de p y q se recogieron todas las posibles combinaciones de valores lógicos que pueden presen-
tar; a saber, las dos falsas, una verdadera y otra falsa, y viceversa, y las dos verdaderas. Al lado de
cada combinación se indica el valor lógico que le corresponde a la expresión p o q de acuerdo con las
leyes de la lógica.

La anterior tabla de verdad constituye un buen método de expresar el enunciado de la ley de la conec-
tiva o, mejor que el lenguaje habitual empleado anteriormente para definirla.

Del mismo modo, cada una de las leyes elementales de la lógica se puede expresar por medio de su
tabla de verdad, como se muestra a continuación:

29
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 30

1 Lógica digital y microprogramable

Ley de la conectiva y Ley de la conectiva o Ley de la negación


p q pyq poq no p
F F F F V
F V F V V
V F F V F
V V V V F

Expresiones equivalentes
Son expresiones equivalentes aquellas formalmente distintas, pero que conducen al mismo resultado
lógico para todos los valores de sus proposiciones constituyentes. Por lo tanto, dos expresiones son
equivalentes si tienen la misma tabla de verdad. Por ejemplo, más adelante se podrá comprobar que
la expresión no (p y q) es equivalente a no p o no q.

2.2.1 Ejercicios de identificación de los elementos lógicos


de una proposición

Ejemplo resuelto 1
Identificar los siguientes elementos lógicos de la proposición enunciada:

) Proposiciones elementales constituyentes de la proposición, y asignación de variables lógicas.

) Expresión lógica de la proposición.

) Tabla de verdad de la expresión.

Proposición enunciada: “la temperatura es inferior a 20ºC y hay combustible en el depósito”.

Solución
) Proposiciones elementales constituyentes de la proposición y asignación de variables lógicas: del
enunciado se deduce que hay dos proposiciones elementales ,por lo que se definirán dos va-
riables:

p→ la temperatura es inferior a 20ºC.


q→ hay combustible en el depósito.

) Expresión lógica de la proposición: en el enunciado se ve que la conectiva empleada es y, luego


la expresión será:

pyq

) Tabla de verdad de la expresión: dado que hay dos variables, las posibles combinaciones de valo-
res lógicos para ellas son cuatro: las dos verdaderas, las dos falsas, una verdadera y otra falsa, y
viceversa. El valor lógico de la expresión para cada combinación se obtiene directamente de la
ley de la conectiva y, según se muestra en la tabla:

p q pyq
F F F
F V F
V F F
V V V

Llegados a este punto, se podría continuar con el estudio del lenguaje de la lógica y de las leyes y
métodos que incluye. Sin embargo, no se van estudiar más elementos de este lenguaje que los ya
expuestos en los apartados anteriores, ya que en el ámbito de la electrónica se emplea un lenguaje
más generalista para el tratamiento de los elementos de la lógica, tal como es el álgebra de Boole, que
se verá en el apartado siguiente.

30
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 31

2.3 El álgebra de Boole


Introducción a la electrónica digital
1
El álgebra de Boole es una teoría matemática que trata sobre las propiedades de un determinado tipo
de conjuntos que cumplen ciertas características o requisitos. Como toda matemática, es una teoría
abstracta, que puede ser aplicada a cualquier situación real concreta que se ajuste a las condiciones
de la teoría.

En el caso a tratar aquí, resulta que la estructura de la lógica proposicional se adapta perfectamen-
te a las características del álgebra de Boole. Por lo tanto, todas las conclusiones y resultados que pro-
porciona el álgebra de Boole pueden ser aplicados directamente a la lógica. Además, el lenguaje
empleado en el álgebra de Boole se adapta muy bien para su aplicación a los procesadores electró-
nicos digitales.

La adaptación entre la lógica, el álgebra de Boole y la electrónica digital es tan fuerte, que constan-
temente se mezclan conceptos y términos de unas con otras. En este sentido, a continuación se
expondrá el álgebra de Boole en sus propios términos, pero algunos se irán sustituyendo por otros
que pertenecen, a la electrónica o a la lógica, según es práctica común en el ámbito de la electróni-
ca digital.

Definición formal
Sea un conjunto B de elementos cualesquiera, sobre el que se definen dos operaciones internas. Para
representar estas operaciones se emplearán los símbolos "+" y "·", por lo que a la primera operación
se le llamará suma booleana y a la segunda producto booleano. No se deben de confundir estas ope-
raciones con la suma y el producto aritmético empleados habitualmente.

Por ser operaciones internas, a cada par de elementos de B se les hace corresponder otro elemento de
B. Esto se expresa como sigue:
+ ·
B xB ⎯⎯⎯→ B xB ⎯⎯→
(a,b) → (a + b) ∈ B (a,b) → (a · b) ∈ B

donde a y b son elementos de B, o variables booleanas que representan elementos de B.

El conjunto B con las operaciones definidas es un álgebra de Boole si se cumplen las siguientes con-
diciones o postulados:

Postulado 1. Propiedad conmutativa


Para cualquier par de elementos (a,b) de B se verifica:
) Conmutativa respecto de la suma:
a+b=b+a

) Conmutativa respecto del producto:


a·b=b·a

Postulado 2. Propiedad distributiva


Para cualquier trío de elementos (a,b,c) de B se verifica:
) Distributiva respecto de la suma:
a · (b + c ) = a · b + a · c

) Distributiva respecto del producto:


a + (b · c) = (a + b) · (a + c)

Postulado 3. Existencia de los elementos neutros


Para cualquier elemento a de B, existe:
) Un elemento neutro para la suma, denominado elemento cero: "0", tal que:
a+0=a

31
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 32

1 Lógica digital y microprogramable

) Un elemento neutro para el producto, denominado elemento uno "1", tal que:
a·1=a

Los elementos 0 y 1 son únicos en el conjunto B y sirven para todos sus elementos, es decir, son uni-
versales en B.

Postulado 4. Axioma del complemento


Para cada elemento a de B, existe otro elemento también de B, llamado complemento de a, comple-
mentario de a, negado de a u opuesto de a, y representado como a', ¬ a, -a, a/, a* o a, tal que verifica:

) Complemento respecto de la suma:


a+a=1

) Complemento respecto del producto:


a·a=0

2.3.1 La lógica proposicional como álgebra de Boole


Una vez definido lo que es un álgebra de Boole, se podría comprobar la siguiente equivalencia entre
los elementos de la lógica y los del álgebra:

lógica proposicional álgebra de Boole


valor lógico V ⇐⇒ elemento 1
valor lógico F ⇐⇒ elemento 0
conectiva y ⇐⇒ operación producto: ·
conectiva o ⇐⇒ operación suma: +
conectiva no ⇐⇒ existencia del complemento
proposición o variable lógica ⇐⇒ variable booleana
expresión lógica ⇐⇒ expresión booleana
leyes de la lógica ⇐⇒ postulados del álgebra

La equivalencia anterior refleja el hecho de que la lógica proposicional es una entidad concreta que se
corresponde con el modelo matemático del álgebra de Boole. En efecto:

El conjunto B
Es el conjunto de valores lógicos que puede tomar una proposición lógica, es decir:

B={V, F}

Como en todo conjunto booleano tiene que haber un 0 y un 1, V y F se identifican necesariamente con
estos elementos. Como se verá más adelante, F se corresponde con el 0 y V con el 1, según las leyes
de la lógica.

En el ámbito de la electrónica se habla de los valores lógicos 0 y 1, lo que es un abuso del lenguaje
por ser una mezcla de términos, ya que 0 y 1 son valores booleanos, pero esto no supone ningún pro-
blema ni debe inducir a confusión.

Variables booleanas
Son las proposiciones o variables lógicas, que representan o toman uno de los dos valores lógicos V (1)
o F (0).

En el ámbito de la electrónica, los términos variable booleana y variable lógica se emplean indistin-
tamente.

32
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 33

Las operaciones
Introducción a la electrónica digital
1
) Suma booleana: se corresponde con la conectiva o, de modo que se puede establecer la
siguiente equivalencia:
poq Q p+q

) Producto booleano: se corresponde con la conectiva y, de modo que se puede establecer la


siguiente equivalencia:
pyq Q p·q

En el ámbito de la electrónica, los términos producto lógico, suma lógica, y producto booleano y suma
booleana, se emplean indistintamente.

El orden de precedencia en las operaciones booleanas es el mismo que en sus equivalentes lógicos, y
el mismo que en la aritmética, por lo que no debe suponer ningún problema aplicarlo correctamente:
tiene mayor precedencia la negación, seguida del producto y finalmente la suma. Los paréntesis sir-
ven para alterar este orden.

Los postulados
Según las leyes de la lógica y con la ayuda de las tablas de verdad no es difícil comprobar que se cum-
plen. En efecto:

) Propiedad conmutativa:
 Por la ley de la conectiva o
p+q↔poq=qop↔q+p

 Por la ley de la conectiva y


p·q↔pyq=qyp↔q·p

) Propiedad distributiva:
 Según las leyes de la lógica se cumple la igualdad
p · ( q + r ) ↔ p y ( q o r ) = ( p y q ) o ( p y r ) ↔ ( p · q) + ( p · r )

Según las leyes de la lógica se cumple la igualdad


p + ( q · r ) ↔ p o ( q y r ) = ( p o q ) y ( p o r ) ↔ ( p + q) · ( p + r )

) Elementos neutros: los neutros para la suma y el producto son respectivamente 0 ↔ F y 1 Q


V, ya que:
p+0↔poF=p p·1QpyV=p

) Axioma del complemento: existe complemento para cualquier elemento de B, que en este
caso sólo tiene dos elementos, de modo que:
0=1 ya que: 0+0=0+1 ↔ F o V = V ↔ 1
y: 0·0=0·1 ↔ F y V = F ↔ 0

1=0 ya que: 1+1=1+0 ↔ V o F = V ↔ 1


y: 1·1=1·0 ↔ V y F = F ↔ 0

De lo anterior se puede relacionar la existencia del complemento booleano con la conectiva lógi-
ca no, de forma que el resultado de aplicar la conectiva es el complemento booleano. Es decir, son
equivalentes:

no p ↔ p

En el ámbito de la electrónica, el concepto de la conectiva no o equivalentemente del complemen-


to booleano, se denomina habitualmente complemento lógico, lo que de nuevo es una mezcla de
términos, pero que no supone ningún problema.

Como se acaba de ver, la lógica de proposiciones es un álgebra de Boole. En adelante, todas las
manipulaciones de conceptos lógicos se harán a partir de las herramientas que proporciona el álge-

33
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 34

1 Lógica digital y microprogramable

bra de Boole, que de cara a la electrónica digital son más adecuadas que las del lenguaje formal de
la lógica.

2.3.2 Teoremas del álgebra de Boole


A partir de los postulados del álgebra de Boole, se pueden deducir una serie de relaciones entre varia-
bles booleanas que resultan de interés por su aplicación a la manipulación de expresiones lógicas,
sobre todo de cara a su simplificación. Simplificar una expresión es obtener otra expresión equivalen-
te pero formalmente menos compleja.

A continuación se da una enumeración de algunas de estas relaciones booleanas a modo de teoremas.


No se incluyen las demostraciones de los teoremas ya que escapan a los objetivos del libro.

Teorema 1. Teorema de los elementos dominantes


a+1=1
a·0=0

Teorema 2. Teorema de idempotencia


a+a=a
a·a=a

Teorema 3. Ley involutiva o de la doble negación


a=a

Teorema 4. Ley de absorción


a · ( a + b) = a
a + ( a · b) = a

Teorema 5. Segunda ley de la absorción


a · ( a + b) = a · b
a + ( a · b) = a + b

Teorema 6. Propiedad asociativa


(a + b) + c = a + (b + c) = a + b + c
(a · b) · c = a · (b · c) = a · b · c

Teorema 7. Leyes de De Morgan


a + b = a · b generalizando (a1 + a2 +...+an) = a1 · a2 ·...·an
a · b = a + b generalizando (a1 · a2 ·...·an) = a1 + a2 +...+an

2.3.3 Ejercicios de simplificación de expresiones lógicas


Los postulados y teoremas del álgebra de Boole establecen una serie de relaciones entre variables boo-
leanas que resultan de interés por su aplicación a la manipulación de expresiones lógicas, sobre todo
de cara su simplificación.

La tarea de la simplificación empleando los teoremas del álgebra de Boole no tiene una regla fija, y
según los teoremas que se apliquen se puede llegar a una u otra expresión. Alcanzar la más simplifi-
cada es cuestión de experiencia en la elección del teorema más adecuado para aplicar en cada caso,
además de que se puede llegar de diferentes formas al mismo resultado.

Ejemplo resuelto 1
Simplificar la siguiente expresión:

a·b·c+a·b·c

34
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 35

Solución
Introducción a la electrónica digital
1
Sacando factor común a·b en ambos términos:

a · b · c + a · b · c = a · b · (c + c )

Aplicando el axioma del complemento al paréntesis:


a · b · (c + c ) = a · b · 1 = a · b

Ejemplo resuelto 2
Simplificar la siguiente expresión:
a·b·c+a·b·c +a·b·c+a

Solución
Al primer y segundo términos se les puede aplicar el resultado del ejemplo 1, y aplicando la ley
de absorción a los tercer y cuarto términos se tiene:
[a · b · c + a · b · c ] = a · b   (a · b·c+a)=a
[a · b · c + a · b · c ] = ( a · b · c + a ) = a · b + a

Aplicando la segunda ley de absorción:


a·b+a=a+b

2.3.4 Funciones booleanas


Muchas de las leyes y métodos deductivos de la lógica, que no se expusieron en la presentación de la
lógica de proposiciones, se pueden interpretar más fácilmente empleando el lenguaje del álgebra de
Boole. Concretamente, se pueden interpretar haciendo uso de las funciones booleanas, que de nuevo,
por abuso del lenguaje, se denominan a veces funciones lógicas en el ámbito de la electrónica, lo cual
se debe asumir con naturalidad.

Definición de función lógica o booleana


Matemáticamente, una función booleana f es una aplicación del producto cartesiano de n-ésimo orden
de B por sí mismo, en B. Esto se representa como sigue:

f : (BxBx...xB) → B
f
( a 1 , a 2 , . . . , a n ) ⎯⎯→ f ( a 1, a 2, . . . , a n) ∈ B

Dicho de otro modo, una función lógica o booleana es la forma matemática de representar una rela-
ción por la que a una proposición se le asigna un valor lógico a partir de los valores lógicos de otra u
otras proposiciones.

Por ejemplo, cuando se dice “hay que subir la temperatura si hace frío”, el valor lógico de la proposi-
ción “hay que subir la temperatura” depende del valor lógico de la proposición “hace frío”. Si “hace
frío” es verdadero entonces también será cierto que “hay que subir la temperatura”, mientras que si
“hace frío” es falso, entonces “hay que subir la temperatura” también es falso.

Elementos de una función


Teniendo en cuenta que, tanto la proposición que depende de otras, como éstas mismas, están todas
representadas por variables lógicas, se distinguen en el ámbito de la electrónica digital los siguientes
elementos, que suponen a veces un doble uso del mismo término:

) Función: además de la aplicación matemática ya definida, la proposición o variable que depen-


de de otras se dice que es función de ellas, o simplemente que es la función. Matemáticamente
sería la variable dependiente.
) Variables: aunque lo sea también la variable dependiente (la función), en este contexto se lla-
man variables de la función o simplemente variables las proposiciones o variables lógicas de las
que depende la función. Matemáticamente serían las variables independientes.

35
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 36

1 Lógica digital y microprogramable

) Expresión: la expresión lógica por la que se combinan las variables para asignarle un valor a la
función es la expresión de la función. En las expresiones aparecerán las variables de la función
combinadas por operadores lógicos o booleanos.

Por ejemplo, cuando se dice “hay que abrir el portón si hay coches en la entrada o si pulsan el interrup-
tor”, se pueden identificar las siguientes proposiciones, representadas por sendas variables lógicas:

f → hay que abrir el portón


a → hay coches en la entrada
b → pulsan el interruptor

Del enunciado se deduce que el valor lógico de f depende de los valores lógicos de a y b, por lo tanto,
según se definió anteriormente:

f → función
a, b → variables

La dependencia de f con a y b se indica de la forma:

f (a, b) → indica que f depende de a y b

La expresión lógica de la función, por la que se define la dependencia entre f y a y b, será la siguiente:

f (a, b) = a o b → expresión lógica

O empleando el lenguaje del álgebra de Boole, la expresión booleana será:

f (a, b) = a + b → expresión booleana

En lo que sigue, en general ya sólo se empleará esta última forma de expresión booleana abandonan-
do la forma lógica, aunque por abuso del lenguaje se le llame también expresión lógica a la expresión
booleana.

Tabla de verdad de una función


Dado que una función viene definida por una expresión lógica, también se puede representar por la
tabla de verdad correspondiente a la expresión. De este modo, la función del anterior ejemplo del con-
trol de un portón: f(a,b)=a+b, se puede poner como sigue:

a b f=a+b
0 0 0
0 1 1
1 0 1
1 1 1

Como en este ejemplo, de ahora en adelante, en las tablas de verdad se van a emplear valores boole-
anos (1 y 0) abandonando en la notación los valores lógicos (V y F).

) Combinaciones de la tabla de verdad


El hecho de emplear unos y ceros permite imaginar que las diferentes combinaciones de valores
lógicos de las n variables de una función, forman un número en binario de n bits. Puesto que en
la tabla de verdad aparecen todas las posibles combinaciones de valores de las n variables, tam-
bién aparecerán todos los números binarios imaginados de n bits.

El método de interpretar las combinaciones de valores lógicos como números binarios permite
obtener fácilmente todas las posibles combinaciones que hay que recoger en una tabla de ver-
dad. Para ello no hay más que disponer las variables en un determinado orden, y contar en bina-
rio desde todos los bits a 0 hasta todos a 1, imaginando que cada variable representa un bit.

) Entradas de la tabla de verdad


La aplicación de este método permite además identificar fácilmente cada una de las filas de la
tabla de verdad. A cada una de estas filas se le llama entrada de la tabla, y se identifica por

36
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 37

Introducción a la electrónica digital

medio del número binario asociado a ella, o más cómodamente, por su equivalente en decimal
1
o hexadecimal. Así por ejemplo, por entrada 2 de la tabla del ejemplo anterior se entiende la fila
que tiene la combinación a=1 y b=0, ya que 102=210.

Tipos de funciones
Funciones primitivas
Las funciones lógicas más sencillas que se pueden definir se llaman funciones primitivas y se cons-
truyen a partir de las conectivas lógicas. De este modo se puede hablar de la función y, de la fun-
ción o y de la función no. Además de éstas, también se puede definir la función identidad, que es
una función igual a la única variable de la que depende: f (a)=a.

En el ámbito de la electrónica digital es costumbre llamar a las funciones primitivas por su nom-
bre en inglés. En la tabla siguiente se muestran las funciones primitivas, su nombre en inglés entre
paréntesis y la tabla de verdad que define su funcionamiento.

funciones primitivas
función identidad negación (NOT) suma o o (OR) producto o y (AND)
a f =a a f =a a b f = a +b a b f =a·b
0 0 0 1 0 0 0 0 0 0
0 1 1 0 1 0
1 1 1 0 1 0 1 1 0 0
1 1 1 1 1 1

Funciones elementales
Son funciones que se definen a partir de relaciones lógicas sencillas que aparecen con frecuencia
en el ámbito de la electrónica digital. Una de ellas es por ejemplo la función o exclusivo o suma
exclusiva, que representa la situación lógica en la que la función es verdadera cuando exclusiva-
mente sólo una de las dos variables de las que depende es verdadera, y falsa cuando las dos varia-
bles son falsas o las dos son verdaderas.

Esta función refleja situaciones como por ejemplo la siguiente: en un cajero automático, “el pago
es correcto si se entrega un billete de 10€ o dos de 5€”. Las posibles situaciones son: si no se entre-
ga ningún billete (caso 1 de la tabla) el pago no es correcto. Si sólo se entrega un billete de 10€
(caso 2) el pago sí es correcto. Si se entregan dos billetes de 5€ (caso 3) el pago también es correc-
to. Finalmente, si se entrega un billete de 10€ y también se entregan dos billetes de 5€ (caso 4),
en total se entregan 20€ por lo que el pago no es correcto, ya que sólo se debían de entregar 10€.

se entrega un billete de 10€ se entregan dos billetes de 5€ el pago es correcto


caso 1 0 0 0
caso 2 0 1 1
caso 3 1 0 1
caso 4 1 1 0

La función lógica o exclusivo o suma exclusiva tiene su propio signo u operador, que para el álge-
bra de Boole es el siguiente:

a o exclusivo b Q a ⊕ b
⊕ → suma exclusiva

Las siguientes equivalencias pueden ser útiles para hacer simplificaciones:

a⊕b=a·b+a·b
a⊕b=a·b+a·b

Otras funciones elementales se definen a partir de las funciones primitivas combinadas con el ope-
rador de la negación, de modo que se obtienen las funciones y negado, o negado, etc.

37
L gica digital y prog_ U 01-final.qxp 16/05/2007 16:59 PÆgina 38

1 Lógica digital y microprogramable

En el ámbito de la electrónica digital también es costumbre llamar a las funciones elementales por
su nombre en inglés. En la tabla siguiente se muestran las funciones elementales, su nombre en
inglés entre paréntesis y la tabla de verdad que define su funcionamiento.

funciones elementales
suma o o exclusivo (XOR) o negado (NOR) y negado (NAND) suma o o exclusivo negado
(XNOR)
a b f=a⊕b a b f=a+b a b f=a·b a b f=a⊕b
0 0 0 0 0 1 0 0 1 0 0 1
0 1 1 0 1 0 0 1 1 0 1 0
1 0 1 1 0 0 1 0 1 1 0 0
1 1 0 1 1 0 1 1 0 1 1 1

Funciones compuestas
Son funciones que definen relaciones más complejas que las primitivas y las elementales, y están
formadas por combinación de funciones primitivas o elementales, por ejemplo f (a,b,c ) =a ⊕ b · c.

2.3.5 Ejercicios de identificación de funciones lógicas


Una función lógica es la forma matemática de representar una relación por la que a una proposición
se le asigna un valor lógico a partir de los valores lógicos de otra u otras proposiciones.

En el diseño de sistemas electrónicos digitales, el primer paso siempre consiste en identificar la fun-
ción o funciones lógicas que se definen a partir del enunciado que describe el sistema a diseñar. En la
identificación de las funciones se seguirán los siguientes pasos:
) Identificar la función.
) Identificar las variables de la función.
) Identificar la relación lógica que define la expresión de la función o bien su tabla de verdad.

Ejemplo resuelto 1
Identificar la función y las variables que se definen en el siguiente enunciado, y determinar su expre-
sión o tabla de verdad:

"Un jurado formado por tres miembros emite un fallo favorable o desfavorable sobre cierta cuestión. El
fallo emitido se hace por mayoría de los votos emitidos por cada uno de sus miembros".

Solución
En este caso las funciones y las variables no se encuentran explícitamente en el enunciado, sino que
hay que interpretarlo como sigue (también son posibles otras interpretaciones):

) Función: la única proposición que se puede encontrar que depende de otras es el fallo emitido
por el jurado, ya que depende de lo que vota cada uno de sus miembros. Por lo tanto, la función
se puede enunciar como sigue:
f → el fallo emitido es favorable
Este enunciado puede ser verdadero o falso según los votos de los miembros del jurado.
) Variables: la función anterior depende de los votos de los tres miembros del jurado, luego habrá
tres variables, que pueden ser enunciadas como sigue:
a → el primer miembro votó favorablemente
b → el segundo miembro votó favorablemente
c → el tercer miembro votó favorablemente

las tres variables pueden ser verdaderas o falsas cada una de ellas, según haya sido realmente
el voto de los miembros del jurado.

38
L gica digital y prog_ U 01-final.qxp 16/05/2007 17:00 PÆgina 39

Introducción a la electrónica digital

(Observación: téngase en cuenta que cabrían otras interpretaciones, como por ejemplo tomar
1
como función "el fallo es desfavorable", o como variable "el primer miembro votó desfavorable-
mente", que también serán verdaderas o falsas. En cualquier caso, la interpretación queda a la
elección de cada uno, y sólo será necesario mantener el criterio a lo largo de toda la resolución.)
) Relación lógica: en este caso, encontrar la expresión que relaciona la función con las variables
no es sencillo a partir del enunciado. Sin embargo, sí es posible hacer una tabla de verdad para
la función, planteando todos los casos posibles de votos del jurado, y el valor de la función (fallo
emitido) para cada uno de los casos. Puesto que son tres miembros, y cada uno sólo tiene dos
opciones de voto: favorable (variable=1 por ser verdadera) o desfavorable (variable=0 por ser
falsa), las posibles combinaciones de votos son ocho. Para obtener las ocho combinaciones se
seguirá el método de generar las entradas de la tabla de verdad contando en binario con tres bits
según se muestra en la siguiente tabla:

entradas a b c f (a,b,c)
0 0 0 0 0 fallo desfavorable: hubo mayoría absoluta de votos desfavorables
1 0 0 1 0 fallo desfavorable: hubo 2 votos desfavorables contra 1 favorable
2 0 1 0 0 fallo desfavorable: hubo 2 votos desfavorables contra 1 favorable
3 0 1 1 1 fallo favorable: hubo 2 votos favorables contra 1 desfavorable
4 1 0 0 0 fallo desfavorable: hubo 2 votos desfavorables contra 1 favorable
5 1 0 1 1 fallo favorable: hubo 2 votos favorables contra 1 desfavorable
6 1 1 0 1 fallo favorable: hubo 2 votos favorables contra 1 desfavorable
7 1 1 1 1 fallo favorable: hubo mayoría absoluta de votos favorables

Ejemplo resuelto 2
La alarma de una casa dispone de dos sensores V1 y V2 en sendas ventanas, y un sensor P en una
puerta. Los sensores se activan cuando se abren las ventanas o la puerta respectivamente. Además, la
alarma dispone de un terminal de control A que sirve para poner la alarma en estado activo de vigi-
lancia o bien desactivarla. El sistema presenta un terminal de salida S para indicar situaciones de esta-
do de alarma, que se deberá activar cuando la puerta o alguna ventana se abran, estando la alarma
en estado activo de vigilancia.

Determinar las funciones, las variables y la relación lógica que las relaciona.

Solución
) Función: la única función que hay en el enunciado es el estado del terminal de salida S, que
puede ser activo o no, y que depende del estado de apertura de las ventanas y de la puerta, y de
si el sistema está en estado de vigilancia. Si S=1 quiere decir que está activo y por lo tanto hay
situación de alarma, y si S=0 significa que no está activo, y por lo tanto no hay estado de alarma.
) Variables: las variables de las que depende la función son V1, V2, P y A, es decir, del estado acti-
vo o no de los sensores y del estado de vigilancia del sistema. Por ejemplo, si V1=1, el sensor de
la ventana está activo y si V1=0 no está activo.
) Relación lógica: en este caso se puede deducir la expresión lógica directamente del enunciado
del problema:
S ( A,V 1 ,V 2 ,P ) = A · ( V 1 + V 2 + P )

2.3.6 Expresiones canónicas


Dada una función que depende de varias variables, se definen los siguientes conceptos:

) Minterm o término canónico producto: es un producto donde aparecen multiplicadas todas las
variables, directamente o negadas, una y sólo una vez. Por ejemplo, dada una función f (a,b,c,d):

son minterms no son minterms


a·b·c·d a·b·c falta la variable d
a·b·c·d a·c·d falta la variable b
a·b·c·d c·d Faltan las variables a y b
a·b·c·d a·b·b·c·d la variable b aparece dos veces

39
L gica digital y prog_ U 01-final.qxp 16/05/2007 17:00 PÆgina 40

1 Lógica digital y microprogramable

) Maxterm o término canónico suma: es una suma donde aparecen todas las variables, directa-
mente o negadas, una y sólo una vez. Por ejemplo, dada una función f(a,b,c,d):

son minterms no son minterms


a+b+c+d a+b+c falta la variable d
a+b+c+d a+c+d falta la variable b
a+b+c+d c+d Faltan las variables a y b
a+b+c+d a+b+b+c+d la variable b aparece dos veces

) Expresiones canónicas: de entre todas las expresiones equivalentes que puede tener una fun-
ción, siempre se pueden encontrar un par de ellas que se llaman expresiones canónicas y que
tienen las siguientes características:

) Expresión canónica suma: está formada únicamente por suma de minterms. Por ejemplo:

f ( a,b,c,d ) = a·b·c·d + a·b·c·d + a·b·c·d + a·b·c·d

) Expresión canónica producto: está formada únicamente por producto de maxterms. Por
ejemplo:

f (x , y , z ) = (x · y · z ) + (x · y · z ) + (x · y · z )

Empleo de las expresiones canónicas


La forma canónica de una función es de interés en ciertos casos como los que se indican a continuación:
) Uso de dispositivos configurables: como se verá más adelante en la unidad correspondiente,
cuando se trabaje con dispositivos electrónicos digitales configurables tales como PLD’s, PAL,
GAL, etc., es conveniente expresar las funciones en su forma canónica.
) Obtención de la tabla de verdad: dada una función en una forma canónica, es inmediato obte-
ner la tabla de verdad sin necesidad de evaluar las expresiones lógicas para cada una de las
entradas de la tabla.
El método se basa en interpretar cada minterm (o maxterm según la expresión canónica sea suma
o producto) como un número binario, que reflejará una entrada de la tabla:

) Para los minterms: suponer que las variables sin negar representan al 1 y las negadas al 0.
Por ejemplo: (a·b·c ) se refiere a la entrada 1012=510.
) Para los maxterms: suponer que las variables sin negar representan al 0 y las negadas al 1.
Por ejemplo: (a + b + c ) se refiere a la entrada 0102=210.
La tabla se forma asignando los siguientes valores a la función, según cuál sea su expresión ca-
nónica:

) Expresión suma: valor 1 en las entradas referidas por los minterms, y valor 0 en las demás
entradas.
) Expresión producto: valor 0 en las entradas referidas por los maxterms, y valor 1 en las
demás entradas.
) Expresión reducida de la función: en relación con lo anterior, existe una notación que permite
representar abreviadamente la expresión de una función cuando viene dada en forma canónica:
) Expresión canónica suma: se indica con el símbolo del operador sumatorio: Σ
) Expresión canónica producto: se indica con el símbolo del operador productorio: Π
) Al pie del operador se indicará el número de variables de las que depende la función.
) En el interior del operador se disponen los números en decimal o hexadecimal de las entra-
das de la tabla referidas por los minterms o maxterms según el caso. Por ejemplo:
f (a,b,c,d ) = a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d = Σ4 (3,4,7,A,D )
g (x,y,z ) = (x + y + z ) · (x + y + z ) · (x + y + z ) = Π3 (6,3,0)

40
L gica digital y prog_ U 01-final.qxp 16/05/2007 17:00 PÆgina 41

Obtención de la expresión canónica


Introducción a la electrónica digital
1
) A partir de la tabla de verdad: el método es el inverso al expuesto en el apartado anterior para
la obtención de la tabla a partir de la expresión canónica.
) Expresión suma: obtener los minterms a partir de las entradas en las que la función vale 1.
) Expresión producto: obtener los maxterms a partir de las entradas en las que la función vale 0.

) A partir de una expresión no canónica: el procedimiento consta de dos pasos:


) Mediante el empleo de los teoremas del álgebra de Boole, desarrollar la expresión no canó-
nica hasta obtener una expresión formada sólo por suma de productos (no canónicos posi-
blemente) o producto de sumas (no canónicas posiblemente) según lo deseado.
) Desarrollar cada término obtenido, hasta formar un término canónico. Para ello, añadir las
variables que le faltan para ser canónico empleando el postulado del complemento.

2.3.7 Ejercicios con las expresiones canónicas de las funciones


Ejemplo resuelto 1
Obtener la tabla de verdad de la siguiente función, y expresarla en notación reducida:

f (a,b,c,d ) = a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d
Solución
Notación reducida:
f (a,b,c,d ) = a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d
cambiar variables por 1 y negadas por 0 v v v v v
por ser expresión suma 0001 0011 0100 1001 1010 1111
v v v v v v
1 3 4 9 A F
f (a,b,c,d ) = Σ4 (1,3,4,9,A,F )

Tabla de verdad:

) Asignar el valor 1 a las entradas de la tabla determinadas por los minterms:

entradas a b c d f (a,b,c,d)
0 0 0 0 0
→ 1 0 0 0 1 1
2 0 0 1 0
→ 3 0 0 1 1 1
→ 4 0 1 0 0 1
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
→ 9 1 0 0 1 1
→ A 1 0 1 0 1
B 1 0 1 1
C 1 1 0 0
D 1 1 0 1
E 1 1 1 0
→ F 1 1 1 1 1

Completar la tabla con 0 en las demás entradas:

41
L gica digital y prog_ U 01-final.qxp 16/05/2007 17:00 PÆgina 42

1 Lógica digital y microprogramable

entradas a b c d f (a,b,c,d)
0 0 0 0 0 0
1 0 0 0 1 1
2 0 0 1 0 0
3 0 0 1 1 1
4 0 1 0 0 1
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 0
8 1 0 0 0 0
9 1 0 0 1 1
A 1 0 1 0 1
B 1 0 1 1 0
C 1 1 0 0 0
D 1 1 0 1 0
E 1 1 1 0 0
F 1 1 1 1 1

Ejemplo resuelto 2
Obtener la expresión canónica suma y producto de la función dada por la tabla de verdad del ejerci-
cio 1.10 del apartado de autoevaluación de este tema.

Solución
La tabla de verdad es la siguiente, a partir de la que se pueden obtener los minterms (los 1's) o los
maxterms (los 0's):

a b c d f(a,b,c,d) minterms maxterms


0 0 0 0 0 a+b+c+d
0 0 0 1 0 a+b+c+d
0 0 1 0 0 a+b+c+d
0 0 1 1 0 a+b+c+d
0 1 0 0 0 a+b+c+d
0 1 0 1 1 a·b·c·d
0 1 1 0 1 a·b·c·d
0 1 1 1 1 a·b·c·d
1 0 0 0 0 a+b+c+d
1 0 0 1 0 a+b+c+d
1 0 1 0 0 a+b+c+d
1 0 1 1 1 a·b·c·d
1 1 0 0 1 a·b·c·d
1 1 0 1 1 a·b·c·d
1 1 1 0 1 a·b·c·d
1 1 1 1 1 a·b·c·d

Expresión canónica suma:


f (a,b,c,d ) = Σ4(5,6,7,11,12,13,14,15)=
=a·b·c·d+a·b·c·d+a·b·c·d+a·b·c·d+a·b·c·d +a·b·c·d +a·b·c·d +a·b·c·d

Expresión canónica producto:


f (a,b,c,d ) = Π4(0,1,2,3,4,8,9,10)=
= (a + b + c + d ) · (a + b + c + d ) · (a + b + c + d ) · (a + b + c + d ) ·
(a + b + c + d ) · (a + b + c + d ) · (a + b + c + d ) · (a + b + c + d )

Ejemplo resuelto 3
Obtener una expresión canónica de la siguiente función:
f (a,b,c,) = a · b + a · b +a · c + a · c

42
L gica digital y prog_ U 01-final.qxp 16/05/2007 17:00 PÆgina 43

Solución
Introducción a la electrónica digital
1
En este caso, la función ya casi está expresada como suma de productos no canónicos. Aplicando De
Morgan al tercer término, ya está completamente desarrollada:
f (a,b,c,) = a · b + a · b +a · c + a · c = a · b + a · b +a + c + a · c

Para que cada término sea canónico se añadirá la variable que falta del modo siguiente:

f (a,b,c,) = a·b + a·b + a + c + a·c


falta c v falta c v faltan b y c v faltan a y b v falta b v

f (a,b,c,) = a · b · (c + c )+ a · b · (c + c ) + a · (b + b ) · (c + c ) + c · (a + a ) · (b + b ) + a · c · (b+ b )

Obsérvese que multiplicar por términos del tipo (x+x ) no cambia nada ya que por el postulado del com-
plemento es igual que multiplicar por 1, lo que no altera los valores según el postulado de los neutros.

Aplicando la distributiva a cada paréntesis se obtienen términos canónicos:

f (a,b,c,) = a · b · (c + c )+ a · b · (c + c ) + a · (b + b ) · (c + c ) + c · (a + a ) · (b + b ) + a · c · (b+ b ) =
= a · b · c + a · b · c + a · b · c + a · b · c + a · b · c + a · b · c + a · b · c + a · b · c + c · a· b + c · a · b +
c · a · b + c · a· b + a· c · b + a · c · b

Finalmente, aplicando la ley de idempotencia (x+x=x) para eliminar los términos repetidos, se obtie-
ne la expresión canónica:

f (a,b,c,d ) = a · b · c + a · b · c + a · b · c + a · b · c + a · b · c + a · b · c + a · b · c = Σ3(0,1,2,3,4,6,7)

2.4 Aplicación a los procesadores digitales


electrónicos
Como ya se expuso en su momento, un sistema de control trata de generar ciertas actuaciones a par-
tir de ciertas observaciones y ciertas condiciones de funcionamiento. Por ejemplo, el control del portón
de un aparcamiento trata de generar una actuación (la apertura del portón) a partir de la observación
de la presencia de coches y de la pulsación de un interruptor. Además, estas observaciones se combi-
nan con una condición de funcionamiento como puede ser que alguna de las dos observaciones dé un
resultado afirmativo. Esto se resume diciendo que “hay que abrir el portón si hay coches en la entra-
da o pulsan el interruptor”.

Como ya se pudo intuir a partir de los ejercicios desarrollados hasta el momento, los sistemas de con-
trol más sencillos, como el ejemplo del portón, se pueden representar mediante funciones lógicas, esta-
bleciendo las siguientes relaciones:

) Función: es el elemento a controlar.


) Variables: son las observaciones a partir de las que se controlará el sistema.
) Expresión: son las condiciones de funcionamiento.
El proceso de control queda representado por una función lógica. En el ejemplo del portón, haciendo
la siguiente definición de variables:

) P: el Portón debe abrirse → función


) C: hay Coches en la entrada → variable
) I: pulsan el Interruptor → variable
la función lógica que define el proceso de control es:

P (C,I) = C + I

Esta función lógica está presente en la mente del controlador del portón cuando se trata de un ser
humano. En el caso de querer sustituirlo por un sistema electrónico digital, se deberán de llevar a cabo
los siguientes procesos:

43
L gica digital y prog_ U 01-final.qxp 16/05/2007 17:00 PÆgina 44

1 Lógica digital y microprogramable

) Disponer de sensores que proporcionen las señales eléctricas que representen a los valores lógi-
cos de las variables C y I. Es decir, un sensor dará por ejemplo 5V cuando haya coches en la entra-
da (C=1) y 0V cuando sea falso que los haya (C=0). Otro sensor podrá dar 5V cuando pulsen el
interruptor (I=1) y 0V cuando sea falso que lo pulsen (I=0). Las señales obtenidas pueden deno-
minarse como señal C y señal I respectivamente, para mejor identificar su sentido.
) Disponer de un motor actuador que mueva la puerta, controlado por una línea de tensión. Si en
la línea de control se aplica una señal de por ejemplo 5V al motor, la puerta se abrirá, y si se apli-
can 0V se cerrará (porque tira de ella un resorte, por ejemplo). La señal que controla la puerta
puede denominarse señal P, de modo que se identifique con la función de control P.
) Disponer de un circuito electrónico que a partir de las señales C y I genere la señal P con los valo-
res adecuados según la relación que define la función lógica de control. En este caso, el circuito
electrónico deberá de funcionar como la función lógica suma o OR. Tal circuito existe, se llama
puerta OR y funciona según la tabla de la función OR:

valor de la señal C valor de la señal I valor generado para la señal P


0V 0V 0V
0V 5V 5V
5V 0V 5V
5V 5V 5V

donde el 1 está representado por la tensión de 5V y el 0 por la de 0V.

En general, cuando un sistema de


control puede estar representado
por una función lógica, la electró-
nica digital proporciona los circui-
tos necesarios para implementar
el comportamiento de esa función,
a partir de las señales eléctricas
que representan los valores de las
variables lógicas. El proceso de
diseño, dados los conocimientos adquiridos hasta el momento, es el siguiente:

) A partir del enunciado o especificaciones del sistema de control, identificar las variables y las
funciones.
) A partir del enunciado o especificaciones, construir la tabla de verdad.
) A partir de la tabla de verdad, obtener una expresión canónica de la función.
) A partir de la expresión canónica, obtener una expresión simplificada, empleando los teoremas
del álgebra de Boole.
) Una vez obtenida la función simplificada que define el sistema de control, implementarla circui-
talmente con las puertas y circuitos que proporciona la electrónica digital.

En las siguientes unidades se describirán otras técnicas que simplifican el proceso de diseño descrito
anteriormente.

Obsérvese que los valores lógicos de las variables no dependen del propio sistema, sino que vienen
dados por el entorno exterior y por lo tanto, en principio, pueden tomar cualquier valor. Por otro lado,
los valores que debe tomar la función son los que tiene que generar el sistema de control, y por lo tanto
es responsabilidad del sistema que la función tome los valores adecuados en todas las circunstancias.

Tampoco hay que olvidar que detrás de cada señal digital hay una variable lógica y por lo tanto una
proposición, aunque a veces sea difícil de identificar o enunciar en el lenguaje hablado habitual.

En las siguientes unidades se estudiarán los diferentes circuitos electrónicos digitales que permiten la
implementación de funciones lógicas, y permiten por lo tanto el desarrollo de controladores electróni-
cos digitales. También se estudiarán diferentes métodos para la obtención de las funciones lógicas que
definen los sistemas de control.

44
L gica digital y prog_ U 01-final.qxp 16/05/2007 17:00 PÆgina 45

Lógica positiva y negativa


Introducción a la electrónica digital
1
En el anterior ejemplo del portón, el valor lógico 1 (la verdad) estaba representado por la tensión de
5V y el valor lógico 0 (la falsedad) estaba representado por la tensión de 0V. Esta relación es arbitra-
ria, ya que de hecho, el problema se podría haber resuelto haciendo la asignación contraria, es decir,
el 1 representado por 0V y el 0 por 5V; aunque el circuito resultante sería diferente, haría la misma fun-
ción de control. El criterio queda a la elección del diseñador.

La electrónica digital siempre trabaja con dos niveles distintos de tensión para representar el 0 y el 1
lógicos. Los valores concretos de tensión dependen de la tecnología con que se trabaje. Según el dise-
ñador elija, arbitrariamente por la conveniencia en cada caso, la relación entre los valores lógicos y los
niveles de tensión, se hablará de dos tipos de lógica en la electrónica digital:

) lógica positiva: el 1 está representado por el nivel mayor de tensión y el 0 por el nivel menor de
tensión.
) lógica negativa: el 0 está representado por el nivel mayor de tensión y el 1 por el nivel menor de
tensión.

3. Autoevaluación
Ejercicio 1.1
Pasar los siguientes números hexadecimales a decimal y binario: E8, D1A, FE0, CACA, CAFE, DE5E0.

Ejercicio 1.2
Pasar los siguientes números decimales a hexadecimal: 256, 3687, 12584, 698574, 12234842.

Ejercicio 1.3
Pasar los siguientes números binarios a hexadecimal: 1100110, 1001111101, 110101010101,
111100000001110, 111110001101010100011110.

Ejercicio 1.4
Pasar los siguientes números octales a decimal y binario: 2654, 5752, 25467, 2101445.

Ejercicio 1.5
Pasar los siguientes números decimales a octal: 256, 3687, 12584, 698574, 12234842.

Ejercicio 1.6
Realizar los cambios de base de los ejercicios anteriores empleando la calculadora de Windows.

Ejercicio 1.7
Pasar los siguientes números decimales a BCD: 38, 568, 785, 1111, 5566.

Ejercicio 1.8
Pasar los siguientes números BCD a decimal: 1100110, 10110010110, 111100110000111,
10000000110000001.

Ejercicio 1.9
Simplificar la siguiente expresión:

(a+b+c)·(a+b+c)·(a+b+c)·(a+c)·(a+c)

45
L gica digital y prog_ U 01-final.qxp 16/05/2007 17:00 PÆgina 46

1 Lógica digital y microprogramable

Ejercicio 1.10
Identificar la función y las variables que se definen en el siguiente enunciado, y determinar su expre-
sión o tabla de verdad:

"Una familia de cuatro miembros: Andrés, Beatriz, Carlos y Diana, votan para ir a cenar a uno de dos
posibles restaurantes: Casa Pepe o Casa Juan. El restaurante elegido es el vota-do por mayoría. En caso
de empate, el restaurante elegido será el que votó Beatriz".

Ejercicio 1.11
Obtener la tabla de verdad de la siguiente función, y expresarla en notación reducida:

f(a,b) = a·b+a·b

Ejercicio 1.12
Obtener una expresión canónica de la siguiente función:

f (a,b,c ) = a · (b +c ) + c

Ejercicio 1.13
Obtener una expresión canónica de la siguiente función:

f (a,b) = a ⊕ b

Nota: la solución a todos los ejercicios se encontrarán en el disco adjunto al libro

46
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 47

UNIDAD 2

Puertas lógicas

Objetivos

) Relacionar los tipos de funciones primitivas básicas vistas en el


álgebra de Boole, con la realización de circuitos partiendo de
la función lógica o de la tabla de verdad.
) Presentar los circuitos integrados con puertas lógicas más utili-
zadas.
) Hacer dibujos de esquemas electrónicos digitales y simularlos
por medios informáticos
) Desarrollar un método para la reducción de los componentes
necesarios para implementar una función lógica.
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 48

2 Lógica digital y microprogramable

1. Funciones primitivas de
electrónica digital
Este apartado toma como hilo conductor el diseño de circuitos sencillos con puertas lógicas, mediante
los que se materializan las funciones analizadas anteriormente.

Los pasos más relevantes de los procesos de diseño que se desarrollan en este punto son los siguientes:

) Obtención de la tabla de verdad a partir de la función lógica.


) Obtención de la función lógica por medio de la tabla de verdad.
) Implementación de la función lógica utilizando cualquier tipo de puertas lógicas, o en su caso,
con un solo tipo de puertas.

Como ya se verá, no siempre es necesario seguir cada uno de los pasos para llegar al resultado de-
seado.

El diagrama de bloques adjunto representa los


diferentes caminos que permiten obtener el circui-
Tabla de Función Conversión Implementación
solo un tipo to con puertas lógicas. Los puntos que se proponen
verdad lógica del circuito
de puertas a continuación intentan ajustarse a cada uno de
ellos.

1.1 Funciones lógicas básicas (puertas lógicas)


En este apartado analizaremos las distintas funciones lógicas básicas materializadas en puertas lógi-
cas (AND, OR, NOT, NAND, NOR, XOR y XNOR) con su tabla de verdad, su función lógica y su simbo-
logía. En este último punto se matizarán los dos tipos de simbologías que se simultanearán a lo largo
de las distintas unidades didácticas de este libro. El ANSI/IEEE 91-1973 (conocido como simbología
americana), como el normalizado ANSI/IEEE 91-1984 (o simbología europea). El más habitual hasta
hace poco era el sistema americano, pero la complejidad cada vez mayor de los dispositivos integra-
dos y las imposiciones de las aplicaciones informáticas justifican la nueva normativa. Ésta se caracte-
riza por la utilización de un conjunto de rectángulos a los que se incorporan signos que expresan de
forma gráfica, las funciones y operaciones que realiza el dispositivo, sin tener que incorporar explica-
ciones añadidas.

Función Y (AND). Puerta lógica AND


Responde a la función que obtiene como resultado en su salida el producto lógico, es decir, sólo obtie-
ne 1 a la salida, si todas las entradas están a 1.

Símbolo Tabla de verdad Función


a b F F=a·b
0 0 0
0 1 0
1 0 0
simbología europea simbología americana 1 1 1

Función O (OR). Puerta lógica OR


Responde a la función que obtiene como resultado en su salida la suma lógica, es decir, dará un 1 a
su salida cuando una o más entradas valen 1.

Símbolo Tabla de verdad Función


a b F F=a+b
0 0 0
0 1 1
1 0 1
1 1 1
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 49

Función inversora NO (NOT). Puerta lógica NOT


Puertas lógicas
2
La salida es lo contrario de la entrada. Se entiende como la negación lógica o el complemento. Se
puede expresar de diferentes formas según los diferentes autores o textos

Símbolo Tabla de verdad Función


a F F = a = a’ = a*
0 1
1 0

Función NO-YY (NAND). Puerta lógica NAND


Esta función es la complementaria de la función AND, de forma que sólo cuando todas las entradas
son 1 la salida es 0.

Símbolo Tabla de verdad Función


a b F F = a · b = a+b
0 0 1
0 1 1
1 0 1
1 1 0

Función NO-O
O (NOR). Puerta lógica NOR
Es la función complementaria de la OR, tal que sólo obtendrá 1 a la salida cuando todas las entradas
valgan 0.

Símbolo Tabla de verdad Función


a b F F = a+b = a · b
0 0 1
0 1 0
1 0 0
1 1 0

Función O-eexclusiva (exclusive-O


OR o XOR). Puerta lógica XOR
La salida será 1, cuando sea 1, una y sólo una de las entradas. En general la salida de una función
XOR tendrá el valor 1 cando el número de unos en la entrada sea impar. Sólo se comercializan puer-
tas XOR de dos entradas.

Símbolo Tabla de verdad Función


a b F F=a⊕b=
0 0 0 a·b+a·b
0 1 1
1 0 1
1 1 0

Función NO-O
O exclusiva (exclusive-N
NOR o XNOR). Puerta lógica XNOR
Es la complementaria de la puerta XOR. Por lo tanto, la salida será 0, cuando sea 1, una y sólo una
de las entradas. En general, la salida de una función XNOR tendrá el valor 1 cuando el número de unos
en la entrada sea par. Sólo se comercializan puertas XNOR de dos entradas.

49
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 50

2 Lógica digital y microprogramable

Símbolo Tabla de verdad Función


a b F F=a⊕b=
0 0 1 a·b+a·b
0 1 0
1 0 0
1 1 0

Función de tercer estado. Puerta triestado


Las puertas de tres estados son
puertas en las que la salida, además
de encontrarse en estado 0 o 1, tam-
bién puede adoptar un tercer estado
llamado de alta impedancia (Z). El
circuito en este estado actúa como
un interruptor abierto y la salida
queda desconectada de la entrada,
como se observa en la figura.

La entrada EN, cuando está a nivel


bajo (L), pone la salida a tercer esta-
do, como se ve en la figura.

La salida con la opción de tercer estado aparecerá a lo largo del libro y va siempre acompañado del
símbolo del triangulo con el vértice hacia abajo.

1.2 Ejemplos resueltos de aplicaciones básicas


con puertas lógicas
Generalización de alguna de las funciones anteriores, para tres variables de entrada.

Ejemplo resuelto 1
Puerta AND de tres entradas F=a·b·c a b c F
0 0 0 0
0 0 1 0
0 0 1 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Ejemplo resuelto 2
Puerta XOR de tres entradas F=a⊕b ⊕c a b c F
0 0 0 0
0 0 1 1
0 0 1 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

50
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 51

Ejemplo resuelto 3
Puertas lógicas
2
Puerta NOR de tres entradas F = a + b +c = a · b · c a b c F
0 0 0 1
0 0 1 0
0 0 1 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

En este caso, aplicando De Morgan (explicado en la unidad didáctica 1) F = a + b +c = a · b · c , se com-


prueba que son equivalentes las dos puertas. La NOR es equivalente a la AND con las entradas negadas.

1.3 Implementación de un circuito digital con


puertas lógicas
Se denomina implementar una función, a la realización del circuito digital de puertas lógicas que cum-
ple la ecuación de esa función.

Si se parte de una función lógica o de una tabla de verdad, se puede obtener un circuito electrónico
utilizando las puertas lógicas vistas anteriormente.

También se puede hacer el análisis de un esquema electrónico con puertas lógicas y obtener la fun-
ción lógica que realiza.

1.4 Ejemplos resueltos de funciones lógicas


utilizando puertas lógicas
Para implementar el circuito lógico correspondiente a una función, se deben distinguir las variables de
entrada y cuales de ellas aparecen negadas. Véase un ejemplo sencillo: f = a · b +c

Ejemplo resuelto 1
Obtener el circuito con puertas lógicas, que realice la siguiente función lógica:

Solución
Se tienen tres variables, y se procede de la forma siguiente:

) Se niega la variable b, por medio de una puerta inversora NOT.


) Se hace el producto lógico con la variable a con una AND.
) Al resultado se le suma c con una función OR de dos entradas.
) Se obtiene la función de salida deseada.

Es interesante que se ponga después de cada puerta la fun-


ción que obtiene en la salida, como en la figura.

Ejemplo resuelto 2
Implementar con puertas la siguiente función lógica: f = (a · b +c · d ) · c

Solución
Esta función tiene cuatro variables (a, b, c, d ), se actúa como sigue:

) Se obtienen primero los productos a · b y c · d con dos puertas AND de dos entradas.

51
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 52

2 Lógica digital y microprogramable

) Se aplica cada salida a una puerta OR de dos


entradas.
) Por último, la salida de la puerta OR se conec-
ta a una de las entradas de una puerta AND
de dos entradas, y la otra entrada se conecta
a la variable c negada, con una puerta NOT.

Ejemplo resuelto 3
Realizar un circuito combinacional, que realice la siguiente ecuación: g = (a · b + c · d ) · (a · b + c )

Solución

Un último ejemplo.

Ejemplo resuelto 4
Analizar el circuito de la figura y obtener la fun-
ción lógica que realiza.

El análisis se hace desde las variables de entrada,


poniendo en la salida de cada puerta la función
que obtiene, como se hizo en los ejemplos ante-
riores.

Solución
a = (a + b ) · (a + b )· (b + c )

1.4.1 Necesidad de las puertas complementadas


La implementación práctica de una función necesitaría la disponibilidad en almacén de todo tipo de
puertas. Para evitarlo, se utilizan puertas con salidas complementadas, que permiten obtener cual-
quier tipo de función lógica con un solo tipo de puertas (NAND o NOR) utilizando las leyes de De
Morgan (unidad didáctica 1).

La importancia de emplear puertas con salida complementada NAND y NOR, obedece a característi-
cas del proceso de fabricación (utilizan menos componentes y por tanto son mas sencillas) y también
porque son universales (cualquier otro tipo de puerta lógica se puede realizar utilizando únicamente
puertas NAND o NOR empleando las leyes de De Morgan).

Circuitos integrados con puertas lógicas


Para rematar este punto, se hace una breve descripción de los circuitos integrados que realizan las fun-
ciones combinacionales básicas a partir de las hojas de características de los fabricantes. Cada bloque
o circuito integrado está formado, generalmente, por varias puertas de un mismo tipo. El número de
puertas por circuito depende del número de entradas que tenga cada una de ellas, estableciéndose
una relación inversa entre entradas y puertas. Como por ejemplo el caso de los integrados 7400 y 7410.
Los dos tienen el mismo número de terminales, el 7400 tiene cuatro puertas de dos entradas y el 7410
tiene, sin embargo, sólo tres puertas, pero en este caso de tres entradas.

Se describen a continuación los circuitos integrados que realizan las funciones combinacionales básicas.

52
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 53

Cada puerta trae una serie de numeraciones.


Puertas lógicas

Indicación del circuito


2
integrado y la puerta
correspondiente del mismo
Número del terminal
del integrado

La relación de circuitos integrados que se muestran a continua-


Número de serie del
ción están representados, con simbología europea en la figura de integrado que define
la derecha y en la izquierda se representan los diferentes termi- el tipo de puerta
nales de cada uno.

7400
7410

7402
7427

7404 7486

El número de terminales (también llamados pines o patillas) de cada uno de los circuitos vistos ante-
riormente es de 14. El encapsulado de estos integrados es el denominado DIL (Dual In Line). Los dos
terminales de alimentación son comunes para todas las puertas de un mismo circuito. El terminal 14
(Vcc) se conecta al polo positivo de la fuente de alimentación y el terminal 7 GND (GrouND) a masa,
en los circuitos anteriores.

1.5 Ejemplos resueltos de implementación de


funciones lógicas utilizando puertas con salida
complementada
A continuación, se exponen unos ejemplos que justifican la utilización de puertas lógicas con salidas
complementadas.

53
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 54

2 Lógica digital y microprogramable

Ejemplo resuelto1
Realización de una puerta NOT con puertas con salida complementada.

Solución

a b F Puerta NOT con NOR: Conectando las dos entradas en cortocircuito, se obtiene
0 0 1 una puerta inversora, ya que la tabla de verdad queda reducida a dos combi-
0 1 0 naciones.
1 0 0
1 1 0 Función inversora con NOR
Puerta NOT con NAND: Conectando las dos entra- a b F
das, se obtiene una puerta inversora. 0 0 1
0 1 1
1 0 1
1 1 0 Función NOT con NAND
Ejemplo resuelto 2
Implementar la siguiente función sólo con puertas NAND:

f=a·b+c

Solución
) Se niega dos veces toda la función f = a · b + c
) Se aplica De Morgan (x + y = x · y ), quedando, f = a · b · c
) Se utilizan dos puertas NAND con las entradas cortocircuitadas para negar las variables b y c.
) Con una puerta NAND de dos entradas se obtiene a · b.
) Con otra puerta NAND de dos entradas se obtiene el producto lógico de este termino y c.
) La función f resultante, será la
siguiente.

Ejemplo resuelto 3
Implementar la siguiente función sólo con puertas NAND:

f = a · b· d + b · c · d + a · b · c

Solución

) Se niega dos veces toda la función f = a · b · d + b · c · d + a · b · c aplicando De Morgan


(x + y = x · y ), quedará f = a · b · d · b · c · d · a · b · c .
) Se utilizan dos puertas NAND con las entradas cortocircuitadas para negar las variables
b y d.
) Tres puertas NAND de tres entradas para
obtener a · b ·d , b · c · d y a · b · c .
) Otra puerta NAND de tres entradas para
hacer el producto lógico de estos tres tér-
minos y obtener la función f.
) El circuito obtenido, queda como sigue
(figura adjunta).

54
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 55

Ejemplo resuelto 4
Puertas lógicas
2
Implementar la siguiente función f = a · b + b · c + a · c , con puertas NAND de dos entradas.

Solución
Como se hizo anteriormente:

) Se niega dos veces = a · b + b · c + a · c .


) Se aplica De Morgan f = (a · b ) · (b · c ) · (a · c ).
) Se utiliza, una puerta para negar b, tres para hacer los tres términos y otras tres puertas para
realizar el producto de los tres términos negados.
) Primeramente se aplica la fun-
ción NAND a dos entradas, se
supone x · y se niegan x · y =
x ·y, el resultado se vuelve a
conectar a una puerta NAND,
quedando x · y · z, como se ve
en el circuito.

Ejemplo resuelto 5
Realizar la siguiente función con puertas NOR f = (a +b +c ) · (b +c ) · (a +b ).

Solución
Las funciones que están como producto de sumas se adaptan mejor para implementarlas con puertas
NOR:

) Se niega la función dos veces f = (a +b +c ) · (b +c ) · (a +b ) utilizando De Morgan (X + Y


= X · Y ).
) Por lo tanto f = (a +b +c ) + (b +c ) +
(a +b )

2. Aplicación OrCAD para la captura y


la simulación de circuitos digitales
Los sistemas CAD-CAE-CAM, son una serie de herramientas que utilizan el ordenador para mejorar el
diseño, el desarrollo y la fabricación de productos. Estos pueden fabricarse de forma más rápida, con
mayor precisión y a menor costo, con la aplicación adecuada de la tecnología informática.

Los sistemas de diseño asistido por ordenador (CAD, Computer Aided Design) pueden utilizarse para
generar modelos con las características de un determinado producto. Una vez que estos datos dimen-
sionales son introducidos y almacenados en el sistema informático, el diseñador puede manipularlos
o modificar las ideas del diseño con mayor facilidad para avanzar en el desarrollo del producto. Los
sistemas de ingeniería asistida por ordenador CAE (Computer Aided Engineering) complementan a los
sistemas CAD permiten la simulación del funcionamiento de un producto. También permiten verificar
si un circuito electrónico propuesto funcionará tal y como está previsto.

Cuando los sistemas CAD/CAE se conectan a equipos de fabricación también controlados por ordena-
dor conforman un sistema integrado CAD/CAE/CAM (CAM, Computer Aided Manufacturing). La fabrica-

55
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 56

2 Lógica digital y microprogramable

ción asistida por ordenador ofrece significativas ventajas con respecto a los métodos más tradicionales
de control de equipos de fabricación. Por lo general, los equipos CAM conllevan la eliminación de los
errores del operador y la reducción de los costes de mano de obra.

Las características de los sistemas CAD/CAE son aprovechadas por los diseñadores, técnicos e ingenie-
ros para adaptarlas a las necesidades específicas. Un diseñador puede utilizar el sistema para crear
rápidamente un prototipo o analizar la viabilidad de un producto.

Este apartado pretende familiarizar al lector con los programas de CAD y CAE electrónico y, en parti-
cular, con OrCAD, que es un programa para la construcción y simulación de esquemas de circuitos elec-
trónicos, que se va a utilizar a lo largo de libro en los diferentes temas. Se utilizará el programa OrCAD,
en una versión demo que se encuentra en el CD que acompaña al libro.

El paquete integrado OrCAD Demo es un conjunto de aplicaciones diseñadas para trabajar en entorno
Windows. Están destinadas al diseño y simulación de circuitos electrónicos analógicos, digitales y mix-
tos. Y también, al diseño y desarrollo de placas de circuito impreso (PCB).

Con estas aplicaciones se pueden realizar distintos tipos de análisis para cada circuito.

Se trata de un entorno gráfico que permite trabajar mediante ventanas y menús desplegables, en los
que los comandos, se pueden activar con ratón o teclado. El ususario tiene la posibilidad de elegir en
cada caso la forma más cómoda o rápida de activar estos comandos.

Al realizar una instalación completa del paquete integrado se crea en el disco duro, un grupo de pro-
gramas que contienen las aplicaciones necesarias para la simulación tanto analógica como digital
denominado OrCAD Demo, las principales aplicaciones son las siguientes:

) Capture CIS Demo : herramienta para la captura de esquemáticos (dibujo de circuitos), en el


que se edita el circuito que se pretende diseñar y simular, con los componentes, conexiones y
valores que deseen. También permite seleccionar el tipo de análisis que se quiere realizar.
Desde este programa se puede ejecutar directamente el programa de simulación y visualiza-
ción, sin necesidad de salir de esta aplicación (es necesaria para poder trabajar con las dos si-
guientes).

) Pspice A/D Demo: Herramienta empleada para la realización de simulaciones de circuitos ana-
lógicos, digitales y mixtos. Utiliza una serie de algoritmos por medio de los cuales realiza los cál-
culos y operaciones necesarios dependiendo del tipo de análisis seleccionado. Esta aplicación
crea los archivos que contienen los resultados de la simulación. Una vez finalizados los cálculos
de la simulación, permite visualizar de forma gráfica en la pantalla los resultados obtenidos para
la forma de onda de tensiones y corrientes en distintos puntos del circuito.

) Layout Plus: Esta aplicación permite el diseño y optimización de placas de circuito impreso, a
partir del esquema que se realice con la aplicación de captura de esquemáticos. Permite tam-
bién el diseño de los mismos de forma automática o manual.

Método de trabajo con OrCAD Capture Demo


La forma de trabajo con OrCAD consiste en ejecutar la aplicación Capture CIS Demo (Capturador de
esquemáticos). En esta aplicación se crea un circuito nuevo o se abre el esquema de un circuito ya
hecho, que se desee analizar.

Si es un circuito nuevo, primero se colocan en la hoja de trabajo los componentes que se necesitan
dándole un nombre y un valor. Posteriormente, se realizan las conexiones necesarias entre los com-
ponentes.

A continuación se describe con detalle las dos aplicaciones básicas que se utilizan para realizar la
simulación de cualquier circuito. Son Capture CIS Demo (para la realización del esquema del circuito)
y PSpice A/D Demo (para la simulación propiamente dicha).

56
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:08 PÆgina 57

2.1 Aplicación Capture del programa Orcad para


Puertas lógicas
2
la realización de esquemas digitales
Se ejecuta la aplicación Capture del programa Orcad y, por medio del tutorial suministrado en el CD
adjunto, se caminará por las diversas funciones de las que dispone. Comenzaremos haciendo un
esquema con una puerta lógica NAND.

El tutorial adjunto se denomina OrCAD_Capture. Está en formato .pdf y en formato ppt. Corresponde
a una representación de las diferentes pantallas que son necesarias para crear un esquema de un cir-
cuito con una puerta lógica NAND de dos entradas.

Ejemplo resuelto 1
El primer ejercicio consiste en realizar el mismo esquema que aparece en el tutorial OrCAD_Capture,
es decir, una puerta NAND de dos entradas. El resultado será el correspondiente a la última página de
ese tutorial.

Este ejercicio se almacena en una carpeta denominada prueba, dentro de la carpeta digital, en la uni-
dad C: ,(C:\digital\prueba), tal como aparece en el tutorial.
a b c f
Ejemplo resuelto 2 0 0 0 0
Realizar el circuito digital correspondiente a la función f = a · b +c, que equivale a la siguiente 0 0 1 1
tabla de verdad. 0 0 1 0
0 1 1 1
Se pueden utilizar cualquier tipo de puertas. 1 0 0 1
1 0 1 1
Solución
1 1 0 0
Se utiliza un circuito 7404 como puerta NOT, un 7408 como AND y un 7432 como OR. El esquema resul- 1 1 1 1
tante es el de la figura. Se necesitan tres integrados un 7404 (U1A), un 7408 (U2A) y un 7432 (U3A).
En la figura aparecen los terminales de cada circuito integrado.

Archivar el circuito para su posterior utilización, cuando se vaya a


simular.

Ejemplo resuelto 3
Realizar la función anterior f = a · b +c, utilizando el mínimo número de integrados.

Solución
Se utilizan puertas con salida complementada (NOR o NAND). En
este ejemplo se hará con puertas NAND, en particular las del inte-
grado 7400. (Este ejercicio está resuelto anteriormente). El resul-
tado es f = a · b · c y el circuito quedará realizado con el Capture.

Por defecto, cada vez que se crea una puerta, el Capture utiliza un integrado nuevo. Esta es la razón
de que en este ejemplo aparecen 4 integrados (U1A a U4A). Para que utilice un solo integrado con la
numeración de los terminales, se marca U2A y se pulsa dos veces encima, saldrá la pantalla siguien-
te, donde se cambia U2A por U1B (ver figura de la página siguiente).

57
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:09 PÆgina 58

2 Lógica digital y microprogramable

Se repite la operación para U3A por U1C y U4A por U1D, teniendo en cuenta que
el integrado 7400 tiene 4 puertas A, B, C y D. El nuevo circuito quedará como
sigue:

Los terminales serán en este caso los correspondientes a un único integrado 7400. En el Capture no
aparecen los terminales de alimentación, (para este integrado serían, el terminal 7 y el 14, masa y Vcc
respectivamente).

Otra forma de conseguir racionalizar las puertas lógicas es de forma automática, siguiendo las siguien-
tes instrucciones, una vez que se dibuje el circuito:

) Abrir la ventana Window en la barra de tareas.


) Seleccionar la opción que aparece con el nombre del proyecto.
) Se obtiene la pantalla que aparece a continuación.
) Se marca el archivo con la extensión .dsn del árbol.
) Se abre la ventana Tools y dentro de ella, la Anotate.
) En esta pantalla se marca en el campo Action la opción Unconditional reference update, a
continuación se pincha en Ok.
) Se señala, por último, Page 1 para volver al esquema.

2.2 Método de trabajo con OrCAD Simulate Demo v9


La herramienta Orcad Simulate permite la simulación de circuitos electrónicos creados con Orcad
Capture, por medio de PSpice.

La simulación de un circuito consiste en obtener el valor de respuesta de salida para determinadas


condiciones de entrada. Por lo tanto, para hacer la simulación de un circuito realizado con el Capture

58
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:09 PÆgina 59

Puertas lógicas

es preciso aplicar en las entradas unos determinados valores o estímulos. Dentro de esta herramienta
2
informática existen varios métodos de aplicar unas determinadas señales en las entradas.

Una posibilidad que tiene el Orcad de conseguir esos estímulos de entrada es por medio del denomi-
nado Digclock o reloj digital, que es un instrumento que genera unos pulsos cuadrados de forma perió-
dica, que utiliza los siguientes parámetros:

) OFFTIME: Indica el tiempo que está la señal a nivel bajo, en un período. El valor que tiene por
defecto es 0,5 useg.
) ONTIME: Indica el tempo que está la señal a nivel alto, en un período. El valor que tiene por
defecto es 0,5 useg.
) DELAY: Indica el retardo, es decir, el tiempo que se quiere que tarde en empezar la señal perió-
dica definida con los dos parámetros anteriores. Por defecto tiene el valor cero.
) STARTVAL y OPPVAL: El valor que trae por defecto es STARTVAL=0 y OPPVAL=1,
) La señal periódica comienza a nivel alto.
Asignándole los valores STARTVAL=1 y
OPPVAL=0 la señal arranca a nivel bajo,
tal como se ve en la figura.

El generador de pulsos cuadrados Digclock se encuentra en una librería denominada SOURCE (fuen-
te) que también dispone de otros estímulos, tanto analógicos como digitales.

Para la simulación por medio de la aplicación OrCAD PSpice, se utilizan relojes (DigClock) que contie-
nen los estímulos necesarios para la obtención de todas las combinaciones binarias de las entradas,
como ocurre en las tablas de verdad.

Si las variables de entrada son dos: a (de mayor peso) y b (de menor peso), el generador correspon-
diente a la entrada b se deja, por defecto, a 0.5 useg a nivel bajo y 0.5 useg a nivel alto. A la variable
a se le da el doble de valor, 1useg a nivel
bajo y 1useg a nivel alto. De esta forma
se obtiene el cronograma equivalente a
las combinaciones binarias de la tabla de
verdad, tal como se ve en el gráfico. El
valor STARTVAL se pone a 1 y el OPPVAL
se pone a cero para que comiencen las
señales en nivel bajo.

Cuando se utilizan más variables de en-


trada, se dobla siempre el valor de los
niveles del reloj, de una variable, a la de
peso inmediatamente inferior. Ejemplo: "c " 1ms nivel alto y 1ms nivel bajo, "b " 2ms nivel alto y 2ms
nivel bajo y "a " 4ms nivel alto y 4ms nivel bajo. En el caso de que la variable de mayor peso o el bit
más significativo (MSB) sea "a" y el menos significativo (LSB) "c ".

Salvo que se precise por razones de diseño, no conviene utilizar en los pulsos valores mayores de mili-
segundos. Cuando se aumenta el tiempo, se aumenta el número de cálculos que tiene que hacer el pro-
grama y, por lo tanto, el tiempo que tarda en llevar a cabo la simulación.

Para la simulación del circuito, se ejecuta la aplicación PSpice A/D Demo, desde el mismo programa
Capture, que permite visualizar la forma de onda de las señales deseadas.

El tutorial Orcad_PSpice, realiza la simulación del esquema diseñado en el tutorial Orcad_Capture, y


hace un recorrido por las distintas pantallas que se utilizan para simular esquemas hechos en el
Capture CIS.

59
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:09 PÆgina 60

2 Lógica digital y microprogramable

2.2.1 Ejemplos resueltos con la aplicación PSpice del programa


Orcad para la simulación de circuitos digitales
Ejemplo resuelto 1
Simular el ejemplo del tutorial, siguiendo los pasos que marca.
) Se utiliza el esquema archivado anteriormente.
Solución
Se comprueba que la si-
mulación es correcta, ya
que el cronograma cum-
ple la tabla de verdad
prevista.

Cuando al intentar la si-


mulación, avisa de un
error, se puede saber
cual es, abriendo la pá-
gina Session Log, selec-
cionándola en la opción
Window de la barra de
tareas.

Cuando la simulación no
es la prevista, puede ser
por alguna de las si-
guientes causas:

) Cuando en la simulación, una de las trazas sale en rojo, quiere decir que no está correcta-
mente definida. Se debe revisar, en este punto, si las conexiones son correctas.
) Cuando aparece un cuadradito gris en un terminal de un componente no está bien hecha la
conexión. Para cablear un componente es preciso llevar la conexión al cuadradito gris hasta
que salga un círculo rojo y soltar el botón del ratón en ese momento.
) En un cruce de dos cables habrá unión cuando en
la misma aparece un punto. Cuando se quiere mar-
car la unión, se puede hacer en el menú Place en la
opción Junction

Ejemplo resuelto 2
Realizar la simulación de ejemplo 2 del punto anterior.

Solución
Se parte del esquema archivado antes. Se utilizan tres variables. Por lo tanto
se utilizan tres Digclock de la librería SOURCE.

El circuito con relojes preparado para simular es el siguiente:

60
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:09 PÆgina 61

La simulación queda como sigue.


Puertas lógicas
2

Se comprueba que el cronograma coincide


con la tabla de verdad.

3. Método de Karnaugh de
simplificación de funciones lógicas
El punto que a continuación se desarrolla pretende la minimización tanto a nivel teórico (métodos de
simplificación) como a nivel práctico (utilización del mínimo número de circuitos integrados), de los
circuitos digitales con puertas lógicas.

3.1 Método de Karnaugh (procedimiento)


Todo lo que en la práctica reduzca el número de componentes a utilizar, redundará en la mejora del
diseño puesto que:

) Disminuye el consumo de energía al utilizar menos componentes.


) Reduce el coste, al economizar equipos.
) Produce una reducción física del circuito a realizar.
) Por tener menos complejidad tendrá menos posibilidades de fallos, por tanto más fiabilidad.

Por lo tanto cualquier tipo de simplificación en la función resultante, hará que el diseño se optimice.

Existen diferentes métodos de simplificación de funciones binarias como el método tabular de Karnaugh
y Veitch o el método numérico de Quine-McCluskey. En este apartado se desarrollará el primero.

El procedimiento de simplificación de Karnaugh, consiste en un método tabular gráfico, basado en los


llamados mapas de Karnaugh.

Estos mapas están formados por una tabla de cuadros en la que cada uno de ellos representa un tér-
mino canónico. Se utilizaran solamente para dos (a,b ), tres (a, b, c) y cuatro variables (a, b, c, d) que
son los que se ven en las figuras. En todos los casos la variable de mayor peso es a.

En la figura se observan los mapas de dos y tres variables, con 4 y 8 cel-


das respectivamente.

En la figura siguiente se observa el mapa de Karnaugh para 4 variables


(16 celas), y la tabla de verdad para cuatro variables, (el número que apa-

61
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:09 PÆgina 62

2
Decimal A B C D
Lógica digital y microprogramable

rece dentro de la celda se corresponde con el valor binario dentro de la


0 0 0 0 0 posición en la tabla de verdad, como se observa en la tabla siguiente).
1 0 0 0 1
2 0 0 1 0 Nótese que la secuencia en los mapas no se corresponde con el conta-
3 0 0 1 1 je en binario, sino que es 00, 01, 11, 10. Esto es porque, únicamente,
4 0 1 0 0 cambia el valor de una variable, entre una celda y las contiguas. Por lo
5 0 1 0 1
tanto, representan términos canónicos adyacentes (términos que sólo
6 0 1 1 0
7 0 1 1 1 difieren en un bit) y por esta razón, se pueden simplificar.
8 1 0 0 0
9 1 0 0 1 Reglas de simplificación para grupos de unos
10 1 0 1 0
11 1 0 1 1 1. Las agrupaciones son exclusivamente
12 1 1 0 0 de unos. Esto implica que ningún gru-
13 1 1 0 1 po puede contener ningún cero.
14 1 1 1 0
15 1 1 1 1

2. Las agrupaciones únicamente pue-


den hacerse en horizontal y vertical.

3. Los grupos contendrán 2n elementos, es decir, cada grupo


tendrá 1,2,4,8... número de unos.

4. Cada grupo ha de ser tan


grande como sea posible, tal
como se ilustra en el ejemplo.

5. Todos los unos tienen que pertenecer como mínimo a un


grupo, aunque pueden pertenecer a más de uno.

6. Puede existir solapamiento de


grupos.

62
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:09 PÆgina 63

7. La formación de grupos también se puede producir con las


Puertas lógicas
2
celdas extremas de la tabla, de tal forma que la parte infe-
rior se puede agrupar con la superior y la izquierda con la
derecha, tal y como se observa en los siguientes mapas.

8. Se tiene que obtener el menor


número de grupos posibles,
siempre y cuando no contradi-
ga ninguna de las reglas ante-
riores. Esto es, el número de gru-
pos ha de ser mínimo.

Obtención de la función (Método)


Para el caso del mapa de la figura, se ve qué
términos salen simplificados, teniendo en
cuenta que los unos que no forman grupo no
tienen posibilidad de simplificación.

De cada grupo sale un término, de manera


que únicamente se cogerán las variables que
mantengan el valor en cada grupo, afirmadas
si la variable vale 1 o negada si vale 0.

La función simplificada será:


F = B·C+ A·C·D+ A·B·C·D

Todo este apartado se refiere a simplificación para grupos de unos, obteniéndose, sumas de productos.
De una forma similar se actuaría con los ceros. Dada la extensión del libro esta explicación se hace  Nota:
En el CD
imposible y se remite al lector a la bibliografía. adjunto, se
dispone de una aplica-
ción informática
Karnaugh Minimizer y
un tutorial sobre ella,
3.2 Ejemplos resueltos de simplificación de para la simplificación
de funciones lógicas
funciones lógicas por el método de Karnaugh hasta un máximo de
Sólo se va a utilizar este método para los minterms (términos producto). Es decir, cogiendo solamente
4 bits.
los "unos" de la función.

Ejemplo resuelto 1
Representar en un mapa de Karnaugh la siguiente función y simplificarla:

f = a·b+ a·b + a·b

Solución: a b f
0 0 1
La tabla de verdad será: 0 1 1
1 0 1
1 1 0
Grupo 1 Grupo 1
El mapa será de cuatro celdas y tendrá la siguiente forma: a b a b
0 0 0 0
1 0 0 1

63
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:09 PÆgina 64

2 Lógica digital y microprogramable

) El grupo 1 se corresponde con los términos a '· b ' y a · b '. Se eliminan las variables que no se re-
piten en cada grupo. En este caso quedará como término b ' .
) Por la misma razón en el grupo 2 quedará como término a '.
) La función simplificada será f = a + b y aplicándole De Morgan f = a · b.

Ejemplo resuelto 2
Representar en un mapa de Karnaugh la siguiente función y simplificarla:

f = a·b·c+ a·b·c+ a·b·c+ a·b·c

Solución
a b c F
Se obtiene la tabla de verdad: 0 0 0 1
0 0 1 0
Se dibuja el mapa de ocho celdas,
0 0 1 0
y se colocan en él los "unos". 0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

) El grupo 1 se corresponde con los términos a · b · c ' y a · b · c . Las variables que se repiten
son a · b .
) En el grupo 2 los términos son a · b · c y a · b’ · c. Las variables que se repiten son a · c .
) El grupo 3 no se puede simplificar, quedando el término a ' · b ' · c '.
) La función simplificada será:
f = a·b+ a·c + a·b·c

Ejemplo resuelto 3
Representar en un mapa de Karnaugh la siguiente función y simplificarla:

f =a·b ·c ·d+a·b ·c ·d+a·c ·d+a·c +a·b ·c ·d+a·b ·c ·d+a·b ·c ·d

Solución
Se completan, en primer lugar, los términos que no tienen todas las variables de entrada de la ecua-
ción, a · c · d + a · b · c · d + a · b · c · d + a · c + a · b · c · d + a · b · c · d + a · b · c · d + a · b · c · d

El mapa de Karnaugh tendrá 16 celdas y quedará:

) El grupo 1 se corresponde con los términos a'b'c'd', a'bc'd', abc'd' y ab'c'd'. Los úni-
cos que se repiten son c'd'.

) El grupo 2 (a'b'c'd', a'b'c'd, a'b'cd y a'b'cd' ) quedará A B C D F


a'b' . 0 0 0 0 1
0 0 0 1 0
) El grupo 3 (abcd, ab'cd, abcd' y ab'cd' ) simplificado 0 0 1 0 1
será ac. 0 0 1 1 0
0 1 0 0 0
) La función queda: 0 1 0 1 0
f = a·b+ c ·d + a·c 0 1 1 0 0
0 1 1 1 0
1 0 0 0 1
Ejemplo resuelto 4 1 0 0 1 0
Partiendo de la tabla de verdad (derecha), obtener la función simplificada: 1 0 1 0 1
1 0 1 1 0
Solución 1 1 0 0 1
1 1 0 1 0
En este ejemplo se cogen dos grupos de 4 "unos". Un grupo lo formarán los 1 1 1 0 1
cuatro extremos. 1 1 1 1 0

64
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:09 PÆgina 65

Puertas lógicas

La función simplificada quedará: F = a d + b · d


2
3.3 Funciones incompletas
Existen situaciones en las que determinadas funciones, para algunas combinaciones binarias de las
variables de entrada, pueden tomar indistintamente el valor 0 o el valor 1. Esto puede ser por dos
razones:

) Bien por que dichas combinaciones no se pueden dar.


) Porque es indiferente para el diseño de la aplicación.
Estos valores se representan con una (X) , con un (*), o con un (?) en la tabla de verdad de la función.
Para su simplificación, actuarán como un comodín, es decir, se pueden considerar como un 1 o como
un 0 según interese para la simplificación de la función.

Se entiende que una función es incompleta cuando no está definida para determinadas combinacio-
nes de las variables de entrada.

Un ejemplo: Para poder determinar los meses del año que tienen 31 días. Solamente están definidas
las salidas correspondientes a los valores decimales 1 a 12, que tendrán como salida un 0 o un 1. El
resto de las combinaciones binarias, (0, 13, 14 y 15) no tienen un valor definido. Se pondrá en la tabla
de verdad una X para esas combinaciones.

Para simplificar esas funciones, se pone una "X", en la celda correspondiente del mapa de Karnaugh y
se formarán agrupaciones con ellas solamente si interesa para formar grupos de unos.

3.4 Ejemplos resueltos con funciones incompletas


Ejemplo resuelto 1
a b c F
Partiendo de la tabla de verdad, obtener la función simplificada: 0 0 0 1
0 0 1 1
Solución 0 1 0 0
0 1 1 X
Se dibuja un mapa de ocho celdas
1 0 0 0
y se colocan los "unos" y las "x". 1 0 1 1
1 1 0 X
1 1 1 1

Sólo se utiliza una de las "x" como "1", de esta manera se completa un grupo de cuatro. La otra "x" se
toma como "0". La función simplificada quedará: f = c + a · b

3.5 Ejemplos resueltos de funciones lógicas con


circuitos integrados
Ejemplo resuelto 1
Implementar la siguiente función y realizarla con los integrados descritos

F=a·b+a·c+a·b·c+a·b

65
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:10 PÆgina 66

2 Lógica digital y microprogramable

Solución
) Para implementarla:
) Se simplificase: F = a + b · c +
) Utilizando De Morgan F = a + b · c = a · (b · c )
) El esquema hecho con un
circuito integrado 7400 uti-
lizando las cuatro puertas,
quedaría (figura adjunta):
) El terminal 7 se debe co-
nectar a masa y el 14 a una
tensión de 5 voltios para
alimentar el circuito inte-
grado.

Ejemplo resuelto 2
Diseñar, con el mínimo número de circuitos integrados, el dispositivo de control de un motor median-
te tres pulsadores a, b y c, que cumpla las siguientes condiciones de funcionamiento:

) Al pulsar los tres pulsadores, el motor se activa.


) Al pulsar dos pulsadores cualquiera, el motor se activa y se enciende una lámpara de peligro.
) Si sólo se pulsa un pulsador, el motor no se activa, pero se enciende la lámpara indicadora
de peligro.
) Si no se pulsa ninguno de los pulsadores, el motor y la lámpara están desactivados.
Solución
a b c M L
0 0 0 0 0 Se dibuja el bloque funcional. Por el enunciado, se deduce que
0 0 1 0 1 debe tener tres entradas (los pulsadores) y dos salidas (motor y
0 1 0 0 1
lámpara).
0 1 1 1 1
0 1 0 0 1 ) Teniendo en cuenta el enunciado, la tabla de verdad del
1 0 0 0 0
circuito a implementar será:
1 0 1 1 1
1 1 0 1 1 Al aplicar los mapas de Karnaugh para simplificar las ecuaciones de las salidas, se obtienen los mapas:
1 1 1 1 0

De donde: M = a · b + b · c + a · c y L (1) = a · c + b · c + a · b o L (2) = a · b + a · c + b · c

La variable L tiene dos soluciones. Se utiliza solamente una, por ejemplo, la función L(1).

Para realizar el circuito con el mínimo número de integrados se siguen los siguientes pasos:

) Se aplica De Morgan a las dos ecuaciones, quedando: M = a · b · b · c · a · c y L = a · c · b · c · a · b,


de esta forma se usan solamente puertas NAND.
) Comenzando por las de mayor número de entradas. Son necesarias dos puertas NAND de tres
entradas para realizar el producto negado de los tres términos de cada ecuación. Será pre-
ciso un circuito integrado (CI) 7410 y sobra una puerta
) Para cada término se necesitan 6 puertas NAND de dos entradas. Se utilizan dos CI 7400 y
sobran dos puertas.
) Por último, se necesitan negar las variables de entrada. Como sobran tres puertas NAND, cor-
tocircuitando las entradas se obtienen puertas inversoras.

66
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:10 PÆgina 67

Puertas lógicas
2

) El circuito obtenido será el siguiente:

Ejemplo resuelto 3
Un sistema de alarma tiene cuatro detectores a, b, c
y d, y se rige según los siguientes requisitos:

) El sistema se activará cuando se activen


tres o cuatro detectores.
) Si sólo se activan dos es indiferente la activación o no del sistema.
) El sistema no se debe activar cuando sólo se dispara uno o ningún detector.
) Por razones de seguridad el sistema se activará cuando a=0, b=0, c=0 y d=1.
Solución
) Se dibuja el bloque funcional (figura al margen):
) Se deduce la tabla de verdad (ver a la derecha): a b c d F
0 0 0 0 0
0 0 0 1 1
) Utilizando el programa Karnaugh Minimizer como suma 0 0 1 0 0
de productos se obtiene: 0 0 1 1 X
0 1 0 0 0
F = a · b + d . Usando De Morgan: F = a · b + d = (a · b )+ d . 0 1 0 1 X
El circuito quedará: 0 1 1 0 X
0 1 1 1 1
1 0 0 0 0
1 0 0 1 X
1 0 1 0 X
1 0 1 1 1
1 1 0 0 X
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1

) Obsérvese que en este caso el detector c no sería necesario.


) Se utiliza un chip 7400 en el que sobraría una puerta.
) Es preciso alimentar el integrado.

67
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:10 PÆgina 68

2 Lógica digital y microprogramable

Aplicación práctica

Análisis, captura y simulación con OrCAD


de un circuito básico con puertas lógicas

En esta tarea se distinguen dos partes:

) Desarrollo en papel de la aplicación.


) Captura y simulación, por medios informáticos, del esquema electrónico.

Desarrollo en papel de la aplicación


Implementar un circuito lógico con puertas, y con el mínimo número de integrados posible, que responda al
siguiente enunciado:

"Un jurado consta de tres miembros que deben evaluar el examen de un candidato. El candidato aprobará el
examen sólo si recibe dos o tres votos del jurado. Para votar, los miembros del jurado disponen cada uno de ellos
de un interruptor (A, B y C), de manera tal que activándolo (interruptor = 1), dan su voto favorable al candida-
to y si no lo activan (interruptor = 0) dan su voto negativo al candidato."

Impleméntese un circuito lógico, que efectúe la función que permita determinar si aprueba o suspende un can-
didato.

Tomando como entradas los tres pulsadores A, B y C de que dispone el tribunal, se realiza la tabla de verdad de
la función la tabla se minimiza y se implementa empleando los integrados a los que se hizo referencia ante-
riormente.

Se obtiene la tabla de verdad partiendo del enunciado. Se utiliza el método de Karnaugh o la aplicación infor-
mática Karnaugh Minimizer para simplificar la función. El teorema de De Morgan para obtener la función lógi-
ca utilizando un solo tipo de puertas NAND o NOR. Por último se implementa el circuito utilizando el menor
número de integrados posibles.

Solución: A B C F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

F=A·B·B·C·A·C

Captura y simulación, por medios informáticos, del esquema electrónico


Dibujar, por medio de la aplicación Capture del programa Orcad, el circuito obtenido a partir de la función. A
continuación, dentro del mismo programa y con la aplicación PSpice, se simula el circuito.

Se puede verificar que los resultados de la tarea son correctos por medio de la simulación. Si esta no fuera correc-
ta, se deben de buscar los errores hasta obtener la salida deseada (ver figuras en la página siguiente).

68
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:10 PÆgina 69

Puertas lógicas
2

4. Autoevaluación
Ejercicio 2.1
Realizar las tablas de verdad, para tres variables de entrada, de las puertas NAND, OR y XNOR.

Ejercicio 2.2
Obtener cualquier tipo de puertas (NOT, AND, OR y NOR) partiendo de puertas NAND de dos entradas.
Utilícese De Morgan M = (a + b = a · b )

Ejercicio 2.3
Obtener la función lógica correspondiente al circuito de la
figura:

Ejercicio 2.4
Implementar con puertas lógicas la siguiente función: f 2 = b [(a + c ) + d ] + (c · d )

Ejercicio 2.5
Implementar con puertas lógicas la siguiente función: f3 = a · b · d + b · c · d + a · b · c + a · c · d + a · b · d

Ejercicio 2.6
Implementar la función f = a · b + c con puertas NAND.

Ejercicio 2.7
Realizar un circuito que lleve a cabo la siguiente función f3 = a · b · d + a · b · c + a · c

69
L gica digital y prog_ U 02-final.qxp 16/05/2007 17:10 PÆgina 70

2 Lógica digital y microprogramable

Ejercicio 2.8
Simplificar la siguiente ecuación f = a · b · c + a · c · d + b · d

Ejercicio 2.9
Simplificar la siguiente ecuación f = c · d + a · b · c · d + a · b · c + a · b · c

Ejercicio 2.10
Partiendo de la tabla de verdad, obtener la función simplificada:

a b c d F
0 0 0 0 0
0 0 0 1 0
0 0 1 0 1
0 0 1 1 1
0 1 0 0 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
1 1 1 1 0

Ejercicio 2.11
Una máquina recreativa dispone, en la plataforma que recorre la bola, de cuatro ruptores luminosos a,
b, c y d, que pueden ser activados con la bola en juego.

Diseñar un circuito con integrados comerciales, para que la máquina conceda una bola gratis cuan-
do se pulsen los interruptores correspondientes a las combinaciones binarias equivalentes a los núme-
ros decimales 4, 5, 8, 9, 11, 13 o 15. Se supone que los interruptores que se pulsan quedan activados
mientras siga la misma bola en juego. Se considera el ruptor de mayor peso el a.

70
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:16 PÆgina 71

UNIDAD 3

Familias lógicas

Objetivos
) Conocer las características que definen a los circuitos
integrados digitales
) Estudiar el funcionamiento de los circuitos básicos
de las familias TTL y CMOS
) Estudiar los interfaces de entrada y de salida
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:16 PÆgina 72

3 Lógica digital y microprogramable

1. Diferentes familias lógicas


Las familias lógicas son un conjunto de circuitos integrados digitales que, dentro de una misma tecno-
logía, emplean el mismo tipo de componentes y de circuito base en su estructura.

Todas las tecnologías están basadas en el transistor funcionando en corte y conducción.

En el siguiente esquema se expone la clasificación general de las tecnologías de fabricación mas


comunes y de sus correspondientes familias lógicas:

Tecnología bipolar Tecnología saturada Familias RTL, DTL, TTL


Tecnología no saturada Familias ECL ,TTL Schottky
Tecnología MOS Familias CMOS, PMOS, NMOS

Los circuitos digitales emplean componentes encapsulados, que pueden albergar puertas lógicas o cir-
cuitos lógicos mas complejos.

Estos componentes están estandarizados, para que exista una compatibilidad entre fabricantes, de tal
forma que las características mas importantes sean comunes. De forma general, los componentes lógi-
cos se engloban dentro de una de las dos familias siguientes:

) TTL. Diseñada para alta velocidad.


) CMOS. Diseñada para bajo consumo.

Actualmente, dentro de estas dos familias existen otras, que intentan conseguir lo mejor de las dos: un
bajo consumo y una alta velocidad.

Existe también la familia lógica ECL, que se encuentra a caballo entre la TTL y la CMOS. Esta familia
nació como un intento de conseguir la rapidez de TTL y el bajo consumo de CMOS, pero en raras oca-
siones se emplea.

Tecnología bipolar
Las primeras tecnologías (RTL) combinaron el transistor bipolar con resistencias. La circuitería mejoró
cuando se incorporaron diodos en lugar de resistencias (DTL). Esta, a su vez, fue desplazada por la uti-
lización exclusiva de transistores (TTL). La familia TTL fue la que se implantó rápidamente y los dispo-
sitivos TTL aún mantienen la mas alta cota del mercado de consumo, aunque los tipos originales, si
bien, aún continúan utilizándose, van siendo desplazados por versiones mas actualizadas (mas rápi-
das, con menos consumo, etc.) de la misma familia.

La última familia que se cita usando transistores bipolares, la familia ECL, utiliza transistores funcio-
nando en activa (no como los anteriores que funcionan solo en corte y saturación), con lo que se alcan-
za la máxima velocidad de conmutación (circuitos mas rápidos); con todo, sus aplicaciones son mucho
mas limitadas.

Tecnología MOS
En paralelo con el desarrollo de los transistores de efecto de campo MOS, aparece la tecnología CMOS
que aporto significativas ventajas, principalmente en cuanto a consumo (mas reducido) y densidad de
integración (mayor).

En el momento actual, las familias TTL y CMOS dominan el mercado aunque existen familias nuevas
que se utilizan en campos muy específicos que, por las limitaciones de espacio, no trataremos.

1.1 Características básicas de los


circuitos integrados
Son los conceptos y definiciones generales necesarios para comprender las características de una puer-
ta lógica, con independencia de la tecnología digital utilizada.

72
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:16 PÆgina 73

Familias lógicas

Se denomina circuito integrado (CI) a un componente electrónico constituido por un soporte físico
3
(oblea de silicio) sobre la que se integran componentes (transistores, resistencias, condensadores, etc..)
interconectados entre sí, formando circuitos mas o menos complejos.

Las tecnologías de fabricación fueron solucionando problemas de disipación de potencia y miniaturi-


zación, estableciéndose una clasificación, denominada escala de integración, que indica la cantidad
de puertas lógicas que contiene un circuito integrado.

Escalas de integración Nº de puertas Funciones


SSI (Small Scale of Integration)
Pequeña escala de integración 1 a 10 Puertas lógicas y biestables.
MSI (Medium Scale of Integration)
Mediana escala de integración 10 a 100 Sumadores, registros, contadores, etc.
LSI (Large Scale of Integration)
Gran escala de integración 100 a 1000 Memorias, microcontroladores y periféricos.
VLSI (Very Large Scale of Integration)
Muy alta escala de integración 1000 a 10000 Memorias, microprocesadores y periféricos.
ULSI (Ultra Large Scale of Integration)
Ultra alta escala de integración 10000 a 100000 Microcomputadores, memorias y periféricos.
GLSI (Giga Large Scale of Integration)
Giga alta escala de integración Mas de 10000 Microcomputadores, memorias y periféricos.

Las características de las puertas lógicas (consumo, velocidad, niveles lógicos, inmunidad al ruido, ali-
mentación, etc.) dependen de la tecnología empleada en su construcción.

1.2 Características generales de los circuitos


integrados digitales
Las puertas lógicas no son dispositivos ideales, por lo que tienen una serie de limitaciones impuestas
por el propio diseño interno de los dispositivos lógicos. Internamente la familia TTL emplea transisto-
res bipolares (de aquí su alto consumo), mientras que la familia CMOS emplea transistores MOS (a lo
que debe su bajo consumo).

Definiremos las siguientes características para los CI:

Margen del cero


Es el rango de tensiones de entrada en que se considera un cero lógico:
VILmáx: tensión máxima que se admite como cero lógico.
VILmín: tensión mínima que se admite como cero lógico.

Donde: L= Low (bajo), H= High (alto), I= Input (entrada) y O= Output (salida)

Margen del uno


Es el rango de tensiones de entrada en que se considera un uno lógico:
VIHmáx: tensión máxima que se admite como uno lógico.
VIHmín: tensión mínima que se admite como uno lógico.

Margen de transición
Se corresponde con el rango de tensiones en que la entrada es indeterminada y se puede tomar como
un uno o un cero. Esta zona no debe ser empleada nunca, ya que la puerta se comporta de forma inde-
terminada.

MT = VIHmín - VILmáx

73
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:16 PÆgina 74

3 Lógica digital y microprogramable

Ruido
El ruido es el elemento mas común que puede hacer que un circuito no funcione correctamente aun-
que esté bien diseñado. El ruido puede ser inherente al propio circuito (como consecuencia de la pro-
ximidad entre pistas o capacidades internas), o también, como consecuencia de ruido exterior (o pro-
pio de un ambiente industrial).

Cuando se trabaja muy cerca de los límites impuestos por VIH y VIL puede que el ruido impida el
correcto funcionamiento del circuito. Por eso es preciso trabajar teniendo en cuenta una margen de
ruido:
VNMH (margen de ruido a nivel alto) = VOHmín - VIHmín
VNML (margen de ruido a nivel bajo) = VILmáx - VOLmáx

El subíndice N= Noise (ruido).

VOH y VOL son los niveles de tensión del uno y el cero respectivamente para la salida de la puerta lógica.

La inmunidad al ruido o margen de ruido será el menor de los dos valores.

Para el caso en que se trabaja a un nivel bajo de VOL = 0,4 V con VILmáx = 0,8 V, en estas condiciones
se tiene un margen de ruido para nivel bajo de:

VNML = 0,8 - 0,4 = 0,4 V

Fan-o
out
Es el máximo número de puertas que se pueden excitar sin salir de los márgenes garantizados por el
fabricante. Asegura que en la entrada de las puertas excitadas:
VOH es mayor que VOHmín
VOL es menor que VOLmín

Para el caso en que el fan-out sea diferente a nivel bajo y a nivel alto, se escoge el fan-out más bajo
para los diseños.

Si además el fabricante no proporcionase el fan-out, este se puede calcular como el resultado más bajo
de estas dos expresiones:

fan-outL = IOLmáx / IILmáx o fan-outH= IOHmáx / IIHmáx

Donde IOL, IOH, IIL y IIH son las corrientes de salida y entrada de puerta.

Potencia disipada o consumo


Es la media de la potencia disipada a nivel alto y bajo. Se traduce en la potencia media que la puer-
ta va a consumir:

PD = VCC · (ICCH+ICCL )/2

Donde ICCH es la corriente suministrada con las salidas a nivel alto y ICCL es la corriente suministrada
con las salidas a nivel bajo.

Tiempos de propagación

Se define como el tiempo de propagación: el tiempo transcurrido desde que la señal de entrada pasa
por un determinado valor hasta que la salida reacciona a ese valor.

Existen dos tiempos de propagación:


TpHL= tiempo de paso de nivel alto a bajo.
TpLH = tiempo de paso de nivel bajo a alto.

Como norma se emplea el tiempo medio de propagación, que se calcula como:

TpD = (TpHL + TpLH)/2

74
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:16 PÆgina 75

Frecuencia máxima de funcionamiento


Familias lógicas
3
Se define como la rapidez con la que la puerta va a responder a las variaciones de los valores de
entrada.

Las señales de entrada no pueden variar a frecuencias superiores a la que se obtiene por la ecuación:

fmáx = 1 / (4 •TpD)

1.2.1 Ejemplos resueltos para el cálculo de los parámetros de


los circuitos integrados partiendo de las hojas de datos
Interpretación de las hojas de características (data sheets) de los
circuitos integrados
Una vez vistos los principales parámetros que definen los circuitos integrados, se va a estudiar las
hojas de características de los integrados 74C00, 74C02 y 74C04 de la empresa Fairchild.

En la primera hoja aparecen los siguientes apartados:


) Fabricante: FAIRCHILD Semiconductor.
) Fecha de creación: Marzo 1998.
) Nombre del componente: DM74LS00. Cuatro puertas NAND de dos entradas.
) Descripción general (General Description): indica el tipo, las ventajas y los aspectos mas relevan-
tes del componente.
) Features (características): muestra la posibilidad del mismo dispositivo en la serie militar 54LS00.
) Conection Diagram, esquema con el diagrama de conexiones.

En la segunda hoja, aparecen cuatro campos:


) Valores máximos (Absolute Maximum Ratings) son los valores extremos de trabajo del circuito
integrado.
) Condiciones de trabajo recomendadas (Recommended Operating Conditions).
) Características eléctricas (Electrical Characteristics).
) Características de conmutación (Switching Characteristics). También llamadas características
dinámicas.

Ejemplo resuelto 1

Utilizando estas hojas de datos (ver página siguiente), calcúlense las siguientes características:

) Margen de transición.

) Margen de ruido.

) Fan-out.

) Potencia disipada.

) Tiempo medio de propagación.

) Frecuencia máxima de trabajo.

75
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:17 PÆgina 76

3 Lógica digital y microprogramable

76
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:17 PÆgina 77

Familias lógicas
3

77
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:17 PÆgina 78

3 Lógica digital y microprogramable

Solución
) En las hojas de datos se tiene:
VILmax = 0,8v VILmin=0v

VIHmax = 5v VIHmin=2v

) Por lo tanto el margen de transición:


MT=VIHmin - VILmax =2-0,8=1,2v

) De las hojas de datos se recoge:


VOHmin = 2,7v VOLmax = 0,5v

) El margen de ruido será el menor de estos dos:


VNMH =VOHmin - VIHmin = 2,7-2=0,7v

VNML =VILmax - VOLmax = 0,8-0,5=0,3v

Por lo que la inmunidad al ruido es VNM =0,3v.

) Para calcular el fan-out se necesitan los valores de corriente de las hojas de datos:
IOLmax =8mA IILmax =-0,36mA IOHmax = -0,4mA IIHmax = 0,02mA

Utilizando las ecuaciones:

fan-outL = IOLmáx / IILmáx = 8 / 0,36 = 22 o fan-outH = IOHmáx / IIHmáx = 0,4/0,2 = 20

El fan-out será el mas bajo de los dos por lo tanto fan-out=20.

) Para calcular la potencia disipada, se cogen los valores típicos, es decir:


ICCH = 0,8mA y ICCL = 2,4mA

Se hace el cálculo con la expresión:

PD = VCC · (ICCH+ICCL)/2 = 5 · (0,8+2,4)/2 = 8mW

) El tiempo medio de propagación vendrá dado por la media, de los valores máximos y en el peor
de los casos, de los tiempos de paso de nivel alto a bajo y viceversa:
TPHL = 15ns y TPLH = 15ns

Por lo tanto el tiempo medio de propagación será de TPD = 15ns.

) Por último, se calcula la frecuencia máxima de trabajo que viene dada por la expresión:
fmáx = 1 / (4 · TpD) = 1/(4 · 15ns) = 16,7MHz

2. Familia lógica TTL


2.1 Principios de la tecnología bipolar
Como ya se comentó, la célula básica de una puerta lógica es el transistor, que puede trabajar en dos
estados: corte y conducción, generando así los dos niveles lógicos (L y H, 0 y 1) típicos de los circuitos
digitales. Por este motivo, se describe primeramente el funcionamiento del transistor bipolar.

El transistor bipolar. Construcción y funcionamiento


El símbolo del transistor bipolar con sus 3 terminales (emisor, base y colector) es el representado en la
figura. Un BJT (Bipolar Junction Transistor o transistor bipolar) tiene dos uniones: la unión base-emi-
sor y la unión base-colector.

78
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:17 PÆgina 79

Existen dos tipos de transistores BJT: los NPN y PNP


Familias lógicas
3
El transistor se gobierna con la tensión aplicada a la base a
través de la resistencia de base (RB) que es la que limita la
corriente en la unión base-emisor.

El transistor presenta dos estados, el de corte y el de conduc-


ción, por lo que es capaz de entregar 2 niveles de tensión Transistor NPN Transistor PNP
claramente diferenciados (L y H o 0 y 1).

La operación básica de conmutación, para


un transistor tipo NPN, es la siguiente:
cuando la base es 0,7 V (aproximadamente)
mas positiva que el emisor y se proporciona
suficiente corriente a la base, el transistor
conduce y entra en saturación (cuando con-
duce, normalmente lo hace en saturación
ya que, la intensidad es máxima en este
modo de trabajo). Idealmente, en satura-
ción, el transistor actúa como un interruptor
cerrado entre el colector y el emisor, como
ilustra la figura.

Cuando la base está a menos de 0,7 V por El transistor saturado equivale El transistor en corte equivale
a un interruptor cerrado a un interruptor abierto
encima del emisor, el transistor no conduce,
y actúa como un interruptor abierto entre el
colector y el emisor como muestra la figura.

Resumiendo, para un transistor NPN:


) Un nivel alto en la base pone en conducción y satura (ON ) al transistor, por lo que actúa como
un interruptor cerrado.
) Un nivel bajo en la base bloquea (OFF ) al transistor y trabaja como un interruptor abierto.

2.2 Características de la familia lógica TTL


Dentro de la familia TTL se encuentran las siguientes sub-familias:
) L: Low power = disipación de potencia muy baja
) LS: Low power Schottky = disipación y tiempo de propagación pequeño.
) S: Schottky = disipación normal y tiempo de propagación pequeño.
) AS: Advanced Schottky = disipación normal y tiempo de propagación extremadamente pequeño.

Tensión de alimentación
CMOS: 5 a 15 V (dependiendo de la tensión se tiene un tiempo de propagación diferente).
TTL: 5 V.

Temperatura máxima de trabajo


Existe un intervalo de temperaturas para el que se garantiza el funcionamiento de los circuitos integra-
dos digitales: el intervalo "normal" de funcionamiento va de -40ºC a 85ºC para CMOS y de 0ºC a 70ºC
en TTL (ambos casos se refieren a la serie conocida con el indicativo 74 que se verá a continuación).

Existen, además, series denominadas "militares" para aplicaciones que requieren un mayor rango de
temperaturas, de -55ºC a 125ºC. Se distinguen, porque su numeración empieza por 54 y su encapsu-
lado (revestimiento externo) es cerámico.

Hay que tener en cuenta que las características de una puerta lógica varían fuertemente con la tem-
peratura; en general empeoran al aumentar la temperatura, lo que se refleja en la reducción de los
márgenes de ruido y de la velocidad de trabajo y en un aumento del consumo. El mismo circuito des-

79
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:17 PÆgina 80

3 Lógica digital y microprogramable

prende calor, como consecuencia de la disipación de la energía que utiliza en su funcionamiento y


causa una elevación de su temperatura que, en ocasiones, puede ser importante. Por esto, el diseño de
un sistema digital debe de tener en cuenta el rango de temperaturas en el que va a trabajar y, si es
preciso, debe añadirse un mecanismo de refrigeración adecuado.

Otra indicación de temperatura que proporcionan los catálogos es el rango que soportan los circuitos
integrados para su almacenamiento, que normalmente es de -65ºC a 150ºC.

2.3 Descripción de la familia lógica TTL


La familia original TTL se indica con los números 54/74. Con el avance que experimentó la tecnología
de fabricación desde su introducción, aparecieron en el mercado, familias mejoradas basadas en la tec-
nología bipolar que buscaban optimizar algunos de los parámetros descritos en el apartado anterior.

TTL de bajo consumo (54L/74L)


Esta familia se distingue por su bajo consumo de potencia (L=LOW POWER ). Ello se consigue aumen-
tando los valores de las resistencias de polarización de los diferentes transistores, con lo que disminu-
ye la corriente que circula por el sistema y, por lo tanto, la potencia disipada. Si la potencia disipada
en una puerta típica de la familia 54/74 es de 10 mW, la de la puerta equivalente en la versión 54L/74L
es de 1 mW.

El ahorro de potencia se paga con una perdida en la velocidad: de los 10 nsg de retardo típico en la
familia original se pasa a los 33 nsg de retardo en esta familia.

TTL Schottky (54S/74S)


Esta serie proporciona unos tiempos de conmutación menores, gracias a la incorporación de diodos
Schottky que evitan que los transistores entren en saturación, disminuyendo el tiempo que tarda el
transistor en entrar y salir de la conducción. El retardo típico es de 3 nsg. y la disipación de potencia
de 19 mW.

TTL Schottky de bajo consumo (54LS/74LS)


Esta familia proporciona un compromiso entre velocidad y baja disipación de potencia utilizando altos
valores de resistencias y transistores de tipo Schottky. La disipación de potencia típica de una puerta
es de 2 mW y el retardo de propagación de 10 nsg.

Schottky avanzada y Schottky de bajo consumo avanzada (AS/ALS)


Estas tecnologías suponen versiones avanzadas de las series S y LS. La disipación de potencia estáti-
ca típica es de 8,5 mW para la serie AS y 1 mW para la serie ALS. Los tiempos de retardo de propaga-
ción típicos son de 1,5 nsg para AS y 4 nsg para ALS. Existe una versión AS que se denomina F o FAST
(rápida).

2.4 Consideraciones prácticas sobre el uso de TTL


Circuitos en colector abierto
Un circuito TTL típico tiene limitada la cantidad de corriente que puede absorber en el estado bajo
(IOLmax) a 16 mA para la serie estándar y a 20 mA para la serie AS. En muchas aplicaciones es nece-
sario excitar dispositivos como relés, lámparas, LEDs, etc, que necesitan de un consumo mayor. Para
estos dispositivos se utilizan salidas en colector abierto, debido a su mayor capacidad de manejo de
corriente y tensión. Una puerta buffer (amplificadora o excitadora) en colector abierto típica puede
absorber hasta 40 mA (ver figura en la página siguiente)

Alimentación
La alimentación debe estar regulada para que esté comprendida entre 4,75v y 5,25v.

80
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:17 PÆgina 81

2.5 Entradas TTL


Familias lógicas
3
no utilizadas
Una entrada desconectada TTL actúa como un nivel lógico
alto, ya que la unión emisor-base en el transistor de entrada
está polarizada en inversa, no obstante, es mejor no dejar
desconectadas las entradas no utilizadas, ya que son muy
sensibles al ruido. Para evitarlo existen varias alternativas:
Puerta NAND en colector
abierto, utilizada para un
) Entradas unidas. diodo LED.
En este caso es necesario una
Es el método mas común y consiste en conectar las resistencia para limitar la
entradas no usadas a una entrada que se use. Este intensidad.
Circuito equivalente
método tiene el inconveniente de que, para las puertas
excitadoras, estas entradas suponen cargas adiciona-
les, por lo que aumentan los requerimientos de consu-
mo de las mismas.

) Entradas conectadas a Vcc o a masa.


Las entradas no utilizadas en las puertas NAND o AND
se pueden conectar a Vcc a través de una resistencia de
Puerta NAND en colector
1 K. Las entradas no utilizadas de las puertas OR o abierto, utilizada para la
NOR se conectan a masa. excitación de una lámpara.
La tensión de alimentación de Circuito equivalente
la lámpara es diferente de la
) Entradas conectadas a una salida no utilizada. tensión de alimentación
Este método es adecuado cuando se dispone de puer-
tas no utilizadas en el circuito. De nuevo la salida de la
puerta utilizada debe ser un nivel alto constante para las entradas no utilizadas de puertas AND
y NAND y un nivel bajo para las puertas NOR y OR.

Entradas unidas Entrada conectada Entrada conectada a una


a otras entradas a la alimentación puerta no utilizada

2.6 Ejemplos resueltos para el cálculo de las


características de los circuitos integrados
digitales de la familia TTL
Ejemplo resuelto 1
Utilizando las hojas de características adjuntas, cumplimentar la siguiente tabla.

CIRCUITO INTEGRADO POTENCIA DISIPADA RETARDO DE PROPAGACIÓN FRECUENCIA MÁXIMA


DM7400
DM74S00
DM74LS00
DM74AS00
DM74ALS00

81
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:17 PÆgina 82

3 Lógica digital y microprogramable

Solución

CIRCUITO INTEGRADO POTENCIA DISIPADA RETARDO DE PROPAGACIÓN FRECUENCIA MÁXIMA


DM7400 40mW 18ns 13,5MHz
DM74S00 75mW 15ns 16,7MHz
DM74LS00 8mW 15ns 16,7MHz
DM74AS00 37,5mW 4,25ns 58,8MHz
DM74ALS00 9,625mW 9,5ns 26,3MHz

Ejemplo resuelto 2
Utilizando el programa informático OrCAD, determinar los tiempos de propagación de paso de nivel
alto a bajo (TpHL) y de paso de nivel bajo a alto (TpLH), para una puerta NAND del CI 7400.

Solución
Utilizando la aplicación Capture, se dibuja un circuito con una
puerta NAND de un 7400. Se le aplican las entradas de los relo-
jes, uno de 0,5 us por pulso y el otro de 1us. Obteniéndose el
esquema de la figura.

Simulando el circuito, y dándole un tiempo de simulación (Run to


time) de 5 us, (en caso de duda, consultar el tutorial correspon-
diente de la unidad didáctica 2) la simulación obtenida será:

Utilizando el zoom (en la ventana de simulación, barra de herramientas View → Zoom → In) repeti-
das veces y colocando el ratón en el tiempo de simulación 2,0 us y pulsando el botón derecho (paso
de nivel alto a bajo en la salida), obtenemos la siguiente pantalla.

En la barra de herramientas, se activa


Trace → Cursor → Display. Aparecerá
la pantalla Probe cursor como se
observa en la figura:

Con el botón izquierdo del ratón pul-


sado, llevamos el cursor a 2.0000 us

82
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:18 PÆgina 83

(en la ventana Probe cursor


Familias lógicas
3
se corresponde a A1) y con el
botón derecho del ratón pul-
sado llevamos el cursor
correspondiente al flanco de
bajada de la señal de salida
U1A:Y (en la ventana Probe
cursor se corresponde a A2),
el valor dif será el tiempo de
propagación de paso de nivel
alto a bajo (TpHL) en este
caso:

TpHL = 7 ns

Utilizando el método anterior


para calcular el tiempo de
propagación de nivel bajo a
alto se obtiene:

TpLH = 11 ns

Según esto:
TpD = (TpHL + TpLH)/2 = (7 + 11)/2 = 9 ns

Y la frecuencia máxima de funcionamiento:


fmáx = 1 / (4 •TpD) = 28 MHz

3. Familia lógica CMOS


3.1 Principios de la tecnología MOS
La familia CMOS, está constituida por transistores unipolares MOS de canal N y canal P. Se caracteri-
za frente a la familia TTL por tener un consumo mas bajo y, como contrapartida, es más lenta.

El transistor MOS. Construcción y funcionamiento


Los símbolos de los transistores NMOS (MOS canal
N) y PMOS (MOS canal P), cos sus terminales dre-
nador (Drain) D, fuente (Source) S y puerta (Gate)
G son los representados en la figura.

Los transistores MOS se gobiernan con la diferen-


cia de potencial aplicada entre la puerta y la fuen-
te (VGS)

El transistor presenta dos estados, el de corte (OFF ) MOS canal N MOS canal P
y el de conducción (ON ), por lo que es capaz de
entregar 2 niveles de tensión claramente diferen-
ciados (L y H o 0 y 1).

83
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:18 PÆgina 84

3 Lógica digital y microprogramable

En el transistor NMOS, la operación básica de


conmutación es la que sigue:
) Cuando la tensión VGS = VDD, el transistor
conduce. Es decir, actúa como un interruptor
cerrado entre drenador y fuente.
) Cuando la tensión VGS = 0, el transistor no
conduce y actúa como un interruptor abierto
entre drenador y fuente, tal como se muestra
Transistor en conducción equiva Transistor en conducción equiva- en la figura.
lente a un interruptor cerrado lente a un interruptor abierto
En el transistor PMOS, la operación es similar:
) Cuando la diferencia de potencial VGS = -VDD,
el transistor conduce, actúa como un inte-
rruptor cerrado entre drenador y fuente.
) Cuando la tensión VGS = 0 el transistor no
conduce y actúa como un interruptor abierto
entre drenador y fuente, como se muestra en
la figura.

Transistor en conducción equiva Transistor en conducción equiva-


lente a un interruptor cerrado lente a un interruptor abierto

3.1.1 Familias CMOS


La familia CMOS (Complementary MOS o MOS complementaria) está formada por transistores MOS de
canal P y canal N exclusivamente, no utilizando otro tipo de componentes, lo que la hace destacar por
su simplicidad. Esto último, unido a su bajo consumo, favorece un elevado nivel de integración y un
coste mas reducido de fabricación.

CMOS estándar (serie 4000, 4000A, 4000B y 4000UB)


La primera serie CMOS utilizó el indicativo 40. Admite un amplio intervalo de tensiones de alimenta-
ción, desde 3 a 18 voltios. Su velocidad depende de la alimentación:
) Para Vcc=3 V, el retardo de puerta es de 200 nsg (1 MHz de frec. de reloj).
) Para Vcc= 15 V, el retardo es de tan solo 20 nsg. (10 MHz de frec. de reloj).

Como referencia, se indican a continuación las principales características de la familia CMOS 4000:
) 4000A: alimentación comprendida entre 3 y 12 V. Corriente de salida 0,5 mA. Tiempo de propa-
gación 125 ns.
) 4000B: alimentación comprendida entre 3 y 18 V. La letra B, indica buffered o de excitación que
permite corrientes de salida de 1mA.
) 4000UB: las letras UB significan unbuffered que indica que se suprimió el buffer, diminuyendo
la corriente de salida pero también diminuyendo el retardo de propagación a 90 ns.

CMOS-TTTL (series 54C/74C)


La difusión obtenida por la familia TTL obligó a fabricar circuitos CMOS con la misma disposición de las
puertas en los circuitos integrados (líneas de alimentación, terminales, número de patillas, etc.) lo que
generó la familia 74C (compatible). Las características de esta serie son muy parecidas a la familia 40.

Igual que en la familia TTL, la serie 54 es la conocida como “militar” y la 74 es la comercial.

CMOS de alta velocidad (HCMOS, serie 54HC/74HC)


Con las mejoras en los procesos de fabricación se desarrollo la serie 74HC (alta velocidad) y 74HCT (alta
velocidad compatible con los niveles TTL). Estas series ofrecen características muy similares a la serie
LS, pero con unos consumos mucho menores. Por estos motivos son las más utilizadas en la actualidad.

84
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:18 PÆgina 85

Comparativa TTL-C
CMOS
Familias lógicas
3
En esta primera tabla se muestran los datos mas importantes de las series analizadas, TTL y CMOS,
donde se pueden observar las diferencias de comportamiento tanto en consumo como en frecuencia de
operación.

CMOS TTL
Tecnología 74HC 40000 74 74LS 74S 74ALS 74AS
Dispación de Potencia (mW Puerta
Estática 0,0000025 0,001 10 2 19 1 8,5
A 100 KHz 0,17 0,1 10 2 19 1 8,5
Tiempo de retardo de propagación 8 50 10 10 3 4 1,5
ns (C1 = 15pF)
Frecuencia máxima de reloj (MHZ) 40 120 35 40 125 70 200
(C1 = 15pF)
Fan-out
Carga LS 10 4 40 20 50 20 50
Misma serie * * 10 20 20 20 40
Corriente de entrada máxima 0,001 -0,001 -1,6 -0-41 -2,0 -0,1 -0,5
LS(mA)
* el fan-out depende de la frecuencia

Por otra parte, los circuitos CMOS tienen


Margen de ruido (V) 74HC 74 74LS 74S 74AS
una mejor inmunidad al ruido que cual-
quiera de la serie TTL, como se puede VNH 1,4 0,4 0,7 0,7 0,7
observar en la siguiente tabla de margen VNL 0,9 0,4 0,4 0,4 0,4
de ruido, tanto para valor alto como para
valor bajo.

3.1.2 Interfaces entre familias lógicas


En algunas ocasiones, el diseñador de sistemas digitales, necesita utilizar en un mismo diseño, circui-
tos correspondientes a distintas familias lógicas. En este caso, un aspecto importante a tener en cuen-
ta es el de asegurar la compatibilidad entre los circuitos que se deben conectar.

Para conectar distintas familias lógicas, se debe garantizar su compatibilidad, tanto de tensión como
de corriente.

Compatibilidad de tensiones
Al conectar la salida de un circuito con la entrada de otro se debe cumplir:
VOLmax < VILmax VOHmin > VIHmin

Esta última condición, la de nivel alto, es la que principalmente se debe considerar, ya que el nivel
bajo por ser próximo a cero, frecuentemente se cumple.

La interfaz consiste habitualmente en aumentar o disminuir la tensión de salida VOH para que se cum-
pla esta condición.

Compatibilidad de corrientes
Al conectar la salida de un circuito con la entrada de otro se debe de cumplir que el circuito que ataca
o excitador, debe suministrar la suficiente corriente en su salida como exija la entrada del circuito
excitado.

Por lo tanto, deben cumplir las siguientes condiciones en los diferentes niveles lógicos:
| IOHmax | > | IIHmax | nivel alto
| IOLmax | > | IILmax | nivel bajo

85
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:18 PÆgina 86

3 Lógica digital y microprogramable

3.2 Ejemplos resueltos de conexiones entre


familias lógicas
La siguiente tabla ayuda a comprender mejor la forma correcta de conectar puertas lógicas de diferen-
tes familias. En la misma se recogen los valores típicos, en el peor caso, de los parámetros de entrada
y salida para varias familias.

Parámetro 74HC 74 74LS 74S 74AS


VIH (min) (V) 3,15 2 2 2 2
VIL (máx) (V) 1 0,8 0,8 0,8 0,8
VOH (min) (V) 4,9 2,4 2,7 2,7 2,7
VOL (máx) (V) 0,1 0,4 0,4 0,5 0,5
VIH (máx) 1 μA 40 μA 20 μA 50 μA 200 μA
VIL (máx) -1 μA -1,6 μA -400 μA -2 μA -2 μA
VOH (máx) -4 μA -400 μA -400 μA -1 μA -2 μA
VOL (máx) 4 μA 16 μA 8 μA 20 μA 20 μA

Ejemplo resuelto 1
Realizar la interfaz CMOS-TTL considerando los valores de la tabla anterior.

Solución
Observando la tabla se ve que, VOHmin=4,9V de la puerta CMOS es mayor que VIHmin=2V de la puerta
TTL, en este caso la familia CMOS es compatible con la TTL para el nivel alto. Por otra parte,
VOLmax=0,1V de la puerta CMOS es menor que VILmax=0,8V, por lo que también es compatible para el
nivel bajo.

En términos de corrientes, CMOS puede absorber 4 mA de IOLmax para el estado de salida bajo, cuan-
do excita a una puerta TTL, la puerta CMOS debe absorber 2 mA de cada entrada TTL IILmax.

Ejemplo resuelto 2
Realizar la interfaz TTL-CMOS considerando los valores de la tabla anterior.

Solución
En este caso las tensiones mínimas de salida para el nivel alto en una TTL VOHmin son de 2,4V a 2,7V,
mientras que la tensión mínima requerida para la entrada en nivel alto de la serie CMOS es de 3,15V.
Por lo tanto, la tensión de salida TTL no es suficiente para excitar un dispositivo CMOS. En el estado
bajo, sin embargo, las tensiones son compatibles.

Para establecer la adecuada interfaz TTL-CMOS, se debe añadir una resistencia de pull-up (Rp) conec-
tada a Vcc

El valor de la resistencia Rp se calcu-


la en función de la intensidad que
debe absorber la puerta excitadora
tanto de las entradas CMOS a las que
está conectada como a la corriente de
la resistencia:

Vcc - VOL(mim)
RP = --------------------------------------------------------
Interfaz TTL-CMOS Interfaz CMOS-TTL IOL(TTL) + nIIL(CMOS)

Donde n es el número de entradas CMOS que están conectadas a la puerta excitadora.

86
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:18 PÆgina 87

Familias lógicas
3
Aplicación práctica 2:
Análisis, captura y simulación con OrCAD
de un circuito con puertas lógicas
Diseñar un sistema digital de detección de alarmas y protección de una vivienda con el esquema de bloques
siguiente:

A S

V1 SISTEMA LV

V2 DIGITAL LP

Que tenga las siguientes condiciones de funcionamiento:


) Dispone de un sensor P alojado en la puerta y dos sensores V1 y V2 en dos ventanas exteriores. Estos
sensores entregan a su salida un nivel de tensión alto si la puerta o la ventana correspondiente están
abiertas, en caso contrario el nivel de tensión será bajo.
) El sistema se pone en marcha desde el exterior activando la entrada A. Esta entrada tiene que estar en
“1” para que el dispositivo sonoro funcione.
) Cuando el sistema esta activado (A=1), la apertura de la puerta o de una de las ventanas hará que el
dispositivo sonoro S se active.
) Si el sistema está desactivado una lámpara LV, que se activa con un “1”, informa de que todas las ven-
tanas están cerradas cuando dicha lámpara esta apagada.
) La lámpara LP, avisa poniéndose a uno, cuando la puerta está abierta y el sistema desactivado.
) Utilizar el programa OrCAD, para determinar los tiempos de propagación, de paso de nivel alto a bajo y
viceversa, entre las entradas y las salidas, para cada una de las salidas.
) Una vez realizado el montaje de la práctica en el entrenador. Medir con el polímetro, las tensiones a nivel
alto y bajo en cada una de las entradas y salidas del circuito, dando el resultado en una tabla.
Solución:
A V1 V2 P S LV LP
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 0 0 1 0
0 0 1 1 0 1 1
0 1 0 0 0 1 0
0 1 0 1 0 1 1
0 1 1 0 0 1 0
0 1 1 1 0 1 1
1 0 0 0 0 0 0
1 0 0 1 1 0 0
1 0 1 0 1 0 0
1 0 1 1 1 0 0
1 1 0 0 1 0 0
1 1 0 1 1 0 0
1 1 1 0 1 0 0
1 1 1 1 1 0 0

S = A·V1·A·V2·A·P
S = A·V1·A·V2
S = A·P

87
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:18 PÆgina 88

3 Lógica digital y microprogramable

Captura y simulación, por medios informáticos, del esquema electrónico

Montaje y puesta a punto de la aplicación


Se puede verificar que los resultados de la tarea son correctos, utilizando los interruptores del entrenador (simu-
lando las entradas) y los diodos LED, para comprobar las salidas.

En el mismo montaje se comprobará y tomará nota:

) Del comportamiento, ante determinadas variaciones del mismo (falta de alimentación en algún circuito
integrado, terminales de entrada sin conectar, cables mal conectados, etc.).
) De las posibles incidencias a lo largo del desarrollo de este punto.

88
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:18 PÆgina 89

Familias lógicas
3
4. Autoevaluación
Ejercicio 3.1
Utilizando el programa informático OrCAD, determinar los tiempos de propagación de paso de nivel
alto a bajo (TpHL), de paso de nivel bajo a alto (TpLH), el tiempo medio de propagación y la frecuencia
máxima de funcionamiento, para una puerta OR del CI 7432.

Ejercicio 3.2
Utilizando el programa informático OrCAD, determinar los tiempos de propagación de paso de nivel
alto a bajo (TpHL), de paso de nivel bajo a alto (TpLH), el tiempo medio de propagación y la frecuencia
máxima de funcionamiento, para dos puertas NOT del CI 7404 conectadas una a continuación de la
otra (en cascada).

89
L gica digital y prog_ U 03-final.qxp 16/05/2007 17:18 PÆgina 90
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 91

UNIDAD 4

Bloques funcionales combinacionales

Objetivos
) Analizar el funcionamiento de los sistemas digitales imple-
mentados con los circuitos funcionales combinacionales.
) Interpretar los catálogos técnicos y comerciales que descri-
ben estos circuitos.
) Realizar simulaciones, utilizando la plataforma informática
OrCad
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 92

4 Lógica digital y microprogramable

1. Bloques funcionales
combinacionales: Codificadores
Los bloques funcionales combinacionales son circuitos implementados con puertas lógicas, que se
comercializan en circuitos integrados de escala de integración media (MSI, Medium Scale Integration)
y que realizan operaciones útiles como comparaciones, selección de datos, conversiones de un código
a otro, etc.

1.1 Codificadores
La conversión de números decimales a números codificados en binario es realizada por los bloques
funcionales combinacionales llamados codificadores.

Los circuitos codificadores son el primer bloque de muchos sistemas digi-


tales, ya que realizan la conversión de los números decimales a un código
binario. Son el enlace entre los teclados y los sistemas digitales en la forma
que se representa en la figura.

Al pulsar uno de los nú-


meros, se activa a línea co-
rrespondiente en la salida
del teclado. Supóngase que la tecla pulsada es el 2. En
la salida del teclado se tendría:

La combinación de ceros y unos en la salida del teclado


no es un número binario. Si fuese así, y el bit de mayor
peso fuese el correspondiente a la entrada 9 del codifi-
cador, el número sería el 0000000100, es decir, el 4. El
1 en la salida 2 del teclado informa de que la tecla pulsada es la correspondiente al 2 decimal y por
eso esa combinación de unos y ceros puede ser considerada un número decimal. El codificador recibe
en su entrada números decimales y los convierte (codifica) a binario BCD (8421).

Entradas codificador Salidas BCD


Número pulsado 9 8 7 6 5 4 3 2 1 0 8 4 2 1
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 1 0 0 0 0 1
2 0 0 0 0 0 0 0 1 0 0 0 0 1 0
3 0 0 0 0 0 0 1 0 0 0 0 0 1 1
4 0 0 0 0 0 1 0 0 0 0 0 1 0 0
5 0 0 0 0 1 0 0 0 0 0 0 1 0 1
6 0 0 0 1 0 0 0 0 0 0 0 1 1 0
7 0 0 1 0 0 0 0 0 0 0 0 1 1 1
8 0 1 0 0 0 0 0 0 0 0 1 0 0 0
9 1 0 0 0 0 0 0 0 0 0 1 0 0 1

Las señales de entrada a un circuito codificador pueden no provenir de un teclado.


En la figura aparecen 10 posibles fuentes de señal para las entradas del codificador
que pueden provenir de sensores (temperatura, presión, humedad, luz, etc) o ser la
salida de un sistema digital como un teclado de un ordenador, una impresora, una
memoria o cualquier otro circuito. Cada sensor o circuito se distingue de los demás
por el número decimal que se le asigna. A este número se le llama dirección.

El codificador convierte la dirección decimal del sensor o circuito que se activa en


una dirección codificada en BCD.

92
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 93

Codificadores con prioridad


Bloques funcionales combinacionales
4
Cuando se activa más de un sensor al mismo tiempo, el codificador no puede presentar en su salida
dos direcciones. Esta situación debería resolverse asignando a los sensores un orden de prioridad para
ser codificados.

Existen en el mercado dos tipos de codificadores:


) Codificadores sin prioridad.
) Codificadores con prioridad.
La diferencia entre ellos está en la respuesta que dan, cuando se activa más de una entrada al mismo
tiempo. Los codificadores sin prioridad presentan en la salida un código erróneo en esta situación. Los
codificadores con prioridad presentan en la salida el código correspondiente a la entrada con mayor
valor decimal.

Entradas/salidas activas a nivel alto y activas a nivel bajo


Un teclado puede estar construido de tal manera
que sus salidas sean activas a nivel alto o activas a
nivel bajo. Por ejemplo, las teclas pueden ser inte-
rruptores de presión que, cuando no se pulsan,
están permanentemente a cero y en el momento en
que son pulsadas entregan en su salida un 1, como
se muestra en la figura:

Pero también puede ser que el interruptor este cons-


truido para estar permanentemente a nivel alto, es
decir a 1, y entregar un 0 en la salida cuando se
pulsa, como se muestra en la figura:

En el primer caso las salidas del teclado son activas


a nivel alto y en el segundo activas a nivel bajo. Este
hecho obliga a que los codificadores se implementen
con entradas activas a nivel alto (activas en 1) y con
entradas activas a nivel bajo (activas en 0).

Lo mismo ocurre con las salidas, que pueden ser acti-


vas a nivel alto o a nivel bajo. En el segundo caso el 4d se representa como 1011.  Enla carpeta
el CD, en

documenta-
Entrada de habilitación ción se amplia este
tema en el documento
Los codificadores y la mayoría de los bloques funcionales combinacionales disponen de una entrada UD4_Entradas/sali-
que se utiliza para habilitar o inhibir el circuito. Si el circuito está habilitado, el estado de las salidas das.pdf.
se determina a partir del estado de sus entradas, lo que equivale a decir que el circuito está realizan-
do su función. Si el circuito está inhibido, el estado de las salidas será o todas 0, o todas 1, según se
indique en el manual técnico del fabricante. En esta situación el circuito no realizará su función y el
resto de las entradas no tendrán influencia sobre las salidas.

Salidas de expansión
En la figura aparece el símbolo lógico de un codificador decimal a BCD.

La función de las salidas GS (Group Signal output ) y EO (Enable Output ) es facilitar la expan-
sión de la capacidad del decodificador y admitir, por ejemplo, la salida de un teclado de 16
teclas. El funcionamiento de estas dos entradas es el siguiente:

La salida GS se activa cuando la entrada EI está a 0 (codificador habilitado) y alguna de las


entradas está activa.

La salida EO se activa cuando la entrada EI está a 0 (codificador habilitado) y ninguna de las


entradas está activa.

93
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 94

4 Lógica digital y microprogramable

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 GS EO A2 A1 AO
0 Alguna de las entradas activa 0 1
0 Ninguna de las entradas activa 1 0
1 Alguna de las entradas activa 1 1
1 Ninguna de las entradas activa 1 1

1.1.1 Análisis con codificadores


Ejemplo resuelto 1: análisis del codificador 74148
El trabajo propuesto es determinar el estado de las salidas de un codificador 74148 para cada una de
las combinaciones de las señales en las entradas que aparecen en la tabla.

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
a 0 0 0 1 1 1 1 1 1
b 0 1 1 0 0 0 1 1 1
c 1 0 1 1 1 1 1 1 1
d 0 1 1 1 1 1 1 1 1
y 0 1 1 1 1 1 1 0 1
f 0 1 1 1 1 1 1 1 0
g 0 1 1 1 0 0 1 1 1

 EnDocumen-
la carpeta Solución
En la figura se muestra el símbolo lógico del 74148.
tación del
CD, se puede encon- Una de las características del 74148 en la que se debe reparar, es que
trar la hoja de caracte- sus entradas y salidas son activas a nivel bajo.
rísticas del fabricante,
(UD4_ 74148). En la combinación de entrada “a”, el circuito está habilitado (EI= 0)
y las entradas decimales activas son la 7 y la 6. El codificador tiene
prioridad y el código de salida será el correspondiente al mayor valor
decimal. La salida GS estará activada debido a que el codificador está
habilitado y alguna de las entradas está activa. La salida EO se activa
cuando el codificador está habilitado y no hay ninguna entrada deci-
mal activada, por lo que estará a 1.

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
a 0 0 0 1 1 1 1 1 1 0 0 0 0 1

En la combinación de entrada “b”, el circuito está habilitado (EI= 0) y las entradas decimales activas
son la 5, 4 y 3. El codificador tiene prioridad y el código de salida será el correspondiente al mayor
valor decimal. La salida GS estará activada debido a que el codificador está habilitado y alguna de
las entradas está activa. La salida EO se activa cuando el codificador está habilitado y no hay ningu-
na entrada decimal activada, por lo que estará a 1.

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
b 0 1 1 0 0 0 1 1 1 0 1 0 0 1

94
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 95

Bloques funcionales combinacionales

En la combinación de entrada “c”, el circuito no está habilitado (EI= 1). Tanto las salidas de código,
4
como las salidas GS y EO estarán a nivel alto.

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
c 1 0 1 1 1 1 1 1 1 1 1 1 1 1

En la combinación de entrada “d”, el circuito está habilitado (EI= 0) y ninguna de las entradas deci-
males está activa. Las salidas de código estarán a nivel alto y se podría pensar que la codificación de
salida corresponde al 0 decimal, pero la salida GS estará desactivada indicando así que ninguna de
las entradas está activa y que el código de salida no es válido. La salida EO está en el estado 0.

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
d 0 1 1 1 1 1 1 1 1 1 1 1 1 0

En la combinación de entrada “e”, el circuito está habilitado (EI= 0) y la entrada decimal activa es la
1. La salida GS estará activada debido a que el codificador está habilitado y alguna de las entradas
está activa. La salida EO sólo se activa cuando el codificador está habilitado y no hay ninguna entra-
da decimal activada, por lo que estará a 1.

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
e 0 1 1 1 1 1 1 0 1 1 1 0 0 1

En la combinación de entrada “f”, el circuito está habilitado (EI= 0) y la entrada decimal activa es la
0. La salida GS estará activada debido a que el codificador está habilitado y alguna de las entradas
está activa. La salida EO se activa cuando el codificador está habilitado y no hay ninguna entrada deci-
mal activada, por lo que estará a 1.

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
f 0 1 1 1 1 1 1 1 0 1 1 1 0 1

En la combinación de entrada “g”, el circuito está habilitado (EI= 0) y las entradas decimales activas
son la 7, 4 y la 3. El codificador tiene prioridad y el código de salida será el correspondiente al mayor
valor decimal. La salida GS estará activada debido a que el codificador está habilitado y alguna de las
entradas está activa. La salida EO se activa cuando el codificador está habilitado y no hay ninguna
entrada decimal activada, por lo que estará a 1.

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
g 0 0 1 1 0 0 1 1 1 0 0 0 0 1

Ejemplo resuelto 2: simulación del codificador 74148


El trabajo propuesto es verificar los resultados obtenidos en el primer ejemplo resuelto, por medio de
la simulación del 74148, mediante la plataforma informática OrCad. Se trata de comprobar que para
las señales de entrada que aparecen en la tabla, las salidas son las que se indican.

95
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 96

4 Lógica digital y microprogramable

ENTRADAS SALIDAS
EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
a 0 0 0 1 1 1 1 1 1 0 0 0 0 1
b 0 1 1 0 0 0 1 1 1 0 1 0 0 1
c 1 0 1 1 1 1 1 1 1 1 1 1 1 1
d 0 1 1 1 1 1 1 1 1 1 1 1 1 0
y 0 1 1 1 1 1 1 0 1 1 1 0 0 1
f 0 1 1 1 1 1 1 1 0 1 1 1 0 1

Solución
Antes de realizar el trabajo de simulación se debe transformar la tabla en un cronograma.
 Este ejercicio
se resuelve
mediante la
aplicación informática
OrCAD. La mecánica
de simulación com-
pleta se presenta en
el tutorial
Simulación_Codificad
ores, que se encuen-
tra en el CD, en la
carpeta Presentacio-
nes, en formato
Power Point y PDF.

Los pasos a seguir son los siguientes:


) Ejecutar la aplicación Capture CIS de la plataforma OrCAD.
) Crear un proyecto.
) Dibujar el esquema del circuito a simular.
) Programar las señales de entrada al circuito.
) Simular el circuito.

El resultado de la simulación es el siguiente:

96
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 97

Bloques funcionales combinacionales


4
Aplicación práctica:
Configuración del teclado y codificador de una estación meteorológica

El diagrama de bloques de la figura representa un sistema digital, aplicación de los bloques funcionales combi-
nacionales. Este sistema realiza la visualización de las medidas tomadas en una estación meteorológica. Los
parámetros que se quieren controlar son la temperatura, humedad, velocidad del viento y cantidad de lluvia.

El sistema dispone de
un sensor para cada
uno de los parámetros
y de tres visualizadores
7 segmentos, que per-
miten visualizar el va-
lor de uno de los cuatro
parámetros. Un opera-
rio selecciona, con un
teclado, cual de los
cuatro parámetros será
el que se visualice.

El codificador convier-
te la información que
recibe del teclado a un
código binario de dos
bits, tal y como se
muestra en la siguien-
te tabla.

TECLADO SALIDA CODIFICADOR SENSOR


0 1 1 TEMPERATURA
1 1 0 HUMEDAD
2 0 1 VELOCIDAD DEL VIENTO
3 0 0 LITROS m2
NP 1 1 NINGUNO

El trabajo propuesto es elegir el codificador comercial de la serie 74xxx que se puede utilizar en el sistema digi-
tal propuesto, dibujar el esquema teclado-codificador y especificar el estado de las entradas y salidas del codifi-
cador cuando se quiere visualizar cada uno de los parámetros del sistema.

Se utilizará el codificador comercial 74148. En la figura se muestra su símbolo


lógico:

El esquema de conexión entre el teclado y el codificador es el que sigue:

97
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 98

4 Lógica digital y microprogramable

Como no se debe dejar ninguna entrada de un circuito al aire, las entradas desde la I7 hasta la I4 deben estar
conectadas al estado 1, es decir inactivas.

El estado de las entradas y salidas del codificador cuando se quiere visualizar cada uno de los parámetros del
sistema se muestra en la siguiente tabla:

PARÁMETRO ENTRADAS SALIDAS


VISUALIZADO EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
TEMPERATURA 0 1 1 1 1 1 1 1 0 1 1 1 0 1
HUMEDAD 0 1 1 1 1 1 1 0 1 1 1 0 0 1
VELOCIDAD 0 1 1 1 1 1 0 1 1 1 0 1 0 1
LITROS m2 0 1 1 1 1 0 1 1 1 1 0 0 0 1
NINGUNO 0 1 1 1 1 1 1 1 1 1 1 1 1 0

Repárese en el hecho de que las salidas de código del codificador, para la visualización de la temperatura y para
la situación ningún parámetro visualizado, son iguales. El resto del sistema debe distinguir entre las dos situacio-
nes. Lo que informa al resto del sistema es la diferencia en el estado de las salidas GS y EO.

PARÁMETRO ENTRADAS SALIDAS


VISUALIZADO EI I7 I6 I5 I4 I3 I2 I1 I0 A2 A1 AO GS EO
TEMPERATURA 0 1 1 1 1 1 1 1 0 1 1 1 0 1
NINGUNO 0 1 1 1 1 1 1 1 1 1 1 1 1 0

2. Bloques funcionales
combinacionales:
multiplexores
2.1 Multiplexores
Los multiplexores son circuitos que seleccionan la información digital, procedente de distintas fuentes,
para transmitirla por una única línea.

Entradas de selección y entradas de datos


La figura representa un circuito multiplexor. Las entradas S1 y S0
se llaman entradas de selección y las entradas D0 a D3 entradas
de datos.

En las entradas de selección se utiliza un código binario de 2


bits para seleccionar una de las 4 entradas de datos. La informa-
ción (0 o 1) presente en la entrada de datos seleccionada, apa-
recerá en la salida de datos. La tabla de verdad siguiente resu-
me el funcionamiento del multiplexor.

98
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 99

ENTRADAS DE SELECCIÓN ENTRADAS DE DATOS


Bloques funcionales combinacionales

SALIDA
4
S1 S0 D3 D2 D1 D0 Y
0 0 X X X 0 0
0 0 X X X 1 1
0 1 X X 0 X 0
0 1 X X 1 X 1
1 0 X 0 X X 0
1 0 X 1 X X 1
1 1 0 X X X 0
1 1 1 X X X 1

Entrada de habilitación
Los multiplexores disponen de una entrada que se utiliza para habilitar o inhibir el cir-
cuito.

Esta entrada puede aparecer nombrada como Enable input o como Strobe. Si el cir-
cuito está habilitado, el estado de la salida se determina a partir del estado de las
entradas de selección y de las entradas de datos. Si el circuito está inhibido, el estado
de la salida será 0. Esta entrada se utiliza para la expansión de la capacidad del cir-
cuito, por ejemplo, con dos multiplexores de 4 entradas de datos construir uno de 8. La
tabla de verdad siguiente resume el funcionamiento del multiplexor, incluyendo la
entrada de habilitación.

STROBE ENTRADAS DE SELECCIÓN ENTRADAS DE DATOS SALIDA


E S1 S0 D3 D2 D1 D0 Y
1 X X X X X X 0
0 0 0 X X X 0 0
0 0 0 X X X 1 1
0 0 1 X X 0 X 0
0 0 1 X X 1 X 1
0 1 0 X 0 X X 0
0 1 0 X 1 X X 1
0 1 1 0 X X X 0
0 1 1 1 X X X 1

Ejemplos resueltos

Ejemplo resuelto 1: análisis del multiplexor 74151


El circuito 74151 es un multiplexor de 8 canales que tiene tres entradas de selección y 2 salidas, una
la complementaria de la otra. Tiene también una entrada de habilitación (Strobe o Enable Input) acti-
va en 0. Su símbolo lógico es el que se muestra en
la figura.

El trabajo propuesto es determinar el estado de las


salidas de un 74151 para cada una de las combina-
ciones de las señales de entrada que aparecen en la
tabla, a partir del análisis del funcionamiento del
circuito descrito en la hoja de características del
fabricante (UD4_74151.pdf).

ANSI/IEE

99
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:29 PÆgina 100

4 Lógica digital y microprogramable

ENTRADAS SALIDAS
SELECCIÓN STROBE
S Y W
C B A
a 1 0 0 0
b 0 1 1 1
c 1 1 1 1
d 1 1 1 0
y 1 1 0 0
f 0 0 1 0

Solución
En la combinación de entrada “a” el circuito está habilitado (Strobe = 0). En la salida Y, estará la infor-
mación (0 o 1) presente en el canal seleccionado por las entradas de selección. En la tabla, esto se indi-
ca con el nombre del canal seleccionado, en este caso D4. En la salida W, el circuito presenta la infor-
mación de la salida Y negada, es decir D 4 . En las combinaciones d, e y f ocurre lo mismo que en la
combinación “a”.

ENTRADAS SALIDAS
SELECCIÓN STROBE
S Y W
C B A
a 1 0 0 0 D4
d 1 1 1 0 D7
e 1 1 0 0 D6
f 0 0 1 0 D1

En las combinaciones de entrada b y c, el circuito no está habilitado y la salida Y está en 0 y W en 1.

ENTRADAS SALIDAS
SELECCIÓN STROBE
S Y W
C B A
b 0 1 1 1 0 1
c 1 1 1 1 0 1

Ejemplo resuelto 2: Simulación del multiplexor 74151


en el entorno informático
El trabajo propuesto es simular con la herramienta informática OrCAD el multiplexor 74151, verifican-
do el estado de las salidas que aparecen en la tabla, para cada una de las combinaciones de las seña-
les de entrada.

STROBE ENTRADAS DE ENTRADAS DE DATOS SALIDAS


SELECCIÓN
S C B A D7 D6 D5 D4 D3 D2 D1 D0 Y W
0 1 1 1 1 1 1 0 1 0 1 1 1 0
0 1 0 1 1 1 1 0 1 0 1 1 1 0
1 0 0 1 1 1 1 0 1 0 1 1 0 1
0 0 0 1 1 1 1 0 1 0 1 1 1 0
0 1 1 0 1 1 1 0 1 0 1 1 1 0
1 1 0 1 1 1 1 0 1 0 1 1 0 1
0 0 0 0 1 1 1 0 1 0 1 1 1 0

100
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 101

Solución
Bloques funcionales combinacionales
4
Las combinaciones de entrada propuestas en la tabla se representan
como un cronograma. Supóngase que cada una de ellas tiene una
duración de 1 μs.

 Este ejercicio se resuelve mediante la aplicación informática


OrCAD. La mecánica de simulación se presenta en el tutorial
Simulación_Multiplexores, que se encuentra en el CD, en la
carpeta presentaciones, en formato Power Point y PDF.

Los pasos a seguir son los siguientes:


) Ejecutar la aplicación Capture CIS de la plataforma OrCAD.
) Crear un proyecto.
) Dibujar el esquema del circuito a simular.
) Programar las señales de entrada al circuito.
) Simular el circuito.

El resultado de la simulación es el siguiente:

2.2 Implementación de funciones lógicas


utilizando multiplexores
Las funciones lógicas se pueden implementar utilizando puertas lógicas o utilizando bloques funcio-
nales combinacionales, como multiplexores y decodificadores.

Método de realización de funciones con multiplexores (1)


El método para la implementación de funciones utilizando multiplexores es el siguiente:

) Exprésese la función en su forma canónica, como suma de productos y obténgase la tabla de


verdad.
A partir del número de variables de la función, se selecciona el multiplexor que se usará.
) Se selecciona un multiplexor en el que el número de entradas de selección sea igual que el
número de variables de la función.
Si la función es de 4 variables, el multiplexor será de 4 entradas de selección (UD4_ 741-
50.pdf).
Si la función es de 3 variables, el multiplexor será de 3 entradas de selección (UD4_ 741-
51.pdf).
Si la función es de 2 variables, el multiplexor será de 2 entradas de selección (UD4_ 741-
53.pdf).

101
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 102

4 Lógica digital y microprogramable

Se asignarán las variables de la función a las entradas de selección.

La asignación es directa, respetando los pesos. Si la función fuese de tres varia-


bles (xyz) y si la variable de mayor peso fuese “x”, la conexión sería como mues-
tra la figura:

Conexión de las entradas de datos del multiplexor.

) Analícese la forma canónica de la función obtenida en el apartado 1.


Conéctense a 1 las entradas que correspondan a los términos canónicos
que aparecen en la función. El
resto de las entradas se conectan
a 0.

Ejemplo: Si la función en forma canónica fuese:

F = a’b’c’ + a’b’c + a’bc + abc’ + abc

las entradas de datos que se conectan a 1 son la 0, 1, 3, 6 y 7.

Método de realización de funciones con multiplexores (2)


Puede haber circunstancias en las que el número de entradas del multiplexor disponible sea menor
que el de variables de la función. En este caso el método se modifica a partir del punto 2 y sería como
sigue:

) Exprésese la función en forma canónica como suma de productos y obténgase la tabla de verdad.
A partir del número de variables de la función, se selecciona el multiplexor que se usará.

) Se selecciona un multiplexor en el que, el número de entradas de selección sea una menos


que el número de variables de la función.
Si la función es de 4 variables, el multiplexor será de 3 entradas de selección (UD4_ 741-
51.pdf).

Si la función es de 3 variables, el multiplexor será de 2 entradas de selección (UD4_ 741-


53.pdf).

Si la función es de 2 variables, el multiplexor será de 1 entradas de selección (UD4_ 741-


57.pdf).

Se asignarán las variables de la función a las entradas de selección.

) El número de variables de la función es mayor


que el número de las entradas de selección del
multiplexor seleccionado. Se asignarán las
variables de mayor peso a las entradas de
selección del multiplexor y la otra se conecta-
rá a las entradas de datos. Si la función fuese
de 4 variables (xyzv) y si la variable de mayor
peso fuese “x”, la conexión sería:

Resolver las entradas de datos del multiplexor y la


variable d. Opción 1:
) Las entradas de datos del multiplexor y la
variable que sobra, d, se resuelve analizando
la tabla de verdad de la función obtenida en el apartado 1.

102
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 103

a b c d F Entrada de datos
Bloques funcionales combinacionales
4
del multiplexor
0 0 0 0 1
0 D0 ⇒ d’ La función invierte el valor de d
0 0 0 1 0
0 0 1 0 0
1 D1 ⇒ 0 La función vale 0, independientemente del valor de d
0 0 1 1 0
0 1 0 0 1
2 D2 ⇒ d’ La función invierte el valor de d
0 1 0 1 0
0 1 1 0 1
3 D3 ⇒ 1 La función vale 1, independientemente del valor de d
0 1 1 1 1
1 0 0 0 1
4 D4 ⇒ d’ La función invierte el valor de d
1 0 0 1 0
1 0 1 0 0
5 D5 ⇒ d La función es igual a d
1 0 1 1 1
1 1 0 0 1
6 D6 ⇒ 1 La función vale 1, independientemente del valor de d
1 1 0 1 1
1 1 1 0 0
7 D7 ⇒ 0 La función vale 0, independientemente del valor de d
1 1 1 1 0

El circuito que resuelve la función representada en la tabla es el que se muestra en la figu-


ra adjunta:

Ejemplos resueltos: Implementación de funciones lógicas


utilizando multiplexores

Ejemplo resuelto 1: función con 74150 de 4 variables


El trabajo propuesto es implementar la función F = ab + acd’ + abd utilizando un multi-
plexor.

Solución
Poner la función en forma canónica y represen-
a b c d F
tar la tabla de verdad:
0 0 0 0 0
F = abcd + abcd’ + abc’d + abc’d’ + ab’cd’ 0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
Seleccionar el multiplexor que se utilizará: la 0 1 1 0 0
función tiene 4 variables y se puede utilizar un 0 1 1 1 0
multiplexor de 4 entradas de selección, por 1 0 0 0 0
ejemplo el 74150.
1 0 0 1 0
Asignar las variables de la función a las entra- 1 0 1 0 1
das de selección (figura derecha). 1 0 1 1 0
1 1 0 0 1
La entrada de mayor peso de las variables de
1 1 0 1 1
la función se conecta a la entrada de selección
1 1 1 0 1
de mayor peso.
1 1 1 1 1
Resolver las entradas de datos del multiplexor,
analizando la forma canónica de la función
obtenida en el apartado 1.

F = abcd + abcd’ + abc’d + abc’d’ + ab’cd’

103
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 104

4 Lógica digital y microprogramable

Como el número de variables de la función es igual al de entradas de selección del multi-


plexor, los términos canónicos definen las entradas de datos que se conectarán a 1. Estas
entradas serían: E15 (abcd), E14 (abcd’), E13 (abc’d), E12 (abc’d’), E10 (ab’cd’). Como el
multiplexor elegido tiene su salida negada, al conectar las entradas a 1, la función apare-
cería invertida en la salida del multiplexor. Por eso en el 74150 los términos canónicos de
la función definen las entradas de datos que se conectan a 0. El resto de las entradas se
conecta entonces a 1.

Ejemplo resuelto 2: 4 variables con 74151


El trabajo propuesto es implementar la función F = xy’ + xz’v’ + yzv utilizando el multiple-
xor 74151.

Solución
Representar la función en forma canónica y representar la tabla de verdad:

F = xy’z’v’+ xy’z’v + xy’zv’ + xy’zv + xyz’v’+xy’z’v’+xyzv+x’yzv

El término sombreado en gris está repetido y se debe eli-


x y z v F
minar. La tabla de verdad es:
0 0 0 0 0
El enunciado del ejemplo fija el multiplexor que se debe 0 0 0 1 0
utilizar, un 74151. 0 0 1 0 0
Asígnense las variables de la función a las 0 0 1 1 0
entradas de selección (figura izquierda): 0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
La entrada de mayor peso de las variables de 1 0 1 0 1
la función se conecta a la entrada de selección 1 0 1 1 1
de mayor peso. 1 1 0 0 1
1 1 0 1 0
Resuélvanse las entradas de datos del multi-
1 1 1 0 0
plexor, analizando la tabla de verdad de la
función obtenida en el apartado 1. 1 1 1 1 1

Entrada de datos
a b c d F del multiplexor
0 0 0 0 0
0 D0 ⇒ 0 La función vale 0, independientemente del valor de v
0 0 0 1 0
0 0 1 0 0
1 D1 ⇒ 0 La función vale 0, independientemente del valor de v
0 0 1 1 0
0 1 0 0 0
2 D2 ⇒ 0 La función vale 0, independientemente del valor de v
0 1 0 1 0
0 1 1 0 0
3 D3 ⇒ v La función es igual que v
0 1 1 1 1
1 0 0 0 1 La función vale 1, independientemente del valor de v
4 D4 ⇒ 1
1 0 0 1 1
1 0 1 0 1
5 D5 ⇒ 1 La función vale 1, independientemente del valor de v
1 0 1 1 1
1 1 0 0 1
6 D6 ⇒ v’ La función invierte el valor de v
1 1 0 1 0
1 1 1 0 0
7 D7 ⇒ v La función es igual que v
1 1 1 1 1

104
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 105

Bloques funcionales combinacionales

El circuito que resuelve la función es el que se muestra en la figura adjunta.


4
Ejemplo resuelto 3: 4 funciones con 74157
El trabajo propuesto es implementar las funciones F1, F2, F3 y F4, representadas en la
tabla de verdad siguiente, utilizando un solo circuito integrado.

A1 A0 F1 F2 F3 F4
0 0 0 1 1 1
0 1 1 1 0 1
1 0 1 0 1 0
1 1 0 1 1 0

Solución
Se selecciona el multiplexor que se usará.

Las funciones son de dos variables. Se necesita un multiplexor de 2 a 1, para cada una de las fun-
ciones y cuatro multiplexores para resolver el ejercicio completo. El circuito integrado 74157,
implementa un cuádruple multiplexor de 2 a 1. Su símbolo lógico es el siguiente:

Se asignan las variables a las entradas de selección.

El número de variables de la función es mayor que el número de entradas de selección del mul-
tiplexor. Se conecta la variable de mayor peso A1 a la entrada de selección SELECTAB, que es
común a los cuatro multiplexores del integrado. Si la entrada de selección está a 0, los canales
que aparecen en las salidas son los “A”, (1A, 2A, 3A y 4A). Si la entrada de selección está a 1, los
canales que aparecen en las salidas son los “B”, (1B, 2B, 3B y 4B).

Se analiza la tabla de verdad de la función:

Solución para F1.

A1 A0 F1 Entrada de datos del multiplexor

0 0 0
1A ⇒ A0

0 1 1

1 0 1
1B ⇒ A0’

1 1 0

Solución para F2.

A1 A0 F2 Entrada de datos del multiplexor

0 0 1
2A ⇒ 1

0 1 1

1 0 0
2B ⇒ A0

1 1 1

105
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 106

4 Lógica digital y microprogramable

Solución para F3.

A1 A0 F3 Entrada de datos del multiplexor

0 0 1
3A ⇒ A0’

0 1 0

1 0 1
3B ⇒ 1

1 1 1

Solución para F4 y circuito completo.

A1 A0 F4 Entrada de datos del multiplexor

0 0 1
4A ⇒ 1

0 1 1

1 0 0
4B ⇒ 0

1 1 0

Aplicación práctica:
Estación meteorológica
En la figura se muestra el diagrama de bloques del sistema digital trabajado en la actividad 1 de está unidad
didáctica.

106
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 107

Bloques funcionales combinacionales


4
El sistema realiza la visualización de las medidas hechas en una estación meteorológica. El selector de datos
elige cual de los cuatro parámetros presenta en su salida, partiendo del código que le llega del codificador.

TECLADO SALIDA CODIFICADOR SENSOR


0 1 1 TEMPERATURA
1 1 0 HUMEDAD
2 0 1 VELOCIDAD DEL VIENTO
3 0 0 LITROS m2
Ninguna Pulsada 1 1 NINGUNO

El trabajo propuesto es configurar con multiplexores comerciales de la serie 74xxx el bloque sensores/selector de
datos.

Solución
Los sensores deben responder a los siguientes requerimientos.

) La cantidad de lluvia caída puede variar desde 0 hasta 255 L/m2. Para representar con un código bina-
rio este margen de valores es necesario un código de 8 bits. L es un sensor que mide la cantidad de
lluvia, y la transforma en un código binario de 8 bits.

) La velocidad del viento varía desde 0 hasta 255 Km/h. Para representar con un código binario este mar-
gen de valores es necesario un código de 8 bits. V es un sensor que mide la velocidad del viento y la
transforma en un código binario de 8 bits.

) La humedad varía desde el 0% hasta el 100%. Para representar con un código binario este margen de
valores bastaría con un código de 7 bits, pero se usarán 8 bits por coherencia con los anteriores pará-
metros. De esta manera, H es un sensor de temperatura que entrega al sistema un código binario de 8
bits.

) La temperatura varía
desde 0° hasta los 50°.
Para representar con un
código binario este mar-
gen de valores bastaría
con un código de 6 bits,
pero se usarán 8 bits
por coherencia con los
anteriores parámetros.
De esta manera T es un
sensor de temperatura
que entrega al sistema
un código binario de 8
bits.

) La configuración que se
busca debe dar solu-
ción al siguiente esque-
ma básico:

107
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 108

4 Lógica digital y microprogramable

Al selector de datos llegan cuatro fuentes de información, de 8 bits cada una, y presenta en su salida uno de los
cuatro parámetros medidos, codificado en binario de 8 bits.

Si los datos fuesen de 1 bit se usaría


un multiplexor de 4 a 1 como el de la
figura siguiente:

Si cada uno de los 4 datos estuviese codificado con 2 bits se necesita-


rían dos multiplexores de 4 a 1, para tener dos líneas de salida:

Los datos son de 8 bits y por tanto se necesitan 8 multiplexores de 4 a


1, obteniéndose así 8 salidas. El esquema completo para los 8 bits, con
multiplexores genéricos sería:

Los bits A1, A0 son la salida del codificador, es decir, el código de selección del dato a visualizar. Recuérdese que
el codificador elegido es el 74148 y que tiene las salidas activas a cero. Estos bits se conectan a las entradas de

108
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 109

Bloques funcionales combinacionales


4
selección de los multiplexores de manera que si, por ejemplo, se quisiera visualizar la Temperatura, A1 = 1 y A0
=1, las entradas de selección de todos los multiplexores tendrían el mismo código y el canal seleccionado sería
el mismo en todos. El orden de conexión de los sensores a las entradas de datos de los multiplexores es el que se
indica en la tabla y las figuras siguientes

TECLADO SALIDA CODIFICADOR SENSOR ENTRADA DE DATOS


DEL MUX
0 1 1 TEMPERATURA D3
1 1 0 HUMEDAD D2
2 0 1 VELOCIDAD DEL VIENTO D1
3 0 0 LITROS m2 D0
NP 1 1 NINGUNO VISUALIZACIÓN NO ACTIVA

El paso siguiente es elegir el multiplexor de la


serie 74xxx adecuado. Se trata de encontrar un
multiplexor de 4 canales a 1. El 74153 es un
doble multiplexor de 4 a 1. El símbolo lógico es
el que aparece en la figura de la derecha:

Este integrado implementa dos multiplexores


de 4 entradas, con entradas de habilitación
independientes para cada uno de los multiplexores y entradas de selección comunes.
El esquema completo para el bloque sensores/teclado sería el siguiente (abajo):

En las entradas de habilitación de los 74153 se conecta la salida GS del codificador 74148. Esta estará en el esta-
do 1, cuando el usuario no pulse ninguna de las teclas del teclado, deshabilitando los multiplexores y llevando
las salidas a 0. La combinación que vería el resto del sistema sería la 00000000, que se podría confundir con el
valor cero de uno de los parámetros a visualizar. Esta situación se puede resolver en el momento de configurar
los visualizadores.

109
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:30 PÆgina 110

4 Lógica digital y microprogramable

3. Bloques funcionales
combinacionales:
Convertidores de código
3.1 Convertidores de código
Los circuitos convertidores de código son bloques funcionales combinacionales que se utilizan para
cambiar de un código binario a otro. Las conversiones más usuales son las siguientes:
) BCD a binario.
) Binario a BCD.
) BCD a 7 segmentos.
) BCD a decimal (decodificador).
) Binario a decimal (decodificador).

Convertidores BCD/Binario
Los convertidores BCD/Binario admiten en su entrada números deci-
males codificados en BCD y presentan en su salida el mismo núme-
ro codificado en binario. El circuito integrado 74184 realiza esta
conversión. En la figura se muestra su símbolo lógico.

El circuito recibe en su entrada dos dígitos BCD. El primero (A)


puede valer de 0 a 9 y el segundo (B) de 0 a 3. Esto hace que el
mayor número decimal que puede aparecer en la entrada del cir-
cuito sea el 39. Para representar el 39 en binario hacen falta 6 sali-
das, ya que con 5 solo se alcanza hasta el 31. El peso de las entra-
das de las decenas es 10 y 20. No son múltiplos de 2. Esto es debi-
do a que la entrada está codificada en BCD. Las salidas binarias
son de peso 1, 2, 4, 8, 16 y 32. Es importante resaltar que la entra-
da BCD de las unidades, de peso 1, se lleva directamente a la salida sin pasar por el circuito integra-
 EnDocumen-
la carpeta
do y que es la misma línea de entrada, la que está en la salida como la línea de peso 1 del número
tación del binario.
CD, se puede encon-
trar la hoja de caracte-
Ejemplo resuelto: análisis del 74184
rísticas del fabricante,
(UD4_ 74184). El trabajo propuesto es determinar el estado de las salidas de un 74184 para cada una de las combi-
naciones de las señales de entrada que aparecen en la tabla:

ENTRADAS SALIDAS
EN B1 B0 A3 A2 A1 A0 Q32 Q16 Q8 Q4 Q2 Q1
a 0 0 0 0 1 0 0
b 0 0 0 0 0 1 1
c 0 1 0 1 0 0 1
d 0 1 1 0 1 0 0
y 1 0 1 0 1 0 1
f 1 0 0 1 0 0 0

Solución
En las combinaciones de entrada a, b, c y d, el circuito está habilitado y los números decimales de
entrada son 4, 3, 29 y 34 respectivamente. Las salidas serán:

110
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 111

ENTRADAS
Bloques funcionales combinacionales

SALIDAS
4
EN B1 B0 A3 A2 A1 A0 Q32 Q16 Q8 Q4 Q2 Q1
a 0 0 0 0 1 0 0 0 0 0 1 0 0
b 0 0 0 0 0 1 1 0 0 0 0 1 1
c 0 1 0 1 0 0 1 0 1 1 1 0 1
d 0 1 1 0 1 0 0 1 0 0 0 1 0

En la combinación de entrada “y” el circuito no está habilitado, igual que en la combinación “f”, y los
números decimales de entrada son irrelevantes. Las salidas serán:

ENTRADAS SALIDAS
EN B1 B0 A3 A2 A1 A0 Q32 Q16 Q8 Q4 Q2 Q1
y 1 0 1 0 1 0 1 1 1 1 1 1 1
f 1 0 0 1 0 0 0 1 1 1 1 1 0

Convertidores Binario/BCD
Los convertidores Binario/BCD admiten en su entrada números deci-
males codificados en binario y presentan en su salida el mismo
número codificado en BCD. El circuito integrado 74185 realiza esta
conversión. En la figura se muestra su símbolo lógico.

El número presente en la entrada puede ir desde el cero hasta el 63


decimal. Para codificar la salida hacen falta 7 bits (63, 6 = 110, 3 =
0011).

En la carpeta Documentación del CD, se puede encontrar la


 hoja de características del fabricante, (UD4_ 74185).
Ejemplo resuelto: análisis del 74185
El trabajo propuesto es determinar el estado de las salidas del integrado 74185 para cada una de las
combinaciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
EN I32 I16 I8 I4 I2 I1 B2 B1 B0 A3 A2 A1 A0
a 0 1 1 1 1 1 1
b 0 0 1 0 1 0 1
c 0 0 1 1 0 0 0

Solución

ENTRADAS SALIDAS
EN I32 I16 I8 I4 I2 I1 B2 B1 B0 A3 A2 A1 A0
a 0 1 1 1 1 1 1 1 1 0 0 0 1 1
b 0 0 1 0 1 0 1 0 1 0 0 0 0 1
c 0 0 1 1 0 0 0 0 1 0 0 1 0 0

111
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 112

4 Lógica digital y microprogramable

3.2 Convertidores BCD/7-ssegmentos


Los convertidores de código BCD a 7 segmentos (decodificadores BCD-7seg-
mentos) reciben en sus entradas números decimales codificados en BCD y
entregan en las salidas las señales capaces de excitar visualizadores (dis-
play) digitales como el representado en la figura:

Los visualizadores 7 segmentos constan de 7 diodos emisores de luz etique-


tados a, b, c, d, e, f y g, ordenados como se muestra en la figura. Para visua-
lizar el 1 decimal las salidas del convertidor que se deberían activar serían
b y c. Si se activan todas, se visualiza el 8. Cada dígito decimal necesita una
combinación distinta como se refleja en la tabla.

ENTRADAS SALIDAS
A3 A2 A1 A0 a b c d y f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 1 0 0 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 0 1

Ejemplo resuelto: análisis del 7448

El trabajo propuesto es determinar el estado de las salidas del circuito 7448 para cada una de las com-
binaciones de las señales de entrada que aparecen en la tabla.

ENTRADAS BI/RBO* SALIDAS


LT RBI D C B A a b c d y f g
a 1 1 1 0 0 1 1 (salida)
b 1 0 0 0 0 0 0 (salida)
c 1 1 0 0 0 0 1 (salida)
d 0 1 0 0 1 0 1 (salida)
y 1 0 0 0 1 0 1 (salida)
f 0 0 1 0 0 1 0

 EnDocumen-
la carpeta Solución
La tabla de verdad que aparece en la hoja de características
tación del
CD, se puede encon- del fabricante se puede resumir para clarificar la función de
trar la hoja de carac- las entradas LT (Lamp-Test, test de lámparas) y RBI (Ripple-
terísticas del fabrican- Banking Input, entrada de arrastre de borrado), y del termi-
te, (UD4_ 7448). nal BI/RBO (Blanking Input/Ripple-Blanking Output, entrada
de borrado/salida de arrastre de borrado).

El terminal BI/RBO puede actuar como entrada o como sali-


da. Cuando actúa como entrada, un 0 en este terminal, fuer-
za todas las salidas al nivel bajo y todos los segmentos esta-
rán apagados, siendo indiferente el estado de LT y RBI.

LT RBI BI/RBO SALIDAS


X X 0 Todas a 0

112
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 113

Bloques funcionales combinacionales

Cuando la entrada LT (Lamp Test ) está a nivel bajo, el circuito hace lo que se llama un test de lámpa-
4
ras y todas las salidas pasan al nivel alto. Todos los segmentos estarán encendidos, comprobando así
su buen funcionamiento. El terminal BI/RBO actúa como salida y estará a nivel alto.

LT RBI BI/RBO SALIDAS


X X 0 Todas a 0
0 X 1 Todas a 1

Cuando la entrada LT (Lamp Test ) está a nivel alto y la entrada RBI (Ripple-Blanking Input) está a nivel
bajo, el circuito está en el modo borrado del cero. En esta situación cuando en las entradas de datos
se presenta un 0, las salidas estarán a nivel bajo y el cero no se visualiza. El terminal BI/RBO actúa
como salida y estará a nivel bajo.

LT RBI BI/RBO SALIDAS


X X 0 Todas a 0
0 X 1 Todas a 1
1 0 0 Todas a 0

Cuando la entrada LT (Lamp Test) está a nivel alto y la entrada RBI (Ripple-Blanking Input) está a nivel
alto el circuito está en el modo visualización. En esta situación, cuando en las entradas de datos se pre-
senta un 0, las salidas lo codifican a 7 segmentos y en el display se visualiza el cero. El terminal BI/RBO
actúa como salida y estará a nivel alto.

MODO LT RBI BI/RBO ENTRADA DECIMAL SALIDAS


Borrado X X 0 X Todas a 0
Test de lámparas 0 X 1 X Todas a 1
Borrado del cero 1 0 0 0 Todas a 0
Borrado del cero 1 0 0 1-9 Codificado a 7 Segmentos
Normal 1 1 1 0-9 Codificado a 7 Segmentos

Combinación de entrada “a”: LT = 1, RBI = 1, el circuito está en el modo de funcionamiento normal y


realiza la decodificación del número BCD de las entradas (9). El terminal BI/RBO actúa como salida y
está a 1.

ENTRADAS BI/RBO* SALIDAS


LT RBI D C B A a b c d y f g
a 1 1 1 0 0 1 1(Salida) 1 1 1 0 0 1 1

Combinación de entrada “b”: LT = 1, RBI = 0, el circuito está en el modo de supresión del cero. El
número BCD de las entradas es el 0. Deberían activarse las salidas que visualizarán el 0 (todas menos
el segmento g) pero al estar en el modo de supresión del cero las salidas están todas a nivel bajo. el
terminal BI/RBO actúa como salida y está a =0. Esta salida permite la supresión del cero cuando
hay varios visualizadores conectados en cascada, conectando RBO a la entrada RBI del visualizador
anterior.

ENTRADAS BI/RBO* SALIDAS


LT RBI D C B A a b c d y f g
a 1 0 0 0 0 1 1* 0 0 0 0 0 0 0

Combinación de entrada “c”: LT = 1, RBI = 1, el circuito está en el modo de funcionamiento normal


y realiza la decodificación del número BCD de las entradas (0). El terminal BI/RBO actúa como salida y
está a 1.

113
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 114

4 Lógica digital y microprogramable

ENTRADAS BI/RBO* SALIDAS


LT RBI D C B A a b c d y f g
b 1 0 0 0 0 0 1* 0 0 0 0 0 0 0
c 1 1 0 0 0 0 1* 1 1 1 1 1 1 0

Combinación de entrada “d”: LT = 0, el circuito está en el modo de funcionamiento test de lámparas


y todas las salidas pasan al estado 1. El terminal BI/RBO actúa como salida y está a 1.

ENTRADAS BI/RBO* SALIDAS


LT RBI D C B A a b c d y f g
d 0 1 0 0 1 0 1* 1 1 1 1 1 1 1

Combinación de entrada “e”: LT = 1, RBI = 0, el circuito está en el modo de supresión del cero. El
número BCD de las entradas no es el 0, si no el 2. El terminal BI/RBO actúa como salida y está a 1. Es
importante diferenciar este caso de la combinación de entrada “b”.

ENTRADAS BI/RBO* SALIDAS


LT RBI D C B A a b c d y f g
b 1 0 0 0 0 0 0* 0 0 0 0 0 0 0
y 1 0 0 0 1 0 1* 1 1 0 1 1 0 1

Combinación de entrada “f”: el terminal BI/RBO actúa como entrada y está a 0. El resto de las entra-
das son irrelevantes y todas las salidas están a 0.

ENTRADAS BI/RBO* SALIDAS


LT RBI D C B A a b c d y f g
f 0 0 1 0 0 1 0 0 0 0 0 0 0 0

3.3 Convertidores BCD a decimal y


binario a decimal (decodificadores)
Los bloques funcionales combinacionales decodificadores realizan la función inversa de la codifica-
ción. El código presente en su entrada puede ser binario natural o BCD. En su salida se activa una
única línea, de la 0 a la 15 si la entrada es binaria y de la 0 a la 9 si la entrada es BCD. El símbolo
lógico es:

114
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 115

Ejemplo resuelto: análisis del 74154


Bloques funcionales combinacionales
4
El circuito integrado 74154, es un decodificador de binario a decimal. Tiene por tanto 4 entradas, de
 EnDocumen-
la carpeta

tación del
pesos 8421 y 16 salidas, desde la 0 decimal hasta la 15.
CD, se puede encon-
Se debe reparar en dos hechos: trar la hoja de caracte-
rísticas del fabricante,
) Las salidas del circuito decodificador 74154 son activas a nivel bajo. (UD4_74154).
) Este circuito tiene dos entradas de habilitación activas a nivel bajo. Para habilitarlo deben
estar las dos entradas a 0.

El trabajo propuesto es determinar el estado de las salidas de un 74154 para cada una de las combi-
naciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
G1 G2 D C B A 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
a 0 0 1 1 1 0
b 0 0 1 0 1 1
c 0 0 1 1 1 1
d 0 0 0 1 1 0
e 0 1 0 1 0 1
f 0 0 1 0 0 0
g 1 0 1 1 0 1
h 1 1 0 0 0 1

Solución
En las combinaciones de entrada a, b, c, d y f, el circuito está habilitado (G1=0, G2=0). En cada caso
solamente se activará una salida, la correspondiente al número binario presente en las entradas.

ENTRADAS SALIDAS
G1 G2 D C B A 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
a 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
b 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
c 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
d 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
f 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1

En las combinaciones de entrada e, g, y h, el circuito no está habilitado y ninguna de las salidas se


activa.

ENTRADAS SALIDAS
G1 G2 D C B A 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
y 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
g 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
h 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Circuitos demultiplexores
Los demultiplexores son bloques funcionales combinacionales que realizan la función inversa a la del
multiplexor. La información llega ahora por una sola línea y el circuito la presenta en las líneas de
salida.

La figura (página siguiente) representa un circuito demultiplexor de 1 a 16. Tiene 16 líneas de salida.
Las entradas S3 hasta S0 son las que determinan por cual de las líneas de salida se transmitirá el dato

115
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 116

4 Lógica digital y microprogramable

presente en la línea de entrada. De esta manera, si en las entradas de selección se pre-


senta la combinación 1100, el bit que este en la entrada de datos se transmitirá a la
línea 12 de salida.

Ejemplo resuelto: análisis del 74154


El trabajo propuesto es utilizar un decodificador 74154, para implementar un demul-
tiplexor de 1 a 16.

Solución
El ejemplo propone implementar el circuito demultiplexor de la figura utilizando el
integrado 74154.

Las entradas de código del 74154 actúan como las entradas de selección del demultiplexor. Las sali-
das, desde la 0 a la 15 del 74154 son los 16 canales de salida de datos del demultiplexor. Una de las
entradas de habilitación del 74154 cumple la función de entrada de datos y la otra se conecta perma-
nentemente a nivel bajo. En la figura aparece la solución.

El funcionamiento del circuito es como sigue: la combinación binaria presente en las entradas S3, S2,
S1 y S0, por ejemplo la 1000, activa la correspondiente línea de salida, en este caso la 4, si el circuito
está habilitado. Una de las entradas de habilitación está permanentemente a 0. En la otra se aplica el
dato a transmitir. Si el dato es 0, el circuito estará habilitado y la línea de salida 4 se activará con un
0. Si el dato es 1, el circuito no se activará y en la línea de salida 4 habrá un 1. El valor del bit en la
línea de entrada de datos se transmite a la salida seleccionada.

116
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 117

Bloques funcionales combinacionales


4
Aplicación práctica:
Estación meteorológica

En la actividad 4.1 se desarrolló el bloque teclado/codificador, configurando dos posibles soluciones y en la acti-
vidad 4.2 el bloque sensores/multiplexor. En esta actividad se trabajará la parte del sistema que realiza la visua-
lización.

En la figura se muestra el diagrama de bloques del sistema digital que realiza el control de la estación meteo-
rológica. El selector de datos selecciona uno de los cuatro parámetros que aparecen en entrada y lo presenta en
su salida como un número decimal codificado en binario de 8 bits. El convertidor de código realiza la conver-
sión a tres dígitos decimales codificados en BCD (centenas, decenas y unidades) y las presenta en la entrada de
tres decodificadores BCD-7 segmentos que permiten la visualización en los displays del parámetro seleccionado
en el teclado.

El trabajo propuesto es configurar con convertidores de código comerciales de la serie 74xxx el convertidor
BIN/BCD.

Solución
El multiplexor selecciona un parámetro y lo
presenta en la entrada del convertidor
Binario/BCD codificado en binario de 8 bits.
Este número binario se debe convertir a códi-
go BCD y posteriormente a código 7-segmen-
tos para presentarlo en las entradas de los
displays y para su visualización. Estas dos
conversiones las realiza el bloque de visuali-
zación que aparece en la figura.

Se utilizará el integrado 74185 para configu-


rar el convertidor BIN/BCD que presenta en su
salida tres dígitos decimales, las unidades (4
bits), las decenas (4 bits) y las centenas (2
bits). Recuérdese que el mayor valor de los
parámetros que se puede medir es 255. Es

117
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 118

4 Lógica digital y microprogramable

habitual que los manuales técnicos de los fabricantes , propongan ejemplos de aplicaciones de los integrados que
describen. La hoja de características del 74185, en el apartado de aplicaciones típicas en la página 7, figura 5.8,
presenta una solución para el
convertidor BIN/ BCD, que se
ajusta a las necesidades plante-
adas en este ejemplo. Se utiliza-
rá el circuito propuesto en el
manual para la configuración
del convertidor (figura adjunta):

A continuación se propone con-


figurar con decodificadores BC-
D/7-segmentos comerciales de
la serie 74xxx, los tres decodifi-
cadores del diagrama de blo-
ques de la figura siguiente, to-
mando co-mo entradas BCD las
salidas del bloque convertidor
BIN/BCD, para realizar la visualización con displays
de cátodo común. Cuando no haya ningún paráme-
tro seleccionado, los visualizadores deben estar
apagados. Utilícese la salida GS del codificador pa-
ra conseguirlo.

La salida del convertidor BIN/BCD es un número


decimal codificado en BCD de tres dígitos, los
correspondientes a las unidades (4 bits), las dece-
nas (4 bits) y las centenas (2 Bits).

CENTENAS DECENAS UNIDADES


C1 C0 D3 D2 D1 D0 U3 U2 U1 U0

Los visualizadores de cátodo común se activan con un nivel alto. El decodificador BCD/7-segmentos debe tener
las salidas activas a nivel alto. Se utilizará por tanto el integrado 7448.

118
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 119

Bloques funcionales combinacionales


4
4. Bloques funcionales
combinacionales: comparadores
4.1 Comparadores
Los comparadores son circuitos que realizan la función de determinar cual de dos números es mayor o
si son iguales.

En la figura se puede ver el diagrama de bloques de un comparador. En las entradas se


aplican dos números, cada uno de ellos de 4 bits, codificados en binario. El número A (A3,
A2, A1, A0) y el número B (B3, B2, B1, B0).

El circuito tiene tres salidas. Si el número mayor es A, la salida A>B se activará y estará en
el estado 1, mientras las otras dos permanecerán a 0. Si el número mayor es B, la salida
que se activa será A<B. Si los números de entrada son iguales se activará la salida A=B,
pasando al estado 1 y serán las salidas A>B y A<B las que estarán en 0.

El método que se utiliza determinar la desigualdad de dos números es el de examinar los


dígitos de mayor peso. Si A3>B3, la comparación está decidida y A>B. Si B3>A3, enton-
ces A<B y la comparación también está decidida. En estos dos casos el valor de los dígitos
de menor peso es irrelevante y ni siquiera se examinan.

Ejemplo:

A3 A2 A1 A0 B3 B2 B1 B0
1 0 0 1 0 1 1 1
910 710

A3= 1
A3>B3A⇒ B
B3= 0

En este caso el estado de los bits A2, A1, A0 y B2, B1, B0 es irrelevante, lo que se expresa en la tabla
de verdad siguiente:

A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B


1 X X X 0 X X X 1 0 0

Si los dígitos de mayor peso (A3, B3) fuesen iguales, se continúa comparando los de orden inmediata-
mente menor, es decir A2 y B2, repitiendo la misma mecánica.

Ejemplo:

A3 A2 A1 A0 B3 B2 B1 B0
1 0 0 1 1 1 1 1
910 1510

A3= 1 B3= 1
A3=B3
⇒ A<B
A2<B2
A2= 0 B2= 1

En este caso el estado de los bits A1, A0 y B1, B0 es irrelevante, lo que se expresa en la tabla de ver-
dad siguiente.

119
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 120

4 Lógica digital y microprogramable

A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B


1 0 X X 1 1 X X 0 1 0

Si los dos dígitos de mayor peso del número A (A3,A2) fuesen iguales a los dos de mayor peso de B
(B3, B2), entonces habría que comparar los dígitos A1 y B1.

Ejemplo:

A3 A2 A1 A0 B3 B2 B1 B0
0 0 0 1 0 0 1 1
110 310

A3= 0 B3= 0
A3=B3
A2= 0 B2= 0 A2=B2 ⇒ A<B
A1<B1
A1= 0 B1= 1

En este caso el estado de los bits A0 y B0 es irrelevante.

A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B


0 0 0 X 0 0 1 X 0 1 0

El resultado de la comparación solamente sería la igualdad cuando todos los bits de los números A y
B fueran iguales.

La tabla de verdad del circuito comparador es la que aparece a continuación:

ENTRADAS SALIDAS
A3,B3 A2,B2 A1,B1 A0,B0 A>B A<B A=B
A3 > B3 X X X 1 0 0
A3 < B3 X X X 0 1 0
A3 = B3 A2 > B2 X X 1 0 0
A3 = B3 A2 < B2 X X 0 1 0
A3 = B3 A2 = B2 A1 > B1 X 1 0 0
A3 = B3 A2 = B2 A1 < B1 X 0 1 0
A3 = B3 A2 = B2 A1 = B1 A0 > B0 1 0 0
A3 = B3 A2 = B2 A1 = B1 A0 < B0 0 1 0
A3 = B3 A2 = B2 A1 = B1 A0 = B0 0 0 1

Entradas de arrastre

 EnDocumen-
la carpeta Los circuitos comparadores disponen de tres entradas
llamadas de arrastre o de cascada, que facilitan la
tación del expansión del número de bits de los números que se
CD, se puede encon- quieren comparar. El comparador comercial 7485,
trar la hoja de caracte- puede comparar números codificados en binario de 4
rísticas del fabricante, bits.
(UD4_7485).
Utilizando las entradas de arrastre se podrían compa-
rar números de 8, 16 y 32 bits conectando 2, 4 u 8
comparadores 7485 en cascada. En la figura se puede
ver el símbolo lógico del 7485.

120
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 121

Bloques funcionales combinacionales

La tabla de verdad del circuito es la que aparece a continuación, donde se puede ver o funcionamien-
4
to de las entradas en cascada.

ENTRADAS ENTRADAS EN CASCADA SALIDAS


A3,B3 A2,B2 A1,B1 A0,B0 > < = A>B A<B A=B
A3 > B3 X X X X X X 1 0 0
A3 < B3 X X X X X X 0 1 0
A3 = B3 A2 > B2 X X X X X 1 0 0
A3 = B3 A2 < B2 X X X X X 0 1 0
A3 = B3 A2 = B2 A1 > B1 X X X X 1 0 0
A3 = B3 A2 = B2 A1 < B1 X X X X 0 1 0
A3 = B3 A2 = B2 A1 = B1 A0 > B0 X X X 1 0 0
A3 = B3 A2 = B2 A1 = B1 A0 < B0 X X X 0 1 0
A3 = B3 A2 = B2 A1 = B1 A0 = B0 1 0 0 1 0 0
A3 = B3 A2 = B2 A1 = B1 A0 = B0 0 1 0 0 1 0
A3 = B3 A2 = B2 A1 = B1 A0 = B0 0 0 1 0 0 1
A3 = B3 A2 = B2 A1 = B1 A0 = B0 x x 1 0 0 1
A3 = B3 A2 = B2 A1 = B1 A0 = B0 1 1 0 0 0 0
A3 = B3 A2 = B2 A1 = B1 A0 = B0 0 0 0 1 1 0

Cuando los números A y B son distintos, el estado de las entradas de arrastre es irrelevante y no tiene
ninguna influencia sobre la salida. El resultado de la comparación solamente depende de cual de los
dos, A o B, es mayor.

Cuando son iguales, el circuito examina el estado de las entradas en cascada para decidir el estado de
las salidas. En la zona sombreada de la tabla, donde los dos números son iguales (A3 = B3, A2 = B2,
A1 = B1, A0 = B0), la salida del circuito sigue el estado de las entradas de arrastre.

Expansión de comparadores
El esquema siguiente muestra la manera de conectar dos comparadores 7485 para comparar dos
números de 8 bits.

Los números para comparar son de 8 bits y se


conectan 4 en uno de los comparadores y los
otros 4 en otro. Se deben conectar los 4 bits de
mayor peso en el segundo comparador, en el
que se toman las salidas del circuito general, y
los de menor peso en el primero.

Si existe desigualdad entre los 4 bits de mayor


peso, el segundo comparador no examina las
entradas en cascada (A>B, A<B y A=B). La
comparación estaría decidida. Si los 4 bits de
mayor peso fuesen iguales el segundo compa-
rador consulta el estado de las entradas en cas-
cada, que dependen del valor de los 4 bits de
menor peso y serían estos los que decidiesen la
comparación.

Si también los 4 bits de menor peso fuesen iguales, los números serían iguales. Como el primer com-
parador tiene un 1 en la entrada de arrastre A=B, su salida A=B se encontrará en el estado 1, lo que
provoca que el segundo comparador también tenga la salida A=B en 1.

Ejemplo resuelto: análisis del 7485


El trabajo propuesto es determinar el estado de las salidas de un 7485, para cada una de las combi-
naciones de las señales de entrada que aparecen en la tabla.

121
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 122

4 ENTRADAS
Lógica digital y microprogramable

ENTRADAS SALIDAS
A>B A<B A=B A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B
a 1 0 0 1 1 0 1 1 1 1 0
b 0 1 0 0 0 0 1 0 0 0 1
c 1 0 0 0 1 0 1 0 1 0 1
d 0 0 1 0 1 0 0 0 1 0 1
y 0 0 1 0 1 0 0 0 1 0 0

Solución
En la combinación de entrada “a”, A (A3 A2 A1 A0) es 13 en decimal y B (B3 B2 B1 B0) 14. Como se pro-
duce desigualdad entre las entradas, la comparación está resuelta y el circuito no tiene en cuenta las
entradas en cascada. Las salidas serán:

ENTRADAS ENTRADAS SALIDAS


A>B A<B A=B A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B
a 1 0 0 1 1 0 1 1 1 1 0 0 1 0

En la combinación de entrada “b”, A es 1 en decimal y B también es 1. Como se produce igualdad


entre las entradas, el circuito consulta las entradas en cascada en las que encuentra un 1 en A<B. Las
salidas serán:

ENTRADAS ENTRADAS SALIDAS


A>B A<B A=B A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B
b 0 1 0 0 0 0 1 0 0 0 1 0 1 0

En la combinación de entrada “c”, A es 5 en decimal y B también es 5. Como se produce igualdad entre


las entradas, el circuito consulta las entradas en cascada en las que encuentra un 1 en A>B. Las sali-
das serán:

ENTRADAS ENTRADAS SALIDAS


A>B A<B A=B A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B
c 1 0 0 0 1 0 1 0 1 0 1 1 0 0

En la combinación de entrada “d”, el número A es 4 en decimal y B 5. Como se produce desigualdad


entre las entradas, la comparación está resuelta y el circuito no tiene en cuenta las entradas en casca-
da. Las salidas serán:

ENTRADAS ENTRADAS SALIDAS


A>B A<B A=B A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B
d 0 0 1 0 1 0 0 0 1 0 1 0 1 0

En la combinación de entrada “e”, A es 4 en decimal y B también es 4. Como se produce igualdad entre


las entradas, el circuito consulta las entradas en cascada en las que encuentra un 1 en A=B. Las sali-
das serán:

ENTRADAS ENTRADAS SALIDAS


A>B A<B A=B A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B
y 0 0 1 0 1 0 0 0 1 0 0 0 0 1

122
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 123

Bloques funcionales combinacionales


4
Aplicación práctica:
Detector del mayor

El circuito de la figura recibe dos números


codificados en binario y presenta en la salida
el mayor.

En la entrada del comparador se aplican dos


números, A y B de n bits.

Cuando A es mayor que B en la salida A<B del


comparador habrá un cero, que se aplica en la
entrada de selección del multiplexor, seleccio-
nando así el canal cero del multiplexor. En la
salida aparecerá A.

Cuando A es menor que B en la salida A<B del


comparador habrá un 1, que se aplica en la
entrada de selección del multiplexor, seleccio-
nando así el canal 1 del multiplexor. En la sali-
da aparecerá B.

Cuando A y B son iguales, en la salida A<B del comparador habrá un 0, y se produce un mal funcionamiento del
sistema, ya que en la salida del multiplexor aparecerá A. Utilizando la salida A=B, conectada a la entrada de
habilitación de los multiplexores, se puede inhibir el circuito, y las salidas del multiplexor estarán, en esa situa-
ción (A=B), todas a 0.

Se trata, por tanto, de configurar con comparadores y multiplexores comerciales de la serie 74xxx el circuito; para
dos números de 4 bits, de manera que cuando sean iguales todas las salidas del multiplexor estén en el estado
cero.

Para implementar el circuito se utilizan los integrados 7485 y el 74157.

123
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:31 PÆgina 124

4 Lógica digital y microprogramable

5. Autoevaluación
Ejercicio 4.1
El trabajo propuesto es analizar la hoja de características del codificador MSI decimal–BCD 74147, des-
crito en la hoja de características del fabricante y comprobar el estado de sus salidas, para cada una
de las combinaciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
9 8 7 6 5 4 3 2 1 D C B A

 EnDocumen-
la carpeta a
b
1
1
0
0
0
1
0
1
1
0
1
0
1
0
1
1
1
1
tación del c 1 1 0 1 1 1 1 1 1
CD, se puede encon-
d 1 1 1 1 1 1 1 1 1
trar la hoja de caracte-
y 1 1 1 1 1 1 1 1 0
rísticas del fabricante,
(UD4_74147). f 1 1 1 1 1 0 0 1 1

Ejercicio 4.2
El trabajo propuesto es utilizar el codificador comercial 74147 en el sistema digital propuesto para el
control de la estación meteorológica, dibujar el esquema teclado-codificador, y especificar el estado de
las entradas y salidas del codificador cuando se quiere visualizar cada uno de los parámetros del sis-
tema.

Ejercicio 4.3
El trabajo propuesto es determinar el estado de las salidas de un 74157 para cada una de las combi-
naciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
S I0 I1 Z
a 1 1 1 1
b 0 0 1 0
c 0 1 0 1
d 0 0 0 0
y 0 0 1 1

Ejercicio 4.4
El trabajo propuesto es indicar, en el circuito de la figura, los estados lógicos en las entradas y salidas
del codificador (I3, I2, I1, I0, A1, A0), entradas de selección del multiplexor (S1, S0) y las salida del
selector de datos (P7, P6, P5, P4, P3, P2, P1, P0), para las condiciones que se indican a continua-
ción.

Caso 1

) Tecla pulsada: 0
) Valores de los parámetros
) Temperatura: 30°
) Humedad: 60%
) Velocidad del viento: 25 km/h
) Litros m2: 70 L/ m2

124
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:32 PÆgina 125

Caso 2
Bloques funcionales combinacionales
4
) Tecla pulsada 2.
) Valores de los parámetros
) Temperatura: 12°
) Humedad: 80%
) Velocidad del viento: 125 km/h
) Litros m2: 90 L/ m2

Ejercicio 4.5
Implementar la función F = a’c + c’d’ utilizando el multiplexor 74150.

Ejercicio 4.6
El trabajo propuesto es implementar la función F = a + bcd’ utilizando el multiplexor 74151.

Ejercicio 4.7
El trabajo propuesto es implementar las funciones F1 y F2, representadas en la tabla de verdad
siguiente, utilizando un 74153.

A1 A0 F1 F2
0 0 0 1
0 1 1 1
1 0 1 0
1 1 0 1

Ejercicio 4.8
En la figura se representa el selector de datos del sistema de visualización de la estación meteorológi-
ca. El trabajo propuesto es determinar las salidas P0, P1 del circuito de la figura mediante la simula-
ción en el entorno informático OrCAD, para las condiciones especificadas en la tabla.

125
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:32 PÆgina 126

4 Lógica digital y microprogramable

VALORES DE LOS PARÁMETROS TECLA PULSADA A1 A0

Temperatura 33° 0 1 1
Humedad 61% 1 1 0
Velocidad del viento 25 km/h 2 0 1
Litros m2 70 l/ m2 3 0 0

Ejercicio 4.9
El trabajo propuesto es simular el funcionamiento del circuito de la figura, que implementa la función
F = xy’ + xz’v’ + yzv, verificando la tabla de verdad.

x y z v F
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1

Ejercicio 4.10
Implementar mediante multiplexores y simular en el entorno inormático OrCAD, un circuito que con-
trole el proceso que se describe a continuación.

Una prensa, situada en una línea de producción, se pone en marcha mediante la actuación simultá-
nea de tres pulsadores: P1, P2 y P3. Si solo se pulsan dos cualquiera, la máquina funciona, pero se acti-
va una señal luminosa que indica una manipulación incorrecta. Por otra parte, cuando se actúa sobre
un solo pulsador, también se encenderá la señal luminosa, pero no se pondrá en marcha la prensa.

126
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:32 PÆgina 127

Bloques funcionales combinacionales

Supóngase que P1, P2 y P3 entregan un 1 cuando se pulsan y que la prensa, y la señal se activan con 1.
4
Diséñese el circuito de control correspondiente, utilizando multiplexores.

Ejercicio 4.11
El trabajo propuesto es determinar el estado de las salidas del circuito integrado 74184, para cada una
de las combinaciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
EN B1 B0 A3 A2 A1 A0 Q32 Q16 Q8 Q4 Q2 Q1
a 1 0 0 0 1 0 0
b 0 0 1 0 1 1 0
c 0 1 0 0 0 0 0
d 0 0 1 0 1 0 1
y 0 1 1 1 0 0 1
f 1 0 0 1 0 0 0

Ejercicio 4.12
El trabajo propuesto es determinar el estado de
las salidas del circuito de la figura para cada
una de las combinaciones de las señales de
entrada que aparecen en la tabla.

ENTRADAS SALIDAS
EN B3 B2 B1 B0 A3 A2 A1 A0 Q64 Q32 Q16 Q8 Q4 Q2 Q1
a 0 1 0 0 0 0 1 0 0
b 0 0 1 0 1 0 1 1 0
c 0 0 1 1 0 0 0 0 1

Ejercicio 4.13
El trabajo propuesto es determinar el estado de las salidas del integrado 74185, para cada una de las
combinaciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
EN I32 I16 I8 I4 I2 I1 B2 B1 B0 A3 A2 A1 A0
a 0 1 1 1 1 1 1
b 0 0 1 0 1 0 1
c 0 0 1 1 0 0 0

Ejercicio 4.14
La figura muestra dos 7448 conectados en cascada para visualizar dos dígitos decimales. El trabajo
propuesto es determinar el estado de la entrada RBI en el convertidor de las unidades y el dígito deci-
mal que aparece en cada uno de los visualizadores, para los distintos casos propuestos en la tabla.

127
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:32 PÆgina 128

4 Lógica digital y microprogramable

ENTRADAS BCD SALIDAS DECIMALES


D3 D2 D1 D0 U3 U2 U1 U0 RBI DECENAS UNIDADES
(Unidades)
a 0 1 1 0 0 0 1 1
b 1 0 0 0 0 0 0 0
c 0 0 0 0 0 0 1 1
d 0 0 0 0 0 0 0 0
y 1 0 0 0 1 0 0 1
f 0 0 1 0 0 1 0 0

Ejercicio 4.15
La figura muestra tres 7448 conectados en cascada para visualizar tres dígitos decimales. El trabajo
propuesto es determinar el estado de la entrada RBI en el convertidor de las decenas y el dígito deci-
mal que aparece en cada uno de los visualizadores, para los distintos casos propuestos en la tabla.

128
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:32 PÆgina 129

C3 C2 C1 C0 D3 D2 D1 D0 U3 U2 U1
Bloques funcionales combinacionales

U0 RBI CENTENAS DECENAS UNIDADES


4
(decenas)
a 0 0 0 0 0 0 1 1 1 0 0 0
b 1 0 0 0 0 0 0 0 0 1 0 0
c 0 0 0 0 0 0 1 1 0 0 0 0
d 0 0 0 0 0 0 0 0 0 0 0 0
y 1 0 0 0 1 0 0 1 0 0 0 0
f 0 0 1 0 0 1 0 0 0 0 1 0
g 0 1 0 1 0 0 0 0 0 0 0 0
h 0 0 0 0 0 0 0 0 0 1 1 1

Ejercicio 4.16
El trabajo propuesto es determinar el estado de las salidas de un 74154, para cada una de las combi-
naciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
G1 G2 D C B A 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
a 0 0 0 1 0 0
b 0 0 0 0 1 1
c 1 0 1 1 1 1
d 0 0 0 1 0 0
y 0 1 0 1 0 1
f 0 0 0 0 0 0
g 0 0 1 0 1 1
h 1 1 0 0 0 1

Ejercicio 4.17
El circuito integrado 74138 es un decodificador de 3 a 8 líneas. Su símbolo lógico es el
siguiente:

 Endel lafabricante,


carpeta Documentación del CD, se puede encontrar la hoja de características
(UD4_74138).

Este integrado tiene 3 entradas de habilitación, dos activas a nivel bajo ( y ) y una activa a
nivel alto (G1). Para habilitar el circuito es necesaria la combinación 001.

El trabajo propuesto es determinar el estado de las salidas del 74138 para cada una de las
combinaciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
G 2A G 2B G1 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
a 1 0 1 1 1 0
b 0 0 1 1 1 0
c 0 0 1 1 1 1
d 0 0 0 1 0 1
y 0 1 0 1 0 1
f 0 0 1 0 0 0
g 0 0 1 1 0 1

Ejercicio 4.18
El circuito integrado 74139, implementa dos decodificadores de 2 a 4 líneas con entradas de habilita-
ción independientes, activas a nivel bajo. Su símbolo lógico es el siguiente (fig. página siguiente):

129
L gica digital y prog_ U 04-final.qxp 16/05/2007 17:32 PÆgina 130

4 Lógica digital y microprogramable

El trabajo propuesto es determinar el estado de las salidas de un 74139 para cada una de las combi-
naciones de las señales de entrada que aparecen en la tabla.

ENTRADAS SALIDAS
E 1a A0a A1a O 0a O 1a O 2a O 3a
a 1 1 1
b 0 0 1
c 0 1 1
d 0 1 0

Ejercicio 4.19
El trabajo propuesto es implementar un demultiplexor de 1 a 8 utilizando un decodificador 74138.

Ejercicio 4.20
Determina el estado de las salidas de un 7485 para cada una de las combinaciones de entrada que se
especifican en la tabla.

ENTRADAS SALIDAS
A>B A<B A=B A3 A2 A1 A0 B3 B2 B1 B0 A>B A<B A=B
1 0 0 1 1 1 1 1 1 0 0 1 0 0
0 1 0 0 1 0 1 0 0 0 1 1 0 0
0 0 1 0 1 1 1 0 1 1 1 0 0 1
0 0 1 0 1 0 0 0 1 0 1 0 1 0
0 1 0 0 1 1 0 0 1 1 0 0 1 0

Ejercicio 4.21
El trabajo propuesto
es simular con la he-
rramienta informática
OrCAD, el circuito que
aparece en la figura,
comprobando su fun-
cionamiento en los tres
supuestos siguientes:

A=0yB=1
A=9yB=8
A=6yB=6

130
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:42 PÆgina 131

UNIDAD 5

Aritmética en los códigos binarios

Objetivos
) Describir varios procedimientos para la realización de operaciones aritméticas,
como la suma y la resta, empleando los sistemas de numeración binario natural y
decimal codificado en binario (BCD).
) Introducción al sistema de codificación binario en complemento a dos, para reducir
las necesidades circuitales aritméticas, convirtiendo las restas en sumas.
) Descripción de los diferentes circuitos integrados comerciales que implementan las
operaciones aritméticas descritas.
) Realización, por parte del alumno, de un prototipo de circuito electrónico aritméti-
co empleando circuitos integrados sumadores, revisando los conceptos teóricos
desarrollados anteriormente.
) Repaso de los métodos de implementación de prototipos desarrollados en unida-
des anteriores: diseño, simplificación, dibujo, edición y simulación del esquema por
medio de un programa de CAD electrónico, montaje en un entrenador y compro-
bación del funcionamiento y, en su caso, detección de averías y subsanación de la
causa.
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:42 PÆgina 132

5 Lógica digital y microprogramable

1. Aritmética binaria
Suma binaria
La suma en el sistema binario se realiza de un modo similar a como se hace en el sistema decimal, con
la particularidad de que los únicos dígitos que aparecen ahora son el 0 y el 1. Las sumas más elemen-
tales son las de un solo dígito, y se muestran a continuación junto con su equivalente en decimal:

decimal: 0+0=0 0+1=1+0=1 1+1=2


v v v
0 0 1
binario: + 0 + 1 + 1
0 1 1 0

Obsérvese que uno más uno son dos, que en binario se escribe 10, es decir, 12+12=102=210.

En las sumas binarias de números de más de un dígito, se procederá del mismo modo que en el siste-
ma decimal, haciendo sumas parciales empezando por la derecha. También se tendrá en cuenta que
cuando una suma parcial dé más de un dígito, hay que llevar un acarreo a la suma siguiente. En el
caso del binario, esto ocurre por ejemplo cuando se suman 1+1, que da 10 (dos) y también cuando se
suman 1+1+1, que da 11 (tres); en estos casos se llevará el 1 de mayor peso a la suma siguiente,
según se muestra en el ejemplo que sigue:

acarreos → 1 1 1 1 1
1 1 1 1 0 1 0 1 0 → 4 9 0
+ 0 1 0 1 0 1 1 0 0 → + 1 7 2
1 0 1 0 0 1 0 1 1 0 → 6 6 2

1.1 Sumadores binarios


En los sistemas digitales pueden presentarse situaciones en las que sea necesario hacer la suma de dos
números que, lógicamente, estarán expresados en binario. Seguidamente se describen los circuitos
lógicos que realizan sumas binarias.

Semisumador o Half-A
Adder (H-A
A)
Un semisumador es un circuito que realiza la suma de dos números de un bit cada uno. Las entradas
del circuito serán dos, una para cada bit a sumar; sean a y b. Las salidas del circuito, funciones de las
entradas, también serán dos, ya que la suma puede tener hasta dos bits como resultado; sean co y s
los bits de la salida de mayor y menor peso respectivamente. Según las reglas aritméticas, la relación
entre los bits de entrada y los de salida viene dada por la tabla de verdad siguiente:

entradas salidas
a b co s
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

En la tabla anterior se puede ver de


modo inmediato que las funciones
que definen al semisumador son las
siguientes:
co = a · b
s=a⊕b

Esquema del circuito semisumador.

132
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:42 PÆgina 133

Sumador completo o Full-A


Adder (F-A
A)
Aritmética en los códigos binarios
5
Un sumador completo es un circuito que suma dos bits, como el semisumador, pero además tiene en
cuenta un posible acarreo de una suma anterior y lo incorpora a la suma que realiza. Las entradas del
circuito serán tres, una para cada bit a sumar más el acarreo; sean a, b y ci respectivamente. Las sali-
das del circuito, funciones de las entradas, serán dos, ya que la suma puede tener hasta dos bits como
resultado; sean s y co como en el H-A. Según las reglas aritméticas, la relación entre los bits de entra-
da y los de salida viene dada por la tabla de verdad siguiente:

entradas salidas
ci a b co s
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Empleando los métodos de obtención y simplificación de funciones lógicas descritos en unidades ante-
riores, se puede llegar a las expresiones siguientes:

co = a · b + b · c i + a · c i
s = (a · b + a · b ) · ci + (a · b + a · b ) · ci = (a ⊕b ) · ci + (a ⊕b ) · ci = a ⊕ b ⊕ ci

El esquema del circuito sumador


completo será, por lo tanto:

También se puede comprobar (con la


ayuda de una tabla de verdad, por
ejemplo) que un sumador completo
se puede obtener a partir de dos
semisumadores del modo siguiente:

Sumador paralelo con acarreo serie


Un sumador paralelo es un circuito que suma dos números
de más de un bit cada uno, a partir de la disposición simul-
tánea de todos los bits de los operandos. Más adelante se
verán los sumadores serie, en los que se va disponiendo de
los bits de los operandos de modo secuencial, unos después
de otros, desde los de menos peso hasta los de más peso.

Un sumador paralelo se puede construir a partir de tantos circuitos sumadores completos como bits
tengan los operandos. Cada sumador completo hace la suma parcial de un bit de cada operando
(entradas a y b) más el bit de acarreo (entrada ci ) de la suma parcial anterior, y proporciona un bit de
resultado para la suma (salida so ) más un acarreo de salida para la suma de los bits siguientes (sali-
da so). Además, se tendrá en cuenta que:

) En el primer par de bits a sumar (los LSB) no existirá acarreo anterior, por lo que en esa etapa se
puede emplear un semisumador o un sumador completo con entrada ci =0.

133
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:42 PÆgina 134

5 Lógica digital y microprogramable

) En el último par de bits a sumar (los MSB) el acarreo no se suma a ninguna etapa siguiente, por
lo que este acarreo será el último bit de la suma.
Por lo tanto, el esquema de un sumador
paralelo, para cuatro bits por ejemplo,
queda como se ve en la figura (izquierda).

En el esquema anterior se puede obser-


var que los bits de acarreo se van propa-
gando en serie de una etapa a la
siguiente, desde la primera hasta la últi-
ma. Por este hecho, el montaje se llama
sumador paralelo con acarreo serie.

Debido al acarreo serie y al retardo pro-


pio de las puertas lógicas, el resultado
de una etapa de la suma no será válido
mientras el acarreo de entrada de esa
etapa también lo sea. Pero este acarreo
de entrada es el acarreo de salida de la
etapa anterior, lo que no será válido
mientras su acarreo de entrada lo sea, y
así sucesivamente hasta la primera
etapa.
primer sumando

segundo sumando Esto quiere decir que los bits del resulta-
sumador paralelo de 4 bits do de la suma van tomando valores váli-
resultado
dos empezando por el LSB y, según se
van propagando los acarreos con el
retardo propio de las puertas que atraviesan, se van obteniendo valores válidos para los demás bits,
hasta llegar al MSB, que es el último en aparecer con un valor estable.

El retardo en la obtención del MSB válido, y por lo tanto en la realización de la suma completa, será
el retardo de un sumador completo multiplicado por el número de bits a sumar.

tsuma = n · tFA

Sumador paralelo con acarreo paralelo o anticipado


Para disminuir el retardo en la realización de las sumas, se puede añadir a los circuitos sumadores
una lógica adicional encargada de generar los acarreos de entrada de cada etapa, directamente a
partir de los bits de entrada, en vez de esperar a que éstos se vayan generando en serie a partir de
las etapas anteriores. Los circuitos resultantes se llaman sumadores paralelo con acarreo paralelo o
anticipado, y presentan una velocidad de suma superior a los de acarreo serie, a costa de una circui-
tería adicional. La circuitería generadora de los acarreos es complicada, por lo que no se describirá en
este libro.

De ahora en adelante se va a representar el sumador paralelo por


medio de su símbolo, sin indicar si internamente el acarreo es
serie o paralelo, ya que en el esquema de un circuito no es nece-
sario detallar esta información. Este dato sólo será importante por
su implicación en la velocidad del circuito, lo que vendrá refleja-
do en sus hojas de características. De todos modos, muchos de los
circuitos integrados comerciales sumadores MSI están realizados
internamente con generación anticipada del acarreo, por lo que
presentan buenas velocidades de suma. En la figura siguiente se
muestra el símbolo de un sumador paralelo de cuatro bits en la
simbología europea (izquierda) y americana (derecha):

Sumador paralelo con acarreo mixto


Existe un compromiso entre velocidad de suma y complejidad circuital. La complejidad de la circuite-
ría generadora de acarreos crece considerablemente con el número de bits a sumar, por lo que en la

134
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 135

práctica, la mayoría de los sumadores inte-


Aritmética en los códigos binarios
5
grados MSI con acarreo paralelo se limitan
a 4 bits. Cuando es necesario hacer una
suma de más de cuatro bits, se emplean
módulos integrados de 4 bits, que realizan
internamente la suma con acarreo parale-
lo, y se combinan externamente hasta
alcanzar el número de bits deseado, propa-
gando el acarreo en serie de una etapa a la
siguiente. Seguidamente se muestra un
sumador de 12 bits realizado con tres su-
madores de cuatro bits cada uno (derecha):

Dado que en el anterior montaje la propa-


gación del acarreo en el interior de los inte-
grados es en paralelo, pero, externamente,
de circuito a circuito es en serie, el suma-
dor resultante se llama sumador paralelo
con acarreo mixto. Es más rápido que un
sumador con acarreo totalmente en serie,
pero más lento que un sumador con aca-
rreo totalmente en paralelo, aunque consi-
derablemente menos complejo, y por lo
tanto menos caro y con menos consumo
que este último.

Dado que en el montaje anterior, la principal causa de retardo es la propagación del acarreo de un cir-
cuito al siguiente, algunos sumadores integrados hacen internamente la suma con acarreo serie, pero
el acarreo final de salida de la etapa se hace por generación anticipada, para no retardar la etapa
siguiente.

Sumador serie
Un sumador serie es un circuito que suma dos números de más de un bit cada uno, a partir de la dis-
posición de los bits de los operandos de modo secuencial, unos después de otros, desde los de menos
peso hasta los de más peso. Los bits del resultado también se proporcionan de modo secuencial, según
se van obteniendo a partir de los bits de entrada. En este tipo de sumadores es necesario tener algún
dispositivo de memoria externa que permita almacenar tanto los bits de entrada como los de la sali-
da. Además, el sumador también tendrá internamente una célula de memoria que permita almacenar
el acarreo obtenido en la suma de los bits n-ésimos, para tenerlo en cuenta en la suma siguiente de
los bits (n+1)-ésimos. Por ello, estos circuitos no se estudiarán en esta unidad, ya que se trata de cir-
cuitos secuenciales, que se verán más adelante.

Aritmética en lógica negativa


Se puede observar que la operación de la suma binaria tal como la lleva a cabo un circuito sumador,
también es válida si los operandos vienen dados en lógica negativa, es decir, interpretando los unos
como ceros y viceversa. Por ejemplo, la suma siguiente se puede comprobar que es válida si los ope-
randos y el resultado se interpretan tanto en lógica positiva como en negativa:

suma binaria valores en lógica+ valores en lógica -


acarreo entrada 0 0 1
operando 1 0110 6 9
operando 2 + 1011 + 11 +4
resultado 10001 17 14

En general, las operaciones aritméticas que se van a describir en esta unidad son válidas para inter-
pretaciones de los operandos y resultados tanto en lógica positiva como en negativa. Es frecuente que
en las hojas de datos de los circuitos integrados aritméticos comerciales se haga referencia a esta pro-
piedad.

135
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 136

5 Lógica digital y microprogramable

1.1.1 Realización de sumadores con circuitos integrados


comerciales MSI
Ejemplo resuelto 1
Interpretar las hojas de características del sumador 74LS83 que se muestran a continuación:

Solución
De las hojas de características se obtienen los siguientes datos:

Denominación del circuito:


) 4-Bit binary full adder with fast carry.
) “Sumador binario completo de 4 bits con acarreo rápido”.

136
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 137

Número de serie y tecnología:


Aritmética en los códigos binarios
5
) 54/74LS83: tecnología TTL, familia 74 (serie comercial) y 54 (militar), subfamilia LS (Low
power Schottky), número de serie 83.

Descripción:
) The SN54/74LS83A is a high-speed 4-Bit binary Full Adder with internal carry lookahead. It
accepts two 4-bit binary words (A1 –A4, B1 –B4 ) and a Carry Input (C0 ). It generates the
binary Sum outputs (Σ1– Σ4) and the Carry Output (C4) from the most significant bit. The
LS83A operates with either active HIGH or active LOW operands (positive or negative logic).
The SN54/ 74LS283 is recommended for new designs since it is identical in function with this
device and features standard corner power pins.
) “El SN54/74LS83A es un sumador binario completo de 4 bits de alta velocidad con acarreo
interno anticipado. Acepta dos palabras binarias de 4 bits (A1-A4, B1-B4) y un acarreo de
entrada (C0). Genera las salidas binarias suma (Σ 1- Σ4) y el acarreo de salida (C4) a partir
del bit más significativo. El LS83A opera indistintamente con operandos activos a nivel alto
o bajo (lógica positiva o negativa). Para diseños nuevos, se recomienda el SN54/74LS283 ya
que es idéntico en función a este dispositivo y presenta la disposición estándar de los pines
de alimentación en las esquinas”.
Esta última frase hace referencia al hecho de que el 74LS83 no tiene los pines de alimenta-
ción en las esquinas, en los pines 8 y 16, como ocurre en la mayoría de los circuitos TTL, sino
en los pines 5 y 12. Por ello, recomienda usar el 283, que hace la misma función pero con un
patillaje distinto, con los pines de alimentación en la posición habitual.

Patillaje:
) Se describe en el símbolo del circuito bajo el título Logic Symbol (“símbolo lógico”).

Tabla de verdad:
) Bajo el título Functional Truth Table (“tabla funcional de verdad”) se describe la relación
entre los bits de la suma en la etapa n-ésima An, Bn y el acarreo de la etapa anterior C(n-
1), y los bits de suma n-ésimo Σn y el acarreo para la etapa siguiente Cn. Esta relación es la
ya conocida tabla de verdad del sumador completo de un bit.

Ejemplo resuelto 2
Diseñar un circuito sumador de ocho bits empleando circuitos integrados 74LS83.

Solución
Como el 74LS83 es un sumador de 4 bits serán
necesarios dos integrados para hacer un
sumador de ocho bits. El sumador para los
cuatro bits de menor peso no tiene etapa ante-
rior, por lo que el bit de acarreo de entrada del
circuito se llevará a 0, mientras que el acarreo
de salida se llevará a la entrada de acarreo
del sumador para los cuatro bits de más peso.
El bit de acarreo de salida del segundo suma-
dor constituye el noveno bit de la suma, ya
que dos números de ocho bits sumados pue-
den dar un resultado de hasta nueve bits.

El circuito resultante es el de la figura de la


derecha:

1.2 Resta binaria. Complemento a 1 y a 2


Implícitamente, a la operación de la resta va ligada la necesidad de representación de números posi-
tivos y negativos. En el caso del binario, el sistema de representación más sencillo, a priori, es el módu-
lo-signo.

137
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 138

5 Lógica digital y microprogramable

Módulo-ssigno (MS)
En este sistema, en un número de n bits, el bit n-ésimo (el más a la izquierda) se llama bit de signo, y
no contribuye a la cantidad representada, sino que sólo indica si el número es positivo (bit igual a 0)
o negativo (bit igual a 1). El módulo (valor absoluto) del número representado se expresa en binario
natural con los demás n-1 bits. Por lo tanto, en módulo-signo de n+1 bits (n para la magnitud y 1 para
el signo), solamente se pueden representar números del –(2n–1) al 2n-1, siendo el MSB el bit n-ésimo,
ya que el (n+1)-ésimo es el de signo. Se puede comprobar que existen dos combinaciones binarias que
corresponden al cero, una positiva y otra negativa. Ejemplos:

bit de signo ↓
10000MS=-0=0
00000MS=+0=0
00100MS=+410
10100MS=-410
01111MS=+1510
11111MS=-1510

La decodificación de un número en MS es inmediata, ya que el módulo viene dado en binario natural


y sólo es necesario hacerlo positivo o negativo a partir del bit de signo.

A partir de la representación en módulo-signo, la resta binaria se puede plantear, igual que se hizo con
la suma, por analogía con el sistema decimal. Este planteamiento llevaría al desarrollo de un nuevo
conjunto de circuitos digitales restadores, del mismo modo que se hizo con los sumadores.

Existen métodos alternativos para la realización de restas binarias, que aportan ventajas sobre el méto-
do anterior, ya que con la misma circuitería ya desarrollada para los sumadores, se pueden realizar las
restas de forma más flexible. Estos métodos se basan en el uso de otros códigos binarios para codifi-
car los números negativos. A continuación se describen estos métodos.

Complemento a 1 (CA1)
Al igual que en el sistema de módulo-signo, en el sistema de codificación en complemento a 1, de los
bits que forman el número binario, el más a la izquierda se emplea para indicar el signo del número
representado (bit de signo).

La codificación de un número en CA1 se hace de acuerdo con las siguientes reglas:


) Números positivos: el número se codifica en binario natural y se le añade a la izquierda el
bit de signo=0.
) Números negativos: se parte de la codificación como si fuese positivo, según la regla de los
positivos, y después se complementa a 1 (cambiar 1’s por 0’s y viceversa).

En CA1, los números positivos son igual que en binario natural, con la particularidad de que siempre
empiezan por 0 (bit de signo). En el caso de los números negativos, al complementar el positivo de
partida, el bit de signo pasa a valer 1, lo que indica que es negativo. Ejemplos:

número en CA1 signo módulo valor decimal cambiar 1`s por 0`’s y viceversa
para obtener el verdadero número
00100 + 0100=410 4
11011 - 11011 → 00100=410 -4 ← complementado a 1
01111 + 1111=1510 15
10000 - 10000 → 01111=1510 -15 ← complementado a 1
00000 + 0000=010 +0=0
11111 - 11111 → 00000=010 -0=0 ← complementado a 1

En CA1, el número cero tiene dos posibles representaciones, una positiva y otra negativa. El rango de
valores que se pueden representar en CA1 de n+1 bits (n para la magnitud y 1 para el signo) va desde
–(2n -1) hasta 2n -1.

138
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 139

Aritmética en los códigos binarios

La decodificación de un número en CA1 es inmediata para los positivos, y para los negativos basta con
5
hacer de nuevo el complemento a 1 para obtener su módulo en binario natural.

Complemento a 2 (CA2)
Al igual que en CA1, en CA2 el bit más a la izquierda se emplea para indicar el signo del número repre-
sentado (bit de signo).

La codificación de un número en CA2 se hace de acuerdo con las siguientes reglas:

) Números positivos: el número se codifica como en CA1 (en binario natural y añadiendo a la
izquierda el bit de signo=0).
) Números negativos: se codifica como en CA1 y al resultado del complemento se le suma 1 en
binario natural.

En CA2, los números positivos son igual que en CA1 y que en binario natural, con la particularidad que
siempre empiezan por 0 (bit de signo). En el caso de los números negativos, al complementar el posi-
tivo de partida, el bit de signo pasa a valer siempre 1, lo que indica que es negativo.

Para decodificar un número negativo en CA2, se procede igual que en la codificación, es decir, se vuel-
ve a complementar a 1 y luego se le suma 1. El número obtenido leído en binario natural es el módu-
lo del número negativo de partida en CA2. Ejemplos:

número en CA2 signo CA1+ 1 en negativos módulo valor decimal


00100 + 0100=410 4
10100 - 10100 → 01011 + 1=01100 01100=1210 -12
11100 - 11100 → 00011+1=00100 00100=410 -4
01111 + 1111=1510 15
10001 - 10001 → 01110+1=01111 01111=1510 -15
11111 - 11111 → 00000+1=00001 00001=110 -1
00000 + 0000=010 0
10000 - 10000 → 01111+1=10000 10000=1610 -16

Obsérvese que en CA2, el número cero sólo tiene una posible representación, la positiva 000...00, y que
el rango de valores que se pueden representar en CA2 de n+1 bits (n para la magnitud y 1 para el
signo) va desde –2n hasta 2n-1.

Resumen de sistemas de numeración binarios con signo


n+1 MS CA1 CA2
bits + - + - + - Decodificar -
↓ ↓ ↓ ↓ ↓ ↓ ↓
módulo en módulo en módulo en módulo en módulo en módulo en complemento
binario natu- binario natu- binario natu- binario natu- binario natu- binario natu- a1
ral de n bits ral de n bits ral de n bits ral de n bits ral de n bits ral de n bits
método ↓ ↓ ↓ ↓ ↓ ↓ ↓
de añadir bit de añadir bit de añadir bit de añadir bit de añadir bit de añadir bit de sumar 1
codificación signo = 0 signo = 1 signo = 0 signo = 0 signo = 0 signo = 0
↓ ↓ ↓
complemento complemento leer módulo
a1 a1 en binario
natural
↓ ↓
sumar 1 poner signo -
rango valores 2n-1 -(2n-1) 2n-1 -(2n-1) 2n-1 -2n
códigos del 0 000...00 100...00 000...00 111...11 000...00 -------

139
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 140

5 Lógica digital y microprogramable

Empleando los sistemas CA1 o CA2 para codificar números con signo, se pueden desarrollar circuitos
sumadores y restadores a partir del sumador paralelo descrito en apartados anteriores, sin necesidad
de diseñar nuevos circuitos aritméticos como ocurre cuando se emplea el módulo-signo. Seguidamente
se describe el método para el CA2 por ser el más empleado.

1.2.1 Sumador/restador en complemento a 2


Suma en CA2
Matemáticamente se demuestra que si se suman dos números codificados en CA2 de n+1 bits (positi-
vos o negativos), con las reglas de la suma binaria natural, el número obtenido es, leído en CA2 de
n+1 bits (se desprecia el posible bit n+2 de acarreo), la suma de los números de partida, teniendo en
cuenta los signos. Ejemplos:

CA2 suma binaria CA2 suma binaria CA2 suma binaria


00110= 610 → 00110 00110=610 → 00110 11100=-410 → 11100
00011= 310 → + 11100 10011=-1310 → + 10011 11011=-510 → + 11011
01001= 910 ← 100010 11001=-710 ← 11001 10111=-910 ← 110111
↑ ↑
Se desprecia el bit de acarreo Se desprecia el bit de acarreo

Así pues, la suma de dos números en CA2(n+1 bits), se puede realizar con el mismo circuito que en el
caso del binario natural. En la figura siguiente se muestra un ejemplo de sumador en CA2(3+1 bits),
donde el bit de signo aparece con el subíndice s y los bits de magnitud con los subíndices del 0 al 2:

Hay que tener en cuenta que al sumar dos


números en CA2(n+1), el resultado no siem-
pre se va a poder expresar en CA2(n+1). Así,
cuando se suman dos números positivos,
cada uno con n bits de magnitud, el resulta-
do también será positivo y puede llegar a
tener hasta n+1 bits de magnitud, lo que
no se puede codificar en CA2(n+1), sino
que haría falta CA2[(n+1)+1]. A este hecho
se le llama desbordamiento. Por ejemplo:

CA2(3+1) suma binaria la suma debería ser:


01 01=510 → 0101 0101 CA(3+1) 910 en CA(3+1) no es posible
01 00=410 → + 0100 + 0100 CA(3+1) ↓
1001=-710 ← 1001 01001 CA(4+1) = 910

no es correcto, ya que en CA2(3+1), 1001= -710, que no es 5+4=9

Lo mismo puede ocurrir cuando se suman dos números negativos, por ejemplo:

CA2(3+1) suma binaria la suma debería ser:


1001=-710 → 1001 1001 CA(3+1) -1110 en CA(3+1) no es posible
1100=-410 → + 1100 + 1100 CA(3+1) →
0101=510 ← 10101 10101 CA(4+1) = -1110


no es correcto, ya que en CA2(3+1), 0101= 510, que no es -7+(-4)= -11

140
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 141

Aritmética en los códigos binarios

Cuando se suma un número positivo y un negativo, nunca va a haber desbordamiento, es decir, el


5
resultado, positivo o negativo, siempre se va a poder expresar en CA2(n+1), igual que los sumandos.

En las situaciones de desbordamiento, el resultado, que es incorrecto, presenta un bit de signo contra-
rio al de los sumandos. Así, cuando se suman dos números positivos y hay desbordamiento, el resulta-
do presenta signo negativo. Recíprocamente, cuando se suman dos números negativos y hay desbor-
damiento, el resultado presenta signo positivo. Esta incongruencia puede emplearse para diseñar un
circuito detector de desbordamientos, que indique al usuario que el resultado obtenido de la suma no
es correcto.

El circuito detector de desbordamientos presentará la siguiente tabla de verdad y función lógica:

As Bs Ss Ov
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0 Ov = As · Bs · Ss +· As · Bs · Ss
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0

donde As, Bs, Ss, son los bits de signo de los


sumandos y del resultado respectivamente, y
Ov es una variable que indica desbordamien-
to cuando vale 1. En la figura siguiente se
muestra el esquema de un circuito sumador en
CA2(3+1) con detector de desbordamiento:

Resta en CA2
Para restar un número a otro, no hay más que
sumarle el opuesto. El opuesto de un número
en CA2, sea positivo o negativo, se obtiene por
el método descrito en apartados anteriores, es
decir, complementando a 1 y sumando 1.

Electrónicamente, la forma de comple-


mentar es invirtiendo los bits mediante
puertas inversoras. En la figura siguiente
se muestra un circuito que hace la resta
de los números A y B en CA2:

Obsérvese que para hacer el CA2 del


sustraendo, además de complementar,
que lo hacen los inversores, es necesa-
rio sumar 1, lo que se consigue introdu-
ciendo un 1 por el acarreo de entrada
del circuito sumador.

En las operaciones de resta también se pueden dar casos de desbordamiento, por ejemplo cuando a
un número positivo se le resta un negativo (equivale a sumar dos positivos), o cuando a un negativo
se le resta un positivo (equivale a sumar dos negativos). De modo análogo a como se hizo para la
suma, se podría diseñar un circuito detector de desbordamiento para la resta.

Sumador/restador en CA2
Puede diseñarse un circuito que haga las dos funciones: A+B y A-B, según el valor de una señal de
control R, de modo que si R=0 hace la suma y si R=1 hace la resta. Para ello, en función de la señal
R, los bits de B deberán llegar directos o invertidos al sumador, y el acarreo de entrada deberá valer
0 o 1, respectivamente.

141
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 142

5 Lógica digital y microprogramable

Es inmediato comprobar que el acarreo de entrada se toma directamente de la señal R, es decir, Ci=R.

En cuanto al complemento de B, sean K los bits que llegan a la segunda entrada del sumador proce-
dentes de B, de modo invertido si R=1, y directos si R=0. Entonces, la relación entre los bits Bi y los
Ki, según R, será:

R Bi Ki
0 0 0
0 1 1
1 0 1
1 1 0

De la tabla de verdad es inmediato


ver que Ki = R ⊕ Bi, es decir, una
puerta o exclusiva puede actuar
como un inversor de una entrada
controlado por la otra entrada.

El circuito sumador/restador resul-


tante es el que aparece en la figura
de la izquierda:

Finalmente, se podría añadir al


sumador/restador un circuito detec-
tor de desbordamiento que, depen-
diendo de si se hace una suma o
resta, detecte las incongruencias entre los signos de las entradas y el de la salida.

1.2.2 Uso y operaciones aritméticas en los sistemas de


numeración en MS, CA1 y CA2
Ejemplo resuelto 1
Expresar en MS(7+1), CA1(7+1) y CA2(7+1), los siguientes números decimales: 0, 25, -25, 64, -64, 78,
-78, 123, -123, 127, -127, 128, -128.

Solución

) Expresar el valor absoluto de los números en binario natural:

decimal binario natural


0 0
25 11001
-25 1100
64 1000000
-64 1000000
78 1001110
-78 1001110
123 1111011
-123 1111011
127 1111111
-127 1111111
128 10000000
-128 10000000

) Expresar el anterior valor con 7 bits y añadir un 0 como octavo bit de signo. Se pone signo posi-
tivo porque de momento se está trabajando con los valores absolutos:

142
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 143

Aritmética en los códigos binarios

decimal binario natural 7 + bit signo


0 0 0 0000000
25 11001 0 0011001
-25 11001 0 0011001
64 1000000 0 1000000
-64 1000000 0 1000000
78 1001110 0 1001110
-78 1001110 0 1001110
123 1111011 0 1111011
-123 1111011 0 1111011
127 1111111 0 1111111
-127 1111111 0 1111111
128 10000000 no puede
-128 10000000 no puede

Los números positivos de partida ya quedan expresados en los sistemas requeridos:

decimal binario natural 7 + bit signo MS CA1 CA2


0 0 0 0000000 0 0000000 0 0000000 0 0000000
25 11001 0 0011001 0 0011001 0 0011001 0 0011001
-25 11001 0 0011001
64 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-64 1000000 0 1000000
78 1001110 0 1001110 0 1001110 0 1001110 0 1001110
-78 1001110 0 1001110
123 1111011 0 1111011 0 1111011 0 1111011 0 1111011
-123 1111011 0 1111011
127 1111111 0 1111111 0 1111111 0 1111111 0 1111111
-127 1111111 0 1111111
128 10000000 no puede no puede no puede no puede
-128 10000000 no puede

) Para los negativos en MS, cambiar el bit de signo 0 por 1.


) Para los negativos en CA1, complementar todos los bits (cambiar unos por ceros y ceros por unos).
) Para los negativos en CA2, tomar el resultado en CA1 y sumar algebraicamente 1. Como excep-
ción, el número –128 se representa como 10000000, que es negativo y se obtiene de complemen-
tar y sumar 1 al –128 en (8+1), que da como resultado un número en CA2(7+1), tras despreciar
el acarreo de salida.

decimal binario natural 7 + bit signo 8+1 MS(7+1) CA1(7+1) CA2(7+1)


0 0 0 0000000 0 0000000 0 0000000 0 0000000
25 11001 0 0011001 0 0011001 0 0011001 0 0011001
-25 11001 0 0011001 1 0011001 1 1100110 1 1100111
64 1000000 0 1000000 0 1000000 0 1000000 0 1000000
-64 1000000 0 1000000 1 1000000 1 0111111 1 1000000
78 1001110 0 1001110 0 1001110 0 1001110 0 1001110
-78 1001110 0 1001110 1 1001110 1 0110001 1 0110010
123 1111011 0 1111011 0 1111011 0 1111011 0 1111011
-123 1111011 0 1111011 1 1111011 1 0000100 1 0000101
127 1111111 0 1111111 0 1111111 0 1111111 0 1111111
-127 1111111 0 1111111 1 1111111 1 0000000 1 0000001
128 10000000 no puede no puede no puede no puede
-128 10000000 no puede 1 01111111 no puede no puede 1 0000000
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 144

5 Lógica digital y microprogramable

Ejemplo resuelto 2
Pasar a decimal los siguientes números binarios expresados en el sistema de codificación indicado:
01101(MS), 01101(CA1), 01101(CA2), 110110(MS), 110110(CA1), 110110(CA2), 1000110(MS),
1000110(CA1), 1000110(CA2).

Solución
Los números que empiezan con bit de signo=0 son positivos, por lo tanto, su valor coincide con la
interpretación en binario natural de los demás bits:

sin bit de signo MS CA1 CA2


01101 1101 13 13 13
110110
1000110

Para los números negativos en MS, se interpretarán los bits de módulo como en binario natural y se le
añadirá el signo negativo.

Para los números negativos en CA1, se tomará el número completo (con bit de signo) y se complemen-
tará (unos por ceros y ceros por unos), interpretando el resultado en binario natural y añadiendo el
signo negativo.

Para los números negativos en CA2, se tomará el resultado del complemento del CA1 y se le sumará 1,
interpretando el resultado en binario natural y añadiendo el signo negativo.

sin bit de signo complemento complemento+1 MS CA1 CA2


01101 1101 13 13 13
110110 10110 (=22) 001001 (=9) 001010 (=10) -2
22 -9
9 -1
10
1000110 000110 (=6) 0111001 (=57) 0111010 (=58) -6
6 -5
57 -5
58

Ejemplo resuelto 3
Hacer las siguientes operaciones en CA2(7+1): 48+36, 37-28, 68-103, -24-50, 75+86

Solución
) Teniendo en cuenta que las operaciones de resta pueden expresarse como sumas, las operacio-
nes a realizar se pueden expresar como sigue:
48+36 = 48+36

37-28 = 37+(-28)

68-103 = 68+(-103)

-24-50 = -24+(-50)

75+86 = 75+86

) Ahora que todas las operaciones son sumas, expresar los sumandos en CA2(7+1):
48=00110000 36=00100100

37=00100101 -28=11100100

68=01000100 -103=10011001

-24=11101000 -50=11001110

75= 01001011 86= 01010110

) Hacer las sumas en binario natural, despreciando el posible acarreo de salida e interpretar el
resultado en CA2, teniendo en cuenta la coherencia entre los signos de los sumandos y el del
resultado.

144
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:43 PÆgina 145

00110000 00100101 01000100


Aritmética en los códigos binarios

11101000 01001011
5
+ 00100100 + 11100100 + 10011001 + 11001110 + 01010110
01010100 1 00001001 11011101 1 10110110 10100001
↓ ↓ ↓ ↓ ↓
0 1010100 0 0001001 1 1011101 1 0110110 1 0100001
↓ ↓ ↓ ↓ ↓
84 9 -35 -74 desbordamiento

1.2.3 Realización de sumadores/restadores en CA2


con circuitos integrados comerciales MSI
Ejemplo resuelto 1
Empleando circuitos integrados CMOS, realizar un sumador/restador de 3+1 bits. El circuito recibirá
dos números en CA2(3+1) A y B, y en función de una señal de control R, hará las operaciones A+B
para R=0, y A-B para R=1.

Solución
Para hacer un sumador/-
restador de 4 bits es nece-
sario un sumador de cua-
tro bits y cuatro puertas
XOR de dos entradas. En
tecnología CMOS se dispo-
ne del sumador 4008, del
que se muestra su esque-
ma y tabla de verdad:

En CMOS también se dispone del 4030 que


contiene cuatro puertas XOR de dos entra-
das. El esquema del sumador/restador de
3+1 bits queda como se puede ver en la
figura de la derecha:

145
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 146

5 Lógica digital y microprogramable

1.3 Suma y resta en BCD


Suma BCD
Cuando se suman dos números de un dígito en BCD (4 bits), pueden darse dos situaciones:

) Situación 1: resultado igual o menor que 9. En este caso, un sumador binario natural de 4 bits
puede realizar la suma, ya que el resultado obtenido sigue siendo un dígito BCD. Por ejemplo:
0101BCD = 510
+ 0011BCD = 310
1000 BCD = 810

) Situación 2: resultado mayor que 9. En este caso, el resultado obtenido de un sumador binario
natural no es correcto, ya que da un número binario natural mayor que 9 y no coincide con BCD,
que requiere de dos dígitos, y por lo tanto de 4+4 bits. Por ejemplo:
0101BCD = 510
+ 0110BCD = 610
10112 = 1110 = 0001 0001 BCD

En la suma binaria natural de dos dígitos BCD, el mayor resultado que se puede tener es cuan-
do se suman 9+9=18, o incluso más, se puede llegar a 19 si se tiene en cuenta el acarreo de una
suma anterior. Estos resultados requieren de cinco bits, por lo que se debe tener en cuenta el aca-
rreo de salida del sumador de cuatro bits.

Cuando se da la situación 2, aún se puede obtener el resultado BCD correcto siguiendo los siguientes
pasos:
) Dado un número binario natural de cinco bits con un valor de 1010 a 1910, tomar sólo los cuatro
bits de menos peso.
) Al número de cuatro bits obtenido, sumarle el factor corrector 01102.
) Tomar sólo los cuatro primeros bits del resultado, despreciando el posible acarreo de la suma.
) El número de cuatro bits obtenido es el dígito de las unidades del número de cinco bits de par-
tida, expresado en BCD.
) El dígito de las decenas en BCD es siempre 0001, para cualquier número de partida especi-
ficado.

En la tabla siguiente se muestra y comprueba el proceso descrito:

decimal → binario → 4 bits + factor = suma → 4 bits ⇔ número


5 bits menos peso corrector binaria menos peso de partida
en BCD

10 → 01010 → 1010 + 0110 = 10000 → 0000 ⇔ 1 0000


11 → 01011 → 1011 + 0110 = 10001 → 0001 ⇔ 1 0001
12 → 01100 → 1100 + 0110 = 10010 → 0010 ⇔ 1 0010
13 → 01101 → 1101 + 0110 = 10011 → 0011 ⇔ 1 0011
14 → 01110 → 1110 + 0110 = 10100 → 0100 ⇔ 1 0100
15 → 01111 → 1111 + 0110 = 10101 → 0101 ⇔ 1 0101
16 → 10000 → 0000 + 0110 = 10110 → 0110 ⇔ 1 0110
17 → 10001 → 0001 + 0110 = 10111 → 0111 ⇔ 1 0111
18 → 10010 → 0010 + 0110 = 11000 → 1000 ⇔ 1 1000
19 → 10011 → 0011 + 0110 = 11001 → 1001 ⇔ 1 1001

146
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 147

Aritmética en los códigos binarios

Para implementar circuitalmente el método anterior sólo es necesario desarrollar un circuito que, dado
5
un número binario N de 5 bits, detecte si es mayor que 9. La función lógica M de este circuito depen-
de en principio de cinco variables, que son los cinco bits de N. Planteando la tabla de verdad y sim-
plificando, se obtiene para M la siguiente expresión:

M = N4 + N3 · (N1 + N2)

El sumador BCD de
un dígito queda
como se indica en
la figura siguiente:

En el circuito anterior, el primer sumador hace la suma de los dígitos BCD, y el segundo hace la suma
de los primeros cuatro bits del resultado anterior más el valor de corrección que se le aplica por la
segunda entrada. Este valor corrector siempre es 0MM0, donde M es el valor de la función que detec-
ta si la suma anterior es mayor que 9.
) Cuando la primera suma no es mayor que 9, M=0, por lo que se le suma 0000, lo que no altera
su valor, que es el correcto, y S4=0.
) Cuando la primera suma es mayor que 9, M=1, por lo que se le suma 0110, que es el valor de
corrección necesario según se vio anteriormente, y S4=1.

En cualquier caso, el valor obtenido del segundo sumador da el valor correcto del dígito de las unida-
des de la suma en BCD, y S4 da el valor correcto para el dígito de las decenas, añadiéndole tres ceros
a la izquierda.

Si sólo se pretenden sumar números de un dígito BCD, el dígito de las decenas del resultado se forma
a partir de S4.

Si se van a sumar números de más de un dígito BCD, S4 actuará como bit de acarreo para la etapa
siguiente, que se aplicará en la entrada de acarreo del primer sumador.

Existen circuitos integrados comerciales MSI que integran toda la circuitería necesaria para la suma
BCD en un solo integrado, como por ejemplo el CMOS 4560 o el TTL 74F583.

Resta BCD
De modo similar a como se hizo en el CA2, la resta BCD se puede hacer sumando al minuendo el com-
plemento a 9 (CA9) del sustraendo más 1 y despreciando el acarreo final.

El CA9 de un número N en BCD, es otro número N’ tal que sumado dígito a dígito a N dé siempre 9, es
decir, N+N’=99...9.

En el ejemplo siguiente se muestra el procedimiento.

decimal BCD CA9 del sustraendo (CA9)+1 suma BCD despreciar el último
acarreo
874 1000 0111 0100 1000 0111 0100
- 436 - 0100 0011 0110 0101 0110 0011 0101 0110 0100 + 0101 0110 0100 0100 0011 1000=43810
438 1 0100 0011 1000

En el mercado existen circuitos integrados MSI que realizan el CA9 de un dígito BCD, como por ejem-
plo el 4561, que se usa junto con el sumador BCD 4560 para hacer sumadores/restadores BCD.

147
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 148

5 Lógica digital y microprogramable

Cuando se hacen sumas o restas BCD en CA9, el resultado obtenido también viene dado en CA9. Para
obtener el valor del resultado, si este es positivo, ya viene dado en BCD habitual, pero si es negativo,
el valor absoluto BCD se obtiene complementando a 9 y sumando 1 de nuevo. Ejemplo:

decimal BCD BCD CA9+1 CA9+1


436 0100 0011 0110 0100 0011 0110
- 874 - 1000 0111 0100 + 0001 0010 0110
- 438 0101 0110 0010 → 0100 0011 1000

1.3.1 Realización de sumadores/restadores en BCD con


circuitos integrados comerciales MSI
Ejemplo resuelto 1
Realizar un sumador/restador BCD de un dígito. El circuito recibirá dos números BCD A y B de un dígi-
to cada uno, y en función de una señal de control R, hará las operaciones A+B para R=0 y A-B para
R=1.

Solución
El 4560 es un circuito sumador de un dígito BCD. Para hacer el sumador/restador sólo falta un circui-
to que haga el CA9, para lo que se dispone del 4561. A continuación se muestra el esquema y la tabla
de verdad de estos dos circuitos, extraídos de sus hojas de características:

) Sumador 4560:

) Complementador a 9 4561:

En la tabla de verdad del 4561 se puede comprobar que las entradas A aparecen en las salidas F com-
plementadas a 9 cuando las señales Z, COMP y COMP/ valen respectivamente 0, 1 y 0. Cualquier otro
caso con Z=0 da unas salidas F iguales a las entradas A. Cuando Z=1, las salidas son siempre 0.

Por lo tanto, para hacer el sumador/restador BCD, bastará con llevar el sumando A a una entrada
del sumador 4560, y el otro sumando (o sustraendo) B al complementador 4561, que se controlará
con la señal R para complementar o no a B según corresponda. También hay que llevar la señal R a la

148
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 149

entrada de acarreo del suma-


Aritmética en los códigos binarios
5
dor ya que en la resta hay que
sumar 1 al complemento a 9. El
circuito quedará como sigue:

Aplicación práctica:
Realización de una suma binaria con sumadores
Esta aplicación plantea, por medio de un enunciado, un problema a resolver mediante el desarrollo de un siste-
ma electrónico digital. El enunciado del problema es el siguiente:

Diseñar un circuito que sume la cantidad que le sale a Antonio con la que le sale a Belén cuando tiran un
dado al aire. Cuando el resultado de la suma sea par, el circuito deberá indicarlo mediante una señal lumi-
nosa. Suponer que se dispone de unos pulsadores para introducir el resultado del dado en binario y de un
circuito que adapta niveles TTL para activar una lámpara.

Según el enunciado, las especificaciones técnicas que realmente interesan son las siguientes:

Sumar dos número binarios dados por sendos conjuntos de pulsadores: sean A y B:
) A: puntuación de Antonio.
) B: puntuación de Belén.

Cada uno de los números van del 1 al 6, luego son de 3 bits (de 0 a 7): [A2,A1,A0] y [B2,B1,B0].

Generar una salida indicando la paridad de la suma realizada.

Análisis del problema


) Dado que los números a sumar son dos, y de tres bits cada uno, para sumarlos basta con un circuito inte-
grado sumador comercial de cuatro bits, tipo 7483 o semejante, ya que no existen sumadores comerciales
de tres bits. Las entradas a este circuito se pueden tomar directamente de los pulsadores de que se dispone.
) Puesto que el sumador va a ser de cuatro bits, y los números a sumar son de tres bits, el MSB de cada entra-
da no se utiliza, por lo que deberá ser siempre cero.
) Además, la entrada de acarreo del sumador también deberá ponerse a cero, ya que no se utiliza.
) Una vez hecha la suma, la comprobación de la paridad del resultado es inmediata, ya que cualquier núme-
ro par tiene el bit de menos peso igual a cero. Por lo tanto, la salida del circuito puede tomarse directamen-
te del LSB de la salida del sumador y llevarla al circuito de activación de la lámpara. Los demás bits de la
salida no se utilizan y pueden quedar al aire.

Implementación
Una vez ideada la solución en la etapa de análisis, se procederá a diseñar el circuito en papel, comenzando por
hacer un simple esbozo del sistema a nivel general y detallándolo cada vez más hasta llegar a la solución final
indicando los integrados que se van emplear.

149
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 150

5 Lógica digital y microprogramable

Puede ocurrir, si el sistema es complicado, que en un determinado punto del diseño aparezcan cuestiones no con-
templadas en el análisis, de modo que haya que volver a esa etapa, para retomar posteriormente la implemen-
tación.

En esta aplicación, un posible dise-


ño de implementación puede ser el
que se muestra en la figura de la
derecha.

Edición
En esta etapa, se introducirá el diseño reali-
zado en la etapa anterior en un entorno
informático de captura y simulación, tal
como OrCAD.

En esta aplicación, el esquema resultante


sería como se ve en esta figura:

Simulación
En la etapa de simulación se añadirán los componentes de simulación necesarios para comprobar el funciona-
miento del circuito, se editará un perfil de simulación con los parámetros temporales adecuados, se dispondrán
sondas en los puntos de interés del circuito y finalmente se ejecutará la simulación, observando los resultados
obtenidos.

Para el caso de la aplicación práctica, las operaciones a realizar serían:

) Añadir un generador de estímulos digitales como el STIM4 de la librería SOURCE, para simular cada con-
junto de pulsadores A y B. Editando estos estímulos puede asignárseles diferentes valores para comprobar
el funcionamiento del sistema frente a ellos. Los valores que se les van a asignar cambian cada 1μs, y toman
los siguientes valores:
) Para A: 1,1,2,2,3,3,4,4,5,5,6,6
) Para B: 1,2,3,4,5,6,1,2,3,4,5,6

El anterior conjunto de valores no es exhaustivo, pero representa una buena variedad de casos. Puede supo-
nerse que si el sistema funciona bien para esos valores, funcionará bien en todos los casos. De todos modos,
definiendo otros conjuntos de valores pueden realizarse pruebas más completas. Algunos de los parámetros
editados de STIM 4 para los datos A se muestran en la figura siguiente:

Una vez definidos los estímulos digitales, se conectarán a las entradas del circuito. En la figura siguiente se
muestra una forma de hacerlo cómodamente por medio de conexiones tipo bus.

150
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 151

Aritmética en los códigos binarios


5

) El perfil de simulación será de tipo transitorio


y durará 12μs, que es el tiempo durante el
cual se definieron los estímulos. En la figura
de la derecha se muestra la ventana de defi-
nición del perfil.

) Una vez definido el perfil, se dispondrán son-


das lógicas en los puntos de interés del circui-
to, que son las entradas A y B, y la salida So.
) Finalmente, puede simularse el circuito, obte-
niendo una gráfica como la siguiente

En este gráfico de al lado puede com-


probarse cómo el circuito funciona
correctamente para todos los valores
de entrada simulados. En efecto, puede
verse que cuando las entradas suman
par, la salida S0=0, y cuando las
entradas suman impar S0=1.

Implementación
Se propone montar el circuito planteado en un entrenador digital y comprobar su funcionamiento real introdu-
ciendo, como vectores de prueba, los valores digitales utilizados para la simulación, verificando que producen la
misma respuesta que la proporcionada por PSPICE.

151
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 152

5 Lógica digital y microprogramable

2. Unidad aritmético-llógica: UAL


Una unidad aritmético-lógica es un circuito que permite realizar varios tipos de operaciones aritméti-
cas y lógicas, definibles a partir de un conjunto de entradas de selección.

Las UAL se pueden encontrar integradas dentro de sistemas más complejos, como puede ser forman-
do parte del microprocesador de un ordenador O bien, en circuitos independientes de diferentes com-
plejidades, como por ejemplo el 80287 de Intel, que es una UAL VLSI que se empleaba en ordenado-
res PC basados en el 80286, y que se denominaba coprocesador matemático, dada la elevada comple-
jidad de las operaciones lógicas y sobretodo matemáticas que era capaz de realizar.

A menos nivel de complejidad se pueden encontrar circuitos integrados MSI que permiten realizar un
amplio conjunto de operaciones aritméticas y lógicas. Estos circuitos normalmente trabajan sobre
datos de cuatro bits y presentan los siguientes tipos de terminales:

) Operandos: entradas para los datos sobre los que realizar las operaciones aritméticas o lógicas.
Normalmente son ocho líneas, para dos datos A y B de 4 bits cada uno.
) Acarreo de entrada: línea de entrada para tener en cuenta el posible acarreo de etapas anterio-
res en sistemas de capacidad de cálculo ampliada por combinación de varias UAL’s.
) Resultado: salidas para presentar el resultado de la operación realizada sobre los operandos.
Serán también cuatro líneas para los 4 bits del resultado F, de acuerdo con el tamaño de las
entradas.
) Selección de operación: conjunto de líneas de entrada S para seleccionar el tipo de operación a
realizar sobre los operandos.
) Salidas auxiliares: son terminales de salida que informan sobre diferentes acontecimientos sobre
los cálculos realizados, como acarreo de salida, paridad del resultado, desbordamiento, etc.
Ejemplos de estos circuitos son el CMOS 4581 o el TTL 74181.

2.1 Realización de operaciones aritméticas y lógicas


con UAL
Ejemplo resuelto 1
Interpretar todas las operaciones posibles que se pueden realizar con la UAL integrada CMOS 4581, a
partir de las hojas de características que se muestran a continuación:

152
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 153

Aritmética en los códigos binarios


5

Solución
) Patillaje: en la primera figura se muestra el patillaje del integrado. En este caso, el fabricante
emplea la lógica negativa para designar a los operandos y al resultado, de modo que aparecen
A/, B/ y F/, pero la operación con lógica positiva se realizaría sobre los mismos terminales sin más
que designándolos como A, B e F.

) Grupos de terminales:
) Operandos: A0, A1, A2, A3, B0, B1, B2, B3
) Acarreo de entrada (activo a nivel invertido): Cn/
) Resultado: F0, F1, F2, F3
) Selección de operación:
Tipo de operación: MC (MC=0 operación aritmética, MC=1 operación lógica)
Tipo de función: S0, S1, S2, S3

) Salidas auxiliares:
Acarreo de salida (activo a nivel invertido): Cn+4
Comparación: A=B
Propagación de acarreo: P/, G/

) Operaciones realizadas: en la tabla de verdad se muestran todas las operaciones que puede rea-
lizar el circuito. La selección de la operación a realizar se hace a partir de las entradas de selec-
ción de operación MC, S0, S1, S2 e S3.
Las operaciones indicadas se interpretan como sigue:
) suma lógica (OR): +
) producto lógico (AND): ·
) suma aritmética (más): plus
) resta aritmética (menos): minus
Para interpretar la tabla de verdad es necesario tener en cuenta el tipo de lógica empleada. Es
decir, dada una determinada combinación en las entradas de selección y dados unos determina-
dos valores binarios en las entradas de operandos y acarreo de entrada, se obtiene un determi-
nado resultado binario único. Pero la interpretación de los datos y del resultado, y por lo tanto,
de la operación que se acaba de efectuar, depende de si se está utilizando la lógica positiva o
negativa.

153
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 154

5 Lógica digital y microprogramable

Por ello, en la tabla de verdad, a una misma combinación de las entradas de selección S (prime-
ra columna de la tabla), le corresponden dos posibles operaciones, una si se interpretan los datos
en lógica positiva y otra si se interpretan en lógica negativa. Dentro de cada una de estas inter-
pretaciones, la operación descrita tiene dos posibilidades: operación lógica o aritmética, según
el valor de MC.

Además, el resultado también depende del acarreo de entrada, que siempre se introducirá inver-
tido, según la lógica a emplear. En la tabla se muestran los resultados para una entrada de aca-
rreo inactiva, es decir, patilla a nivel alto en lógica positiva y a nivel bajo para negativa. En caso
de activar la entrada de acarreo, el resultado de la operación sería el indicado en la tabla más
(plus) 1.

Cabe observar que dentro de las operaciones aritméticas, una buena parte de ellas incluyen ope-
raciones lógicas total o parcialmente.

Ejemplo resuelto 2
Empleando el 4581, realizar un sumador/restador de 7+1 bits en lógica positiva. El circuito recibirá
dos números en CA2(7+1) A y B, y en función de una señal de control R, hará las operaciones aritmé-
ticas A+B para R=0, y A-B para R=1.

Solución
Para operar con datos de 7+1 bits son necesarios dos circuitos 4581, conectando el acarreo de salida
del primero a la entrada de acarreo del segundo. La conexión es directa ya que ambos acarreos fun-
cionan a nivel bajo para lógica positiva. El conjunto se comporta como una ULA idéntica a la del 4581,
pero trabajando con ocho bits.

En la tabla de verdad del circuito, se encuentran las siguientes operaciones de suma y resta:

selección de la función lógica positiva


S3 S2 S1 S0 función aritmética (MC=0) con acarreo de entrada inactivo (Cn/=1)
1 0 0 1 A más B
0 1 1 0 A menos B menos 1

La operación de la suma es la requerida en las especificaciones del ejercicio, pero la resta no es váli-
da ya que es menos 1. Es necesario sumar 1 para obtener lo requerido, lo que se puede hacer emple-
ando una entrada de acarreo activa (Cn/=0) en los casos de resta.

La señal de control R servirá para introducir en las entradas de selección S los valores adecuados para
seleccionar la operación deseada, y además para activar la entrada de acarreo en el caso de la resta.
La relación entre R, S y Cn/ es:

R S3 S2 S1 S0 Cn/
0 1 0 0 1 1
1 0 1 1 0 0

Por lo tanto, las señales S2 y S3 son iguales a R, y S3, S0 y Cn/ son iguales a R/, lo que se puede obte-
ner con un inversor como el 4069. El circuito quedará como se indica en la página siguiente:

154
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 155

Aritmética en los códigos binarios


5

Aplicación práctica:
Realización de operaciones aritméticas y lógicas
mediante una UAL
Esta aplicación plantea por medio de un enunciado, un problema a resolver mediante el desarrollo de un siste-
ma electrónico digital. El enunciado del problema es el siguiente:

Un sistema de transmisión de comunicaciones digi-


tales encriptadas recibe dos canales A y B de 4 bits
cada uno. La salida R del sistema consta de 4 bits,
y debe proporcionar en cada instante un resultado
a partir de los bits de entrada y de los 5 bits del
canal de control K.

Los bits de control K indican la operación a realizar


con los datos recibidos, de modo que K4=1 implica una operación lógica y K4=0 una operación aritmética en
CA2(3+1). La operación a realizar depende de los demás bits del canal de control K, activos a nivel bajo, según
la tabla siguiente:

salidas R
K3 K2 K1 K0 K4=1 K4=0
1111 todas las salidas a cero
1110 A A más 1
1101 A ⊕B A menos B
1011 A ⊕B A más B
0111 A A menos 1

155
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:44 PÆgina 156

5 Lógica digital y microprogramable

Todos los bits del sistema se interpretan en lógica positiva, excepto los de K ya indicados.

Realizar el sistema de transmisión especificado empleando el menor número de circuitos integrados digitales TTL.

Orientaciones sobre el diseño


El empleo de una ALU tipo 74181 simplifica enormemente el diseño ya que con un solo integrado se pueden
implementar todas las operaciones requeridas en las especificaciones.

Las señales de gobierno de la ALU se obtendrán a partir de las señales del canal de control. Es inmediato ver que
K4 debe aplicarse directamente a la entrada MC de la ALU. En cuanto a las demás señales S de control de la ALU,
se pueden obtener a partir de los bits de K activos a nivel bajo, decodificándolos adecuadamente con un codifi-
cador que trabaje a nivel bajo como puede ser el 74148.

Obsérvese que en las combinaciones para S que es necesario generar, dadas las operaciones especificadas, los
bits S0 y S3 siempre coinciden, luego sólo es necesario generar de S0 a S2, lo que se puede hacer a partir del
mencionado codificador.

Obsérvese también que el acarreo de entrada requerido en cada caso también va a coincidir siempre con uno de
los bits de control.

Cuando no se especifica ninguna operación a realizar (primera fila de la tabla), todas las salidas deberán estar
a 0. Esto se puede realizar introduciendo los valores adecuados en las entradas no empleadas del codificador, y
utilizando la salida EO del codificador para controlar las salidas de la ALU por medio de puertas AND con un inte-
grado tipo 7408.

Solución
Como solución de esta aplicación, según las orientaciones indicadas, se obtiene el siguiente esquema de bloques:

Orientaciones sobre la simulación


Para un manejo más cómodo de las señales que representan los datos de los canales de entrada, se pueden
emplear conexiones de tipo bus, y generar los datos también en formato bus empleando el generador de estímu-
los STIM4, que permite manejar 4 bits de modo conjunto y visualizarlos en hexadecimal.

Para los datos del canal de control se puede emplear el generador de estímulos STIM8 y un bus de 8 bits, de los
que sólo se emplearán los 5 de menor peso.

Para comprobar el funcionamiento del circuito se pueden asignar diferentes valores a los estímulos digitales, veri-
ficando el comportamiento del mismo para cada una de las posibles operaciones especificadas por el canal de

156
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:45 PÆgina 157

Aritmética en los códigos binarios


5
control. Los diferentes valores que van tomando las señales se pueden cambiar a intervalos de 1ms, por ejemplo,
y hacer una simulación durante 10ms, lo que permite comprobar 10 operaciones distintas (4 aritméticas, 4 lógi-
cas y 2 de operación no especificada).

Solución
Esquema resultante es el siguiente:

Resultados de la simulación
En los resultados de la simulación se pueden ver los valores de los estímulos empleados y los parámetros de simu-
lación.

Implementación
Se propone montar el circuito planteado en un entrenador digital y comprobar su funcionamiento real introdu-
ciendo, como vectores de prueba, los valores digitales utilizados para la simulación, verificando que producen la
misma respuesta que la proporcionada por PSPICE.

157
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:45 PÆgina 158

5 Lógica digital y microprogramable

3. Autoevaluación
Ejercicio 5.1
Interpretar las hojas de características del sumador 74F283 que se muestran a continuación:

Ejercicio 5.2
Diseñar un circuito sumador de ocho bits empleando circuitos integrados 74F283 y representarlo
empleando la simbología normalizada.

158
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:45 PÆgina 159

Ejercicio 5.3
Aritmética en los códigos binarios
5
Expresar en MS(7+1), CA1(7+1) e CA2(7+1), los siguientes números decimales: 6, -18, 34, -56, -84,
115, -103.

Ejercicio 5.4
Pasar a decimal los siguientes números binarios expresados en el sistema de codificación indicado:
010101(MS), 010101(CA1), 010101(CA2), 100110(MS), 100110(CA1), 100110(CA2), 10001011(MS),
10001011(CA1), 10001011(CA2).

Ejercicio 5.5
Hacer las siguientes operaciones en CA2(7+1): 54+26, 29-12, 55-94, -30-72, -64-89.

Ejercicio 5.6
Empleando circuitos integrados TTL, realizar un sumador/restador de 7+1 bits. El circuito recibirá dos
números en CA2(7+1) A y B, y en función de una señal de control R, hará las operaciones A+B para
R=0, y A-B para R=1.

Ejercicio 5.7
Realizar un sumador/restador BCD de 3 dígitos. El circuito recibirá dos números BCD A y B de 3 dígi-
tos cada uno, y en función de una señal de control R, hará las operaciones A+B para R=0 y A-B para
R=1. Emplear los circuitos 4560 y 4561.

Ejercicio 5.8
Interpretar todas las operaciones posibles que se pueden realizar con la UAL integrada TTL 74F181, a
partir de las hojas de características que se muestran a continuación:

159
Electr nica digital y prog_ U 05-corregida final.qxp 16/05/2007 17:45 PÆgina 160

5 Lógica digital y microprogramable

Ejercicio 5.9
Empleando el 74F181, realizar un circuito aritmético de 7+1 bits en lógica negativa. El circuito recibi-
rá dos números en CA2(7+1) A/ y B/ activos a nivel bajo, y en función de una señal de control R, hará
las operaciones aritméticas 2·A/ para R=0, y A/+B/ para R=1.

160
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:51 PÆgina 161

UNIDAD 6

Lógica secuencial. Biestables

Objetivos
) Establecer la diferencia entre los circuitos combinacio-
nales y los secuenciales.
) Analizar los elementos secuenciales básicos.
) Analizar el funcionamiento de integrados que imple-
mentan circuitos biestables, utilizando los catálogos
técnicos y comerciales.
) Obtener cronogramas de salida para integrados
comerciales, a partir de los correspondientes crono-
gramas de entrada.
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:51 PÆgina 162

6 Lógica digital y microprogramable

1. Circuitos secuenciales. Biestables


En los circuitos combinacionales las salidas están determinadas por los valores lógicos de las entradas.
Cuando se produce un cambio en el valor de las entradas, en las salidas se produce el correspondien-
te cambio, de tal manera que a cada combinación de las variables de entrada corresponde una deter-
minada combinación de las variables de salida y siempre la misma. Por ejemplo, en una actividad
anterior, se realizó un circuito para controlar una votación por medio de tres pulsadores. Supóngase
que se realizan las votaciones consecutivas (V1, V2, V3, V4, V5 e V6) que se muestran en la figura.

La combinación de entrada 011 (mayoría de


1s) produce el estado 1 en la salida, inde-
pendientemente de la combinación de
entrada inmediatamente anterior, y sin que
la secuencia de votaciones que se produzca,
influya en la respuesta del circuito.

Votación P1 P2 P3 Salida
V1 0 0 0 0
V2 0 1 1 1
V3 0 0 1 0
V4 0 1 1 1
V5 1 1 1 1
V6 0 1 1 1

) La votación V2 (011), que se produce después de la votación 000, provoca una salida 1.
) La votación V4 (011), que se produce después de la votación 001, provoca también una salida 1.
) La votación V6 (011), que se produce después de la votación 111, provoca una salida 1.
Lo mismo que ocurre para la combinación 011, ocurre para todas las demás. La salida solo depende de
la combinación presente en las entradas y no de la “historia” del circuito. El circuito es combinacional.

En los circuitos llamados secuenciales las salidas no solo dependen del valor de las entradas en
un instante determinado, sino de la secuencia de valores tomados anteriormente por ellas. De
esta manera, puede decirse que los circuitos secuenciales deben recordar la secuencia de valores
que aparecen en su entrada, deben por tanto tener memoria. Por ejemplo, se puede completar
el circuito de la votación añadiendo el requerimiento siguiente: se quiere saber el número de
veces que se produce la votación 011. El diagrama de bloques de esta aplicación aparece en la
figura de la izquierda.

Esta aplicación está formada por dos circuitos, el primero informa del resultado de la votación y
el segundo cuenta el número de veces que se produce la votación 011. Es, por tanto, lo que se
llama un contador. El resultado de la cuenta aparece en las salidas N2, N1 y N0, codificado en bina-
rio natural. Cuando se produce la misma secuencia de votaciones que en el ejemplo anterior, las sali-
das de los dos circuitos serían las que vemos en la primera figura de la página siguiente.

Mientras que el primer circuito responde siempre con la misma salida a la combinación de entrada 011
( F = 1), el segundo, apareciendo la combinación 011 tres veces a lo largo de la secuencia de votacio-
nes en su entrada, cada una de ellas responde de manera diferente.

Votación P1 P2 P3 Salida F Salida Contador


V1 0 0 0 0 000 0
V2 0 1 1 1 001 1
V3 0 0 1 0 001 1
V4 0 1 1 1 010 2
V5 1 1 1 1 010 2
V6 0 1 1 1 011 3

162
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:51 PÆgina 163

) La votación V2 (011), que se


Lógica secuencial. Biestables
6
produce después de la vota-
ción 000, provoca una salida
1 en F y, como es la primera
vez que aparece, un 1 (001)
en la salida del circuito con-
tador.
) La votación V4 (011), que se
produce después de la vota-
ción 001, provoca una salida
1 en F y, como es la segunda
vez que aparece, un 2 (010)
en la salida del circuito con-
tador.
) La votación V6 (011), que se
produce después de la vota-
ción 111, provoca una salida
1 en F y, como es la tercera
vez que aparece, un 3 (011)
en la salida del circuito contador.
Por tanto, la salida del circuito contador, no solo depende del estado de las entradas, sino que también
del estado en que se encuentre la salida. Si la salida está en el estado 001 (1) y aparece la votación
011, la respuesta del circuito será 010 (2). Si la salida está en el estado 011 (3) y aparece la votación 011,
la respuesta del contador será 100 (4), que es distinta de la respuesta anterior a la misma entrada. El
circuito es secuencial.

1.1 Elementos básicos secuenciales, Latch


Los elementos básicos secuenciales son los Latch. Estos circuitos tienen la capacidad de recor-
dar la secuencia de estados que se produce en sus entradas y responder acorde con ella. Tienen
por tanto memoria y son capaces de almacenar estados lógicos. Internamente estos circuitos
están formados por una combinación de puertas como la que aparece en la figura.

Se debe reparar en que, en el circuito, la salida de cada una de las puertas, se conecta a la
entrada de la otra. Este hecho se llama realimentación. Para analizar el circuito, siempre se
parte de un estado determinado de las salidas, teniendo en cuenta que Q y Q* son comple-
mentarias. Como el circuito está implementado con puertas NOR, un 1 en cualquiera de las
entradas R o S, determina que la salida de la puerta está definida y valdrá 0.

Análisis del Latch R-SS


Supóngase R = 0 y S =1, y analícense los cambios en el circuito para las dos posibles combinaciones
de las señales en las salidas, es decir: Q = 0, Q* = 1 y Q = 1, Q* = 0.

) Condición de entrada R = 0, S = 1.
La evolución de los estados en el circuito será:

Partiendo de la salida Q = 0, Q* = 1
Estados iniciales Evolución Estados finales
Un 1 en la entrada S determina:
- La salida de la puerta B cambia a 0.
- Las dos entradas de la puerta A están
a 0 y su salida cambia a 1.
- El 1 en la salida Q se realimenta a la
entrada de la puerta B y refuerza el 1
en Q’, haciendo los estados en las
salidas estables.
- El estado estable es: Q = 1.

163
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:52 PÆgina 164

6 Lógica digital y microprogramable

Partiendo de la salida Q = 1, Q* = 0
Estados iniciales Evolución Estados finales
El 1 en la entrada S determina:
- La salida de la puerta B permanece
a 0.
- Las dos entradas de la puerta A
siguen a 0 y su salida a 1.
- Las salidas son estables y Q = 1.

En los dos casos analizados, cuando S = 1 y R = 0, la salida Q cambia a 1, si estaba a 0, y permane-


ce en 1 si estaba en 1. La condición de entrada analizada es lo que se llama condición de puesta a 1
del biestable o condición de Set (S).

) Condición de entrada R = 1, S = 0.
La evolución de los estados en el circuito será:

Partiendo de la salida Q = 1, Q* = 0
Estados iniciales Evolución Estados finales
El 1 en la entrada R determina:
- La salida de la puerta A cambia a 0.
- Las dos entradas de la puerta B están
a 0 y su salida cambia a 1.
- EL 1 en la salida Q se realimenta a la
entrada de la puerta B, confirmando 0
en Q, haciendo los estados en las
salidas estables.
- El estado estable es: Q = 0.

Partiendo de la salida Q = 0, Q* = 1
Estados iniciales Evolución Estados finales
- La salida de la puerta A permanece
a 0.
- Las dos entradas de la puerta B
siguen a 0 y su salida a 1.
- Las salidas son estables y Q = 0.

En los dos casos analizados, cuando R = 1 y S = 0, la salida Q cambia a 0, si estaba a 1, y permane-


ce en 0 si estaba en 0. La condición de entrada analizada es lo que se llama condición de puesta a 0
del biestable o condición de Reset (R).

) Condición de entrada R = 0, S = 0.
La evolución de los estados en el circuito será:

Partiendo de la salida Q = 1, Q* = 0
Estados iniciales Evolución Estados finales
Como R y S están a cero, la salida Q =1
determina:
- El estado de la salida de la puerta
B, y Q’ = 0.
Las dos entradas de la puerta A siguen
a 0 y su salida a 1.
- Las salidas son estables y Q perma-
nece en el estado en que estaba.

164
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:53 PÆgina 165

Partiendo de la salida Q = 0, Q* = 1
Lógica secuencial. Biestables
6
Estados iniciales Evolución Estados finales
R y S están a cero:
- Las dos entradas de la puerta A
están a 0 y su salida a 1.
- La salida Q’ realimenta un 1 a la
entrada de la puerta A.
- La salida Q permanece a 0.

En los dos casos analizados, cuando R = 0 y S = 0, la salida Q no cambia. La condición de entrada


analizada es lo que se llama condición de no cambio del biestable (Hold). Esta condición garantiza el
funcionamiento del biestable como elemento de memoria, ya que la salida permanece en el estado al
que fue llevado en la acción anterior, guardando un 1 o un 0.

) Condición de entrada R = 1, S = 1.
La evolución de los estados del circuito será:

Partiendo de la salida Q = 0, Q* = 1
Estados iniciales Evolución Estados finales
El estado 1 en la entrada de las puertas
A y B determina:
- La salida de la puerta A permanece
a 0 y la salida de la puerta B
cambia a 0.
- El estado Q = 0 y Q’ = 0 es estable.

Partiendo de la salida Q = 1, Q* = 0
Estados iniciales Evolución Estados finales
El estado 1 en la entrada de las puertas
A y B determina:
- La salida de la puerta A permanece
a 0 y la salida de la puerta B
cambia a 0.
- El estado Q = 0 y Q’ = 0 es estable.

En los dos casos analizados, cuando R = 1 y S = 1, las salidas Q y Q* toman el estado 0, y dejan de
ser complementarias. Por este motivo la condición R = 1,
S = 1 no está permitida en este elemento. Además, cuan-
do después de la condición 11, se aplica en las entradas la R S SALIDA (condición)
condición de puesta a 1 o de puesta a 0, el estado de las 0 0 No cambio
salidas no se puede predecir.
0 1 Puesta a 1
El funcionamiento del biestable R-S se resume en la tabla 1 0 puesta a cero
de la derecha: 1 1 No permitida

Al realizar el análisis de la combinación de puertas ante- R S Qt Qt+1 Condición


rior, se hace evidente que el parámetro tiempo esta presen- 0 0 0 0
te en dicho análisis. Las transiciones en las salidas modifi- No cambio
0 0 1 1
can los estados de algunas entradas y se necesita un tiem-
0 1 0 1
po para que aparezca el estado estable. Para diferenciar Puesta a 1
los valores de Q antes de la transición y después, se utiliza 0 1 1 1
la notación Qt y Qt+1. Así, la tabla de verdad de un Latch 1 0 0 0
Puesta a 0
R-S se puede como se indica a la derecha: 1 0 1 0
1 1 No permitida

165
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:53 PÆgina 166

6 R SALIDA (condición)
Lógica digital y microprogramable

Latch D (Delay)
0 Puesta a 0 (RESET, El biestable D tiene solamente una entrada. Se utiliza como ele-
almacena un 0) mento básico de almacenamiento de información. En la tabla
1 Puesta a 1 (SET, siguiente se muestra la tabla de verdad del Latch D y su símbo-
almacena un 1) lo lógico.

D Qt Qt+1 Condición
0 0 0
Puesta a 0
0 1 0
1 0 1
Puesta a 1
1 1 1

Este biestable se puede implementar a partir del biestable R-S y un inversor, haciendo las conexiones
siguientes:

El funcionamiento del circuito se resume en la tabla.

D S R Condición
0 0 1 Puesta a 0
1 1 0 Puesta a 1

1.1.1 Ejemplos resueltos: Interpretación de los


manuales técnicos de los Latch
Ejemplo resuelto 1
El trabajo propuesto es el de determinar la forma de onda en las salidas Q1 y Q2 de un 74279 cuan-
do se aplican las señales de entrada especificadas en los cronogramas, a partir del análisis de funcio-
namiento del circuito descrito en la hoja de características del fabricante (UD6_74279.pdf).

Solución
Para resolver el ejemplo propuesto, es necesario analizar la hoja de características del fabricante.

) En la primera página, el fabricante hace una descripción general del integrado.

General description Descrición general


This device contains four independent set-reset type Este dispositivo contiene cuatro flip-flops tipo
flipflops with one Q output each. R-S, con una salida Q cada uno.

) Del diagrama de conexiones (página 1) se deduce el símbolo lógico del 74279, que es el siguien-
te (ver figura en la página siguiente):

166
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:53 PÆgina 167

Lógica secuencial. Biestables

) El nombre de las patillas y su descripción (página 1).

Pin Names
Rn
Sn
Description
Reset Inputs (Active Low))
Set Inputs (Active Low)
Descripción
Entrada de Reset (Activa en 0)
Entrada de Set (activa en 0)
6
Q Outputs Salidas

) La tabla de verdad del circuito (página 1), facilitado por el fabricante es:

- H → HIGH Voltage Level (Nivel alto)


Inputs Output
- L → LOW Voltage Level (Nivel bajo)
S1 S2 R Q - X → Immaterial (Indiferente)
L L L h - h → The output is HIGH as long as S1 or S2 is LOW. If all
L X H H inputs go HIGH simultaneously, the output state is inde-
terminate; otherwise, it follows the Truth Table. (La salida
X L H H está a nivel alto mientras S1 o S2 permanecen en el esta-
H H L L do bajo. Si todas las entradas cambian a nivel alto simul-
táneamente, el estado de la salida es indeterminado; en
H H H No cambio cualquier otro caso el circuito sigue la tabla de verdad).

La solución al ejemplo propuesto, una vez analizada la hoja de características, se obtiene trabajando
sobre el cronograma de estado de las entradas al Latch, analizando la situación del mismo antes de
cada uno de los cambios en las entradas.

) El diagrama de tiempos para el primer Latch del integrado es:

) La condición de entrada entre 0 y 1us es:


S1 = 1 S2 = 1 R = 0 (Reset)

) La condición de entrada entre 1 y 2us es:


S1 = 1 S2 = 1 R = 1 (No cambio)

) La condición de entrada entre 2 y 3us es:


S1 = 0 S2 = 1 R = 1 (Set)

) La condición de entrada entre 3 y 4us es:


S1 = 1 S2 = 1 R = 1 (No cambio)

167
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:53 PÆgina 168

6 Lógica digital y microprogramable

) La condición de entrada entre 4 y 5us


es:
S1 = 1 S2 = 1 R = 0 (Reset)

) La condición de entrada entre 5 y 6us


es:
S1 = 1 S2 = 1 R = 1 (No cambio)

) La condición de entrada entre 6 y 7us es:


S1 = 1 S2 = 0 R = 1 (Set)

) La condición de entrada entre 7 y 8us


es:
S1 = 1 S2 = 1 R = 1 (No cambio)

) El diagrama de tiempos propuesto como entradas para el segun-


do Latch del integrado es:

) La secuencia de condiciones en las


entradas del segundo Latch es la que
aparece en la tabla:

T (us) Condición Q
0 Puesta a 0 0
1 No Cambio 0 El cronograma de salida será:
3 Puesta a 1 1
4 No Cambio 1
5 Puesta a 0 0
6 No Cambio 0
7 Puesta a 1 1

1.2 Elementos básicos secuenciales, Flip- Flops


En los sistemas digitales es habitual la necesidad de que las transiciones de estado en los dispositi-
vos se realicen todas al mismo tiempo. Se habla entonces de que el sistema está sincronizado. Esta
sincronización se hace por medio de lo que se llama señal de reloj. Esta señal es periódica y las tran-
siciones de estado se producen en los flancos de subida o de bajada de la señal, como se muestra en
la figura de la página siguiente.

168
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:53 PÆgina 169

Los Flip-Flops son circuitos síncronos. Los cambios de


Lógica secuencial. Biestables
6
estado en las salidas se producen cuando coincide la
condición de entrada que lo hace cambiar, con el flan-
co de subida o de bajada de la señal de reloj. Los Flip-
Flops disponen de una entrada, que los Latch no tie-
nen, que es la entrada de reloj C. La simbología em-
pleada para esta entrada aparece en la figura:

Flip-Flop R-S disparado por flanco de subida. Flip-Flop R-S disparado por flanco de bajada

Flip-F
Flop J-K
K
Los biestables J-K funcionan de manera similar a los R-S en las condiciones de puesta a 1 (Set), pues-
ta a cero (Reset) y en la condición de mantenimiento del dato anterior o no cambio (Hold). La diferen-
cia está en que en el J-K la condición de entrada J = 1, K = 1 está permitida. Esta condición se llama
condición de cambio (Toggle), y su efecto es hacer bascular el valor en la salida, almacenando así un
nuevo bit. Si Q = 1, la condición 11, hace cambiar la salida a 0. Si Q = 0, la condición 11, hace cam-
biar la salida a 1.

En la tabla siguiente se muestra la tabla de verdad del J-K disparado por flanco de subida y su sím-
bolo lógico.

J K C SALIDA (condición) J K C Qt Qt+1 Condición


0 0 ↑ No cambio (HOLD) 0 0 ↑ 0 0
No cambio
0 1 ↑ Puesta a 1 (SET) 0 0 ↑ 1 1
1 0 ↑ Puesta a 0 (RESET) 0 1 ↑ 0 1
Puesta a 1
1 1 ↑ Cambio (TOGGLE) 0 1 ↑ 1 1
1 0 ↑ 0 0
Puesta a 0
1 0 ↑ 1 0
1 1 ↑ 0 1
Cambio
1 1 ↑ 1 0
Flip-F
Flop T (Toggle)
El biestable T tiene solamente una entrada. En la tabla siguiente se
muestra la tabla de verdad del biestable T disparado por flanco de baja-
da y su símbolo lógico.

T C SALIDA (condición) T C Qt Qt+1 Condición


0 ↓ 0 0
0 ↓ No cambio (HOLD) No cambio
0 ↓ 1 1
1 ↓ Cambio (TOGGLE) 1 ↓ 0 1
Cambio
1 ↓ 1 0

Entradas asíncronas Reset y Preset


Las entradas asíncronas son terminales que actúan sobre las salidas de los biestables independiente-
mente de la entrada de reloj. Cuando se activan provocan un Reset (puesta a 0) o un Preset (puesta a
1), sin necesidad de que se produzca un flanco de subida o de bajada en la entrada C. Estas entradas
son la Clear (borrado, puesta a 0) y la Preset (puesta a 1). Estas entradas son normalmente activas a
nivel bajo. La tabla de verdad siguiente es la de un biestable J-K con reloj activo en flancos de baja-
da y entradas asíncronas, Clear y Preset activas a nivel bajo.

169
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:53 PÆgina 170

6 Lógica digital y microprogramable

Clear Preset J K C SALIDA (condición)


0 1 X X X Borrado (puesta a 0 asíncrona)
1 0 X X X Preset (puesta a 1 asíncrona)
1 1 0 0 ↓ No cambio (HOLD)
1 1 0 1 ↓ Puesta a 1 (Set síncrono)
1 1 1 0 ↓ Puesta a 0 (Reset síncrono)
1 1 1 1 ↓ Cambio (Toggle síncrono)

La condición PRESET = 0, CLEAR = 0 no está permitida.

1.2.1 Ejemplos resueltos: Interpretación de los


manuales técnicos de los Flip-F
Flops
Ejemplo resuelto 1
El trabajo propuesto es el de determinar la forma de onda en la salida 1Q de un 74112 cuando se apli-
can las señales de entrada especificadas en el cronograma, a partir del análisis del funcionamiento del
circuito descrito en la hoja de características del fabricante (UD6_74112.pdf).

Solución
Para resolver el ejemplo propuesto, es necesario analizar la hoja de características del fabricante.

En la primera página, el fabricante hace una descripción general del integrado.

General description Descrición general

) The 74HC/HCT112 are high-speed Si-gate CMOS de- ) 74HC/HCT112 es un integrado CMOS, puerta de sili-
vices and are pin compatible with low power Schottky cio, de alta velocidad, compatible con la serie TTL
TTL (LSTTL). They are specified in compliance with Schottkly (LSTTL) de baja disipación. El dispositivo
JEDEC standard no. 7A. cumple el estándar nº 7A de JEDEC (Joint Electron
) The 74HC/HCT112 are dual negative-edge triggered Device Engineering Council).
JK-type flip-flops featuring individual nJ, nK, clock ) El 74HC/HCT112 es un doble Flip-Flop disparado por
(nCP*), set (nSD*) and reset (nRD*) inputs. The set and flanco de bajada con entradas J, K, reloj (CP*), set
reset inputs, when LOW, set or reset the outputs as asíncrono (SD*) y reset asíncrono (RD*) individuales.
shown in the function table regardless of the levels at Las entradas Set y Reset, cuando están a nivel bajo,
the other inputs. ponen a 1 o 0 las salidas, como se muestra en la tabla
) A HIGH level at the clock (nCP*) input enables the nJ de funcionamiento, independientemente de los niveles
and nK inputs and data will be accepted. The nJ and de las otras entradas.
nK inputs control the state changes of the flip-flops as ) Un nivel alto en la entrada de reloj (CP*), habilita las
shown in the function table. The nJ and nK inputs entradas J y K y el dato puede ser aceptado. Las en-
must be stable one set-up time prior to the HIGH-to- tradas J y K controlan los cambios de estado como se
LOW clock transition for predictable operation. Output muestra en la tabla de funcionamiento. Las entradas J
state changes are initiated by the HIGH-to-LOW y K deben ser estables un tiempo de establecimiento
transition of nCP*. Schmitt-trigger action in the clock antes de la transición del reloj de alto a bajo para que
input makes the circuit highly tolerant to slower clock la operación sea segura. Los cambios de estado se
rise and fall times. inician con la transición de alto a bajo del CP*. El dis-
parador de Schmitt en la entrada de reloj hace que el
circuito presente una gran tolerancia a los tiempos
lentos de subida y de bajada del reloj.

) En la página 3 (de la hoja de características del fabricante) se describen las patillas del inte-
grado, especificando su símbolo, nombre y función.

170
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:53 PÆgina 171

Symbol Name and function Nombre y función


Lógica secuencial. Biestables
6
1CP*, 2CP clock input (HIGH-to-LOW, edge triggered) Entrada de reloj (Disparo en flanco de
bajada)
1K, 2K data inputs; flip-flops 1 and 2 Entrada de datos; flip-flops 1 y 2
1J, 2J data inputs; flip-flops 1 and 2 Entrada de datos; flip-flops 1 y 2
1SD*, 2SD* set inputs (active LOW) Entrada de set (activa en 0)
1Q, 2Q true flip-flop outputs Salidas de los flip-flops
1Q*, 2Q* complement flip-flop outputs Salidas complementadas de los flip-flops
1RD*, 2RD* reset inputs (active LOW) Entradas de reset (activas en 0)

) El símbolo lógico (página 3 de la hoja de características):

) En la página 4 el fabricante facilita la tabla de funcionamiento:

Modo de operación Entradas Salidas


SD* RD* CP* J K Q Q*
Set asíncrono 0 1 X X X 1 0
Reset asíncrono 1 0 X X X 0 1
Indeterminado 0 0 X X X 1 0
Cambio 1 1 ↓ 1 1 Q* Q
Puesta a 0 (Reset) 1 1 ↓ 0 1 0 1
Puesta a 1 (Set) 1 1 ↓ 1 0 1 0
No cambio (Hold) 1 1 ↓ 0 0 Q Q*

La solución al ejemplo propuesto, una vez analizada la hoja de carac-


terísticas, se obtiene trabajando sobre el cronograma de estado de las
entradas del Flip-Flop, analizando la situación del mismo antes de
cada uno de los cambios en las entradas.

El diagrama de tiempos propuesto para las entradas del integrado es:

La secuencia de estados definida en el cronograma es:

t (us) Clear Preset J K C SALIDA (condición) 1Q


0 - 0,25 0 1 X X X Reset (puesta a 0 asíncrona) 0
Flanco 1 us 1 1 1 1 ↓ Cambio (Toggle síncrono) 1
Flanco 2 us 1 1 0 0 ↓ No Cambio (HOLD) 1
Flanco 3 us 1 1 0 1 ↓ Puesta a 0 (Reset síncrono) 0
3,25 - 3,5 us 1 0 X X X Preset (Puesta a 1 asíncrona) 1
Flanco 4 us 1 1 0 0 ↓ No Cambio (HOLD) 1
Flanco 5 us 1 1 0 0 ↓ No Cambio (HOLD) 1
5,5 - 6,5 0 1 X X X Reset (puesta a 0 asíncrona) 0
Flanco 7 us 1 1 1 0 ↓ Puesta a 1 (Set síncrono) 1
Flanco 8 us 1 1 0 0 ↓ No Cambio (HOLD) 1
Flanco 9 us 1 1 0 0 ↓ No Cambio (HOLD) 1
Flanco 10 us 1 1 0 0 ↓ No Cambio (HOLD) 1

171
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:53 PÆgina 172

6 Lógica digital y microprogramable

El cronograma de salida es:

172
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:54 PÆgina 173

Lógica secuencial. Biestables


6
Aplicación práctica:
Simulación de un circuito formado
por dos biesta-b
bles JK en cascada

El circuito de la figura está configurado con dos biesta-


bles JK, incluidos en un solo integrado, el 74107. Se le
aplica a la entrada de reloj una señal periódica de fre-
cuencia 1 Mhz,

El trabajo propuesto es el de determinar la forma de


onda en las salidas Q0 y Q1 a partir del análisis del fun-
cionamiento del 74107, descrito en la hoja de caracte-
rísticas del fabricante (UD6_74107.pdf), y realizar la
simulación del mismo con la plataforma OrCad.

Para dibujar el cronograma de salida hay que considerar los siguientes puntos:
) Los dos biestables están permanentemente en la condición de cambio, (J = 1 y K = 1).
) La señal de reloj se aplica al primer biestable, por lo que este cambiará de estado con cada flanco de bajada.
) La salida del primer biestable se utiliza como señal de reloj del segundo, por lo que este solo cambiará de
estado cuando Q0 cambie de 1 a 0.
) Inicialmente la señal de Reset se pone a cero con el fin de inicializar al circuito en el estado Q0 = 0, Q1 = 0,
devolviéndola a 1 antes del primer flanco de bajada del reloj.

El cronograma de salida es el de la dere-


cha:

El circuito realiza la secuencia 0, 1, 2, 3,


0, 1, 2, 3 de forma repetida. Es un conta-
dor de 2 bits. Los contadores se analiza-
rán con detalle en la Unidad Didáctica 7.

Para realizar la simulación se montará en


OrCad el circuito que aparece en la
siguiente figura.

El resultado de la simulación es:

173
L gica digital y prog_ U 06 corregida final.qxp 16/05/2007 17:54 PÆgina 174

6 Lógica digital y microprogramable

2. Autoevaluación
Ejercicio 6.1
El trabajo propuesto es el de determinar la forma de onda en las salidas Q1 e Q2 de un 74279 cuan-
do se aplican las señales de entrada especificadas en los cronogramas:

Ejercicio 6.2
El trabajo propuesto es determinar la forma de onda en la salida 1Q de un 74109 cuando se aplican
las señales de entrada especificadas en el cronograma, a partir del análisis de funcionamiento del cir-
cuito descrito en la hoja de características del fabricante (UD6_74109_pdf).

174
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:01 PÆgina 175

UNIDAD 7

Bloques funcionales secuenciales

Objetivos
) Analizar el funcionamiento de los registros de desplaza-
miento.
) Analizar el funcionamiento de los contadores.
) Configurar y simular aplicaciones prácticas de los registros
de desplazamiento y los contadores.
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:01 PÆgina 176

7 Lógica digital y microprogramable

1. Circuitos secuenciales. Registros


Los registros de desplazamiento son circuitos implementados con Flip-Flops, que se comercializan en
circuitos integrados de escala de integración media (MSI, Medium Scale Integration) empleados en el
almacenamiento de información. Estos circuitos forman parte de sistemas digitales en los que se hace
necesario que la información pueda ser almacenada para su posterior utilización.

1.1 Registros de desplazamiento


En las aplicaciones digitales se presentan muchas situaciones en las que es necesario almacenar infor-
mación de carácter volátil o transitorio, generada por circuitos combinacionales y secuenciales. Los
registros de desplazamiento son circuitos empleados en el almacenamiento de información, que son
implementados con elementos básicos de memoria, los Flip-Flops.

Estructura básica de los registros de desplazamiento


El esquema de la figura representa un registro de despla-
zamiento de 4 bits, implementado con Flip-Flops D dispa-
rados por flanco de subida. El reloj es común a los cuatro
biestables, de tal forma que las transiciones entre estados
se producirán al mismo tiempo en los cuatro. La salida Q de
cada uno de los Flip-Flops es la entrada del siguiente.

La información a cargar en el registro se presenta en la entrada


de datos (entrada D1 del FF1) de forma ordenada en el tiempo.
Supóngase como ejemplo que el dato a almacenar es el 1010.
Este dato se presenta en D1 en la forma que se representa en el
cronogramade la izquierda:

La tabla de verdad del biestable D es:

D CLK SALIDA (condición)


0 ↑ Puesta a 0 (RESET, almacena un 0)
1 ↑ Puesta a 1 (SET, almacena un 1)

Suponiendo que los biestables están inicialmente a 0, el


estado del registro antes del primer flanco de subida es tal
y como se refleja en la figura de la izquierda

Cuando se produce el flanco de subida 1 (t = 1us), los Flip-


Flops responden acorde con la tabla de verdad, es decir:

FF1 tiene un 1 en su entrada y, en el flanco de subida, la salida pasa al estado 1.


FF2 tiene un 0 en su entrada y, en el flanco de subida la salida Q2, almacena un 0.
FF3 tiene un 0 en su entrada y, en el flanco de subida la salida Q3, almacena un 0.
FF4 tiene un 0 en su entrada y, en el flanco de subida la salida Q4, almacena un 0.

El estado del registro justo des-


pués del flanco de subida 1 es:

El bit de mayor peso del dato


1010 se almacenó en el biestable
FF1. Entre el flanco 1 del reloj y
el 2, la entrada de FF1 cambia de
estado y pasa a 0 (en el instante 1,5 us). Las transiciones en la entrada de datos deben adelantarse a
los flancos de subida lo suficiente para asegurar que el nivel (1 el 0) sea estable y la entrada esté defi-
nida, asegurando una perfecta definición de la salida.

176
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:01 PÆgina 177

El estado del registro antes del 2º flanco de subida es:


Bloques funcionales secuenciales
7
Cuando se produce el flanco de subida 2 (t = 2us), la res-
puesta del registro es:
FF1 tiene un 0 en su entrada y, en el flanco de subida, la salida pasa al estado 0.
FF2 tiene un 1 en su entrada y, en el flanco de subida la salida pasa al estado 1.
FF3 tiene un 0 en su entrada y, en el flanco de subida la salida Q3 almacena un 0.
FF4 tiene un 0 en su entrada y, en el flanco de subida la salida Q4 almacena un 0.

El estado del registro después del flanco de subida 2 es:

El bit de mayor peso del dato 1010 se desplazó desde FF1


hasta FF2.

Antes del 3º flanco de subida el estado del registro es:

Cuando se produce el flanco de subida 3 (t = 3us), la respuesta del registro es:


FF1 tiene un 1 en su entrada y, en el flanco de subida, la salida pasa al estado 1.
FF2 tiene un 0 en su entrada y, en el flanco de subida la salida pasa al estado 0.
FF3 tiene un 1 en su entrada y, en el flanco de subida la salida pasa al estado 1.
FF4 tiene un 0 en su entrada y, en el flanco de subida la salida Q4 almacena un 0.

El bit de mayor peso del dato 1010 se desplazó desde FF2 hasta FF3.

El estado del registro después del flanco de subida 3 es:

El estado del registro antes del 4º flanco de subida es:

Cuando se produce el flanco de


subida 4 (t = 4us), la respuesta
del registro es:

FF1 tiene un 0 en su entrada y, en el flanco de subida, la salida pasa al estado 0.


FF2 tiene un 1 en su entrada y, en el flanco de subida la salida pasa al estado 1.
FF3 tiene un 0 en su entrada y, en el flanco de subida la salida almacena un 0.
FF4 tiene un 1 en su entrada y, en el flanco de subida la salida almacena un 1.

El bit de mayor peso del dato 1010 se desplazó desde FF3 hasta FF4.

El estado del registro después del 4º flanco de subida es:

177
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:02 PÆgina 178

7 Lógica digital y microprogramable

En este instante el dato de entrada 1010, está almacenado en el registro. El bit de mayor peso está en
el FF4, ya que fue el que se introdujo primero.

El resultado del análisis de los registros se plasma en los cronogramas, que describen su funcionamien-
to. El cronograma que refleja el desplazamiento de la información en el registro analizado anterior-
mente es:

En este cronograma se observa que los bits introducidos


por la entrada de datos (D1) se desplazan una posición,
desde FF1 hasta FF4, con cada franco del reloj. Este es, por
tanto, un registro de desplazamiento a la derecha. Entre
los flancos 4 y 5 (4 y 5us) la información presente en las
salidas de los biestables es válida (1010). El 5º flanco del
reloj desplaza los bits de nuevo, y el dato en el registro se
modifica. Para que la información introducida quede
almacenada en el registro se debería bloquear la llegada
de los pulsos del reloj.

Clasificación de los registros de desplazamiento


La información en los registros se puede introducir o cargar de dos formas:
Carga serie: la información se introduce por una sola línea.
Carga paralelo: la información se introduce por varias líneas simultáneamente.

De la misma forma la lectura de los datos se puede realizar de dos formas:


Lectura serie: la información se presenta en una sola línea para su lectura.
Lectura paralelo: la información se presenta en varias líneas simultáneamente.

Los registros de desplazamiento se pueden clasificar en cuatro grandes grupos, atendiendo a la mane-
ra en que se carga y se lee la información:
Registros serie/serie (entrada serie, salida serie)
Registros serie/paralelo (entrada serie, salida paralelo)
Registros paralelo/serie (entrada paralelo, salida serie)
Registros paralelo/paralelo (entrada paralelo, salida paralelo)

A estos cuatro grupos se debe añadir los registros de desplazamiento universales, que pueden funcio-
nar en cualquiera de los modos descritos.

1.2 Registros de desplazamiento serie/serie y


serie/paralelo
Registro de desplazamiento serie/serie
El registro descrito anteriormen-
te, en el apartado “Estructura bá-
sica de los registros de desplaza-
miento”, puede funcionar como
registro serie/serie, utilizando la
salida Q de FF4 como salida de
datos serie.

178
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:02 PÆgina 179

Registro de desplazamiento serie/paralelo


Bloques funcionales secuenciales
7
El registro descrito anteriormente, en el apartado Estructura
básica de los registros de desplazamiento, puede funcionar
como registro serie/paralelo, utilizando las salidas Q de los
biestables como salidas paralelo, en las que se dispone de
los bits de información que componen el dato almacenado
(D3, D2, D1, D0), simultáneamente.

Este registro podría ser utilizado también como serie/serie, utilizando la salida Q de FF4 como línea de
salida serie.

1.3 Interpretación de los manuales técnicos de los


registros de desplazamiento serie/paralelo
Ejemplo resuelto
El trabajo propuesto es describir mediante un
diagrama de tiempos la evolución de los esta-
dos en las salidas del registro de desplaza-
miento serie/paralelo 74164, para las señales
de entrada que aparecen en el cronograma, a
partir de la descripción del circuito realizada
en el manual técnico del fabricante.

En la carpeta Documentación del


 CD, se puede encontrar la hoja de
características del fabricante, (UD_7
> 74164) así como su interpretación,
(UD_7 > 74164_traducción).

Solución
La solución al ejemplo propuesto, una vez analizada la hoja de características, se obtiene trabajando
sobre el cronograma de estado de las entradas al registro, analizando la situación del mismo antes de
cada uno de los flancos de subida.

Inicialmente el registro está en el modo de operación Clear asíncrono (MR* = 0). Esto provoca un
borrado del registro, forzando las salidas de los 8 biestables al estado 0. El terminal de entrada B per-
manece conectado a 1 durante todo el proceso y el terminal de entrada A actúa como entrada de datos
serie.

Flanco 1: el registro está en el modo despla-


zamiento (MR* = 1). Antes del flanco de
subida 1, en la entrada D de FF1 hay un
1 (A = 1), y Q1 pasará al estado 1 des-
pués del flanco. el resto de los biesta-
bles tienen su entrada a 0. Su estado no
cambia. El estado del registro después
del 1º flanco será el que se refleja en el
cronograma y permanecerá así hasta
el 2º:

179
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:02 PÆgina 180

7 Lógica digital y microprogramable

Flanco 2: la entrada A, inmediatamente antes


del flanco 2, está a 0. Q0 cambia al estado
0. El registro está en el modo desplaza-
miento (MR* = 1), y la información se des-
plaza una posición a la derecha. el 1 de Q0
se desplaza a Q1, el cero de Q1 a Q2, etc. el
cronograma después del flanco 2, y hasta el
3 será:

Flanco 3: el registro está en el modo desplaza-


miento (MR* = 1). La información se des-
plaza una posición a la derecha. La entrada
A, inmediatamente antes del flanco 3, está
a 1. Q0 cambia al estado 1. El cronograma
después del flanco 3 y hasta la aparición de
la activación del Reset será:

Flanco 4: MR* está a 0, antes de que se pro-


duzca la transición de 0 a 1 de la señal de
reloj, y mantiene al registro en el modo
Reset asíncrono, provocando un borrado de
la información presente en los Flip-Flops. El
4º flanco queda bloqueado y no provoca
desplazamiento. El cronograma desde la
activación del Reset hasta el flanco 5 será:

Flanco 5: antes del flanco de subida 5, en la entrada D de FF1 hay un 1 (A = 1), y Q1 pasará al esta-
do 1 después del flanco. El resto de los biestables tienen su entrada D a 0 y su estado no
cambia.El estado del registro después del 5º flanco será el que se refleja en el cronograma, y per-
manecerá así hasta el 6º (página siguiente):

180
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:03 PÆgina 181

Bloques funcionales secuenciales


7

Flanco 6: el registro está en el modo despla-


zamiento (MR* = 1). La información se
desplaza una posición a la derecha. La
entrada A, inmediatamente antes del
flanco 6, está a 0. Q0 cambia al estado
0. El cronograma después del flanco 6 y
hasta el 7 será:

Flanco 7: el registro está en el modo despla-


zamiento (MR* = 1). La información se
desplaza una posición a la derecha. La
entrada A, inmediatamente antes del
flanco 7, está a 1. Q0 pasa al estado 1.
El cronograma después del flanco 7 y
hasta el 8 será:

Flanco 8: antes del flanco de subida 8, la entrada D de FF1 sigue a 1, y Q1 permanecerá en el esta-
do 1 después del flanco. El registro está en el modo desplazamiento (MR* = 1) y los bits se des-
plazan a la derecha. El estado del registro después del 8º flanco será el que se refleja en el cro-
nograma (página siguiente):

181
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:03 PÆgina 182

7 Lógica digital y microprogramable

La información en el registro después del flanco 8 será: 00001011.

1.4 Registro de desplazamiento paralelo/paralelo


y universales
Registro de desplazamiento paralelo/paralelo
Los registros con entrada paralelo, cargan todos los bits del dato que se quiere almace-
nar en el registro, de forma simultánea. Para cargar un dato de 4 bits, A3, A2, A1, A0,
habrá que presentarlos en las entradas P3, P2, P1 e P0, al mismo tiempo (figura
izquierda).

La lectura del registro se hace directamente en


los terminales Q3, Q2, Q1, Q0, es decir, en pa-
ralelo.

Además de los terminales que se muestran en


la figura, los integrados comerciales añaden lí-
neas de control de modo (figura a la derecha).

La entrada SH/LD* (Shift/Load; Desplazamiento/Carga) con-


trola el modo de funcionamiento del registro:
) SH/LD* = 1 el registro está en el modo desplazamiento.
) SH/LD* = 0 el registro está en el modo carga en paralelo.

Cambiando el modo de operación, este registro puede realizar distintas operaciones:


) En el modo paralelo (SH/LD* = 0), se carga el dato en paralelo y se lee en paralelo, operando
como registro entrada paralelo/salida paralelo.
) En el modo serie (SH/LD* = 1), se carga el dato en serie por D0, y se lee en serie por Q3, ope-
rando como registro entrada serie/salida serie.
) En el modo paralelo (SH/LD* = 0), se carga el dato en paralelo y cambiando el modo (SH/LD* =
1) se lee en serie por Q3, operando como registro entrada paralelo/salida serie.
) En el modo serie (SH/LD* = 1), se carga el dato en serie por D0 e, cambiando el modo (SH/LD*
= 0) se lee en paralelo, operando como registro entrada serie/salida paralelo.

Para realizar la carga paralelo se pueden utilizar varias configuraciones de los biestables. Una posibi-
lidad es la que aparece en la figura de la página siguiente

182
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:04 PÆgina 183

El dato A3, A2, A1 y A0, se presenta en las entradas D de


Bloques funcionales secuenciales
7
los biestables, que tienen la entrada de reloj común.
Cuando aparece el flanco de subida, los cuatro bits se
almacenan de forma simultánea en las salidas Q, estan-
do disponibles para su lectura en paralelo en Q3, Q2, Q1
y Q0.

Otra configuración posible para la carga en paralelo es


la que utiliza las entradas asíncronas Preset de los bies-
tables, como aparece en la siguientefigura.

EL circuito tiene, además de las entradas


y salidas de datos, los siguientes termi-
nales:

) SER: entrada de datos serie (en


modo desplazamiento)
) SH/LD*: selección de modo:
SH/LD* = 1, desplazamiento (ne-
cesita flanco de subida del
reloj).
SH/LD* = 0, carga paralelo
asíncrona (independiente de los
flancos del reloj).
) CLK: entrada de reloj.
) MR*: Reset asíncrono.
EL proceso por el que se cargan los datos en paralelo es:
) MR* = 0. Borrado de todos los biestables del registro.
EL dato a cargar (A3, A2, A1, A0) se presenta en las entradas paralelo.
) SH/LD* = 0. Selección del modo paralelo. A las entradas de las puertas NAND conectadas a la
salida del inversor, les llega un 1. En esta situación se presentan dos casos:
) Si el bit A es 1, la salida de la puerta NAND presenta un 0 en la entrada PE* del biestable corres-
pondiente, provocando el Preset (puesta a 1 de la salida Q), realizando así el almacenamiento
del 1 en el biestable.
) Si el bit A es 0, la salida de la puerta NAND presenta un 1 en la entrada PE* del biestable corres-
pondiente. El Preset no se produce y el biestable, que fue borrado previamente, no cambia de
estado, permaneciendo en el estado 0.

Registros de desplazamiento universales


Los registros de desplazamiento universales son aquellos que permiten operar en los diferentes modos
posibles:
) Serie/serie
) Serie/paralelo
) Paralelo/serie
) Paralelo/paralelo
) Desplazamiento derecha/Desplazamiento izquierda.
EL símbolo lógico de estos registros es el siguiente:

La función de los terminales es la siguiente:


P0 – P3: entradas de datos paralelo.
Q0 – Q3: salidas de datos paralelo
CLR*: Reset asíncrono. Borra todos los biestables, forzándolos al estado 0. Activo en cero.
S0, S1: control de modo .
183
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:04 PÆgina 184

7 Lógica digital y microprogramable

S0 S1 Modo
0 0 Hold. Mantenimiento, el registro mantiene la información almacenada. Los flancos del
reloj no producen transiciones.
0 1 Shift left. Desplazamiento a la izquierda. (SL SER → Q3 → Q2 → Q1 → Q0). La entra-
da serie es SL SER
1 0 Shift right. Desplazamiento a la derecha. (SR SER → Q0 → Q1 → Q2 → Q3). La en-
trada serie es SR SER
1 1 Paralell load. Carga paralelo.

SR SER: entrada serie en el modo desplazamiento a la derecha (SR SER → Q0 → Q1 → Q2 → Q3).


SL SER: entrada serie en el modo desplazamiento a la izquierda (SL SER → Q3 → Q2 → Q1 → Q0).
CLK: entrada de reloj.

1.5 Interpretación de los manuales técnicos de


los registros de desplazamiento universales
Ejemplo resuelto
EL trabajo propuesto es el de describir, mediante
un diagrama de tiempos, la evolución de los esta-
dos en las salidas del registro de desplazamiento
universal 74194, para las señales de entrada que
aparecen en el cronograma, a partir de la descrip-
ción del circuito realizada en el manual técnico del
fabricante.

Téngase en cuenta que Pn representa en el crono-


grama a P3, P2, P1 y P0, y está expresado en hexa-
decimal. Por tanto, el estado de las entradas para-
lelo en los flancos 1, 2, 3, 4, 5 y 6 será:
 EnDocumen-
la carpeta
Pn = 0h → P3 = 0, P2 = 0, P1 = 0, P0 = 0
tación del
CD, se puede encon- y en los flancos 7 y 8:
trar la hoja de caracte-
Pn = Ah → P3 = 1, P2 = 0, P1 = 1, P0 = 0
rísticas del fabricante,
(UD_7 > 74194) así Solución
como su interpreta-
ción, (UD_7> La solución al ejemplo propuesto, una vez analizada la hoja de características, se obtiene trabajando
74194_traducción). sobre el cronograma de estado de las entradas al registro, analizando la situación del mismo antes de
cada uno de los flancos de subida.

184
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:05 PÆgina 185

Bloques funcionales secuenciales

Inicialmente el registro está en el modo de operación Clear asíncrono (MR* = 0). Esto provoca un
7
borrado del registro, forzando las salidas de los 4 biestables al estado 0.

Para los flancos 1, 2, 3 y 4, las entradas de


control de modo están en el estado S1 = 0 y
S0 = 1, es decir, el registro está operando en
el modo Desplazamiento a la derecha. La
entrada DSR actúa como entrada de datos
serie y los datos entran al registro por Q0. El
cronograma hasta el flanco 5 será:

Después del flanco 4, en el registro está alma-


cenado el dato 1100, que se presentó en la
entrada de datos serie DSR, de forma ordena-
da en el tiempo.

Para los flancos 5 y 6, las entradas de control


de modo están en el estado S0 = 0 y S1 = 0,
es decir, el registro está operando en el modo
Mantenimiento. El dato almacenado a tra-
vés de la entrada serie, 1100, se mantiene en
el registro durante 2 flancos de reloj.

En el flanco 7, las entradas de control de


modo están en el estado S0 = 1 y S1 = 1, es
decir, el registro está operando en el modo
Carga paralelo síncrona. El dato presente
en las entradas de datos paralelo Pn (1010) se
cargará en el registro en el flanco 7.

En el flanco 8, las entradas de control de modo están en el estado S0 = 0 y S1 = 0, es decir, el regis-


tro está operando en el modo Mantenimiento (página siguiente).

185
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:05 PÆgina 186

7 Lógica digital y microprogramable

Aplicación práctica:
De los registros a los sistemas digitales
Transmisor de datos
En ocasiones, es necesario transmitir a distancia datos digitales. Estos datos pueden ser de 4, 8, 16 o 32 bits. Si
la distancia es grande, es necesario evitar realizar el cableado de tantos hilos como bits tenga el dato y realizar
la transmisión por un solo hilo. El sistema que aparece en la figura realiza la transmisión de un dato de 4 bits,
generado por un teclado, para su visualización en un display 7-segmentos.

El sistema dispone de un teclado y un codificador que presentan en la entrada de un registro, para su almace-
namiento, la codificación en binario de la tecla pulsada. El número almacenado aparece en la salida del regis-
tro y los 4 bits que lo forman son presentados por el multiplexor en la línea de salida para su transmisión. En
esta línea habrá solamente un bit en cada instante de tiempo y los 4 bits serán transmitidos en un orden deter-
minado, que vendrá fijado por un contador. En la figura aparece el diagrama de bloques del sistema.

186
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:05 PÆgina 187

Bloques funcionales secuenciales


7
EL registro de entrada recibe los bits que forman el número transmitido por una sola línea, ordenados en el tiem-
po, y presenta los cuatro bits en la salida simultáneamente, cada 4 impulsos del reloj. El registro de salida pre-
senta el dato de forma permanente al decodificador BCD/7-segmentos para su visualización en el display.

El trabajo propuesto es configurar,


simular y montar en la parte de trans-
misión del sistema digital, el bloque
teclado-codificador-registro, utilizan-
do un registro universal.

Configuración
En el apartado 4.1.2 de la Unidad didáctica 4, se
configuró el bloque teclado-codificador con el
esquema siguiente:

Como se recordará, en el sistema propuesto en la


Unidad didáctica 4, solamente se usaban las
teclas 0, 1, 2 y 3, y por esto en la salida del codi-
ficador el número mayor que podía aparecer era
el 3d, (00, salidas activas a nivel bajo). En el sis-
tema de transmisión de datos serie propuesto en
esta actividad, el número a transmitir puede ser cualquiera desde el 0d hasta el 9d. La salida del codificador es
insuficiente para representar este margen, por lo que, o bien se usa una ampliación de los 74148, o bien el cir-
cuito codificador 74147 con lógica adicional.

Bloque teclado/codificador con codificador 74147 y lógica adicional


Recuérdese que el teclado entrega un 0 en la línea
correspondiente a la tecla pulsada, debido a que
las entradas del codificador son activas a nivel
bajo. En las salidas D, C, B, A se presenta el núme-
ro codificado en binario, que representa la tecla
pulsada.

EL codificador no tiene entrada para el cero.


Cuando se pulsa la tecla “0”, no se activa ningu-
na de las entradas del codificador y las salidas
están todas a 1 (11112 = 0d), por lo que el cero
pulsado y ninguna tecla pulsada son situaciones
que se confunden. La puerta NAND se utiliza para
distinguir las dos situaciones y también para vali-
dar (disponer de un cero válido) el cero en la sali-
da del codificador:

Ninguna tecla pulsada.


) Todas las entradas del codificador están a 1
(ninguna entrada activada) y las salidas
toman el valor 1111, que no es un “0d”
válido.
) Todas las entradas de la puerta NAND están
a 1 y la salida a 0, lo que indica que el cero
(1111) que aparece en la salida del codifica-
dor no es válido.

187
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:06 PÆgina 188

7 Lógica digital y microprogramable

Tecla cero pulsada.


) Todas las entradas del codificador están a 1 (ninguna
entrada activada) y las salidas toman el valor 1111, que
representa el cero.
) La entrada de la puerta NAND, conectada a la tecla “0”
del teclado, está a 0 y la salida de la puerta presenta un
1, que indica que el cero (1111) que aparece en la sali-
da del codificador es válido.

Configuración del registro.


) EL ejercicio propone utilizar un registro universal 74194.
El símbolo del circuito es el siguiente:

Para realizar la configuración se tendrán en cuenta los


siguientes puntos:
) Se utilizará una frecuencia de reloj lo suficientemente alta como para que, mientras se mantiene la tecla
pulsad,a se produzca un número de pulsos elevado. Por ejemplo, una frecuencia de reloj de 1Mhz provoca
106 pulsos en 1 segundo. Cuando se pulsa una tecla se mantiene activada entre 0,25s y 1s. El número pre-
sente en la salida del decodificador permanece en las entradas del registro, como mínimo, durante 250.000
pulsos del reloj.
) EL codificador presenta al registro el número en cuatro líneas (D → P3, C → P2, B →P1, A→P0). El dato
ingresará en el registro en paralelo, seleccionando el modo de operación carga paralelo (Paralell load), que
es un modo síncrono, es decir, que la carga se produce en los flancos de subida del reloj. Por lo comentado
en el punto anterior, el dato se cargaría 250,000 veces al registro, cuando se selecciona el modo carga pa-
ralelo:
S0 = 1, S1 = 1
) Cuando se pulsa cualquier tecla, incluida el “0”, la salida de la puerta NAND, del bloque teclado_codifica-
dor, proporciona el 1, que conectado a S0 y S1, coloca al registro en el modo carga paralelo.
) Cuando no se pulsa ninguna, todas las entradas de la puerta NAND están a 1 y la salida a 0. En esta situa-
ción el registro opera en el modo Hold, (no cambio, mantenimiento).
S0 = 0, S1 = 0
) En la práctica es importante dotar al registro de la posibilidad de inicializarlo a “0”, haciendo una puesta
en marcha que consista en forzar un Reset asíncrono externo, mediante un pulsador.
MR* = 0
) Obsérvese que en la hoja de carac-
terísticas del fabricante el Reset
asíncrono aparece como MR*,
mientras que en el símbolo de la
plataforma informática OrCad apa-
rece como CLR*.
La solución al ejercicio propuesto será (fi-
gura adjunta):

Simulación
EL trabajo propuesto es el de simular con
la plataforma informática OrCAD el cir-
cuito, comprobando el funcionamiento
del mismo en los supuestos siguientes:

188
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:06 PÆgina 189

Bloques funcionales secuenciales


7
Tecla pulsada → 2.
Tecla pulsada → 8.
Tecla pulsada → 0.
Tecla pulsada → ninguna.

Condiciones para la simulación


) Simúlese el circuito durante 17 us.
) Substitúyase el conmutador de Reset
por un Stim1.
) Provóquese un Reset inicial con el fin
de inicializar las salidas del 74194
a “0”.
) Actívese la tecla pulsada a los 2.5 us
del comienzo de la simulación y des-
actívese a los 10 us.
) Refléjese en la simulación las señales:
Reloj, Reset, señal de la tecla pulsada,
S1, S0 y salidas del 74194.
Solución
El circuito para realizar la simulación en
OrCad es (figura adjunta):

Tecla pulsada → 2.

Tecla pulsada → 8.

Tecla pulsada → 0.

189
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:07 PÆgina 190

7 Lógica digital y microprogramable

Tecla pulsada
→ ninguna.

2. Circuitos secuenciales. Contadores


Los contadores son circuitos secuenciales implementados con Flip-Flops, que se comercia-
lizan en circuitos integrados de escala de integración media (MSI, Medium Scale Integra-
tion) y que se utilizan para contar eventos. Estos eventos se traducen en pulsos en la entra-
da del circuito. El circuito contará, por tanto, pulsos (flancos de subida o de bajada) y tra-
ducirá la cuenta en un código binario (binario natural o BCD). El diagrama de bloques
básico de un contador aparece en la figura de la izquierda:

El circuito tiene una entrada de Reset


asíncrona MR* (prioritaria sobre las
demás entradas) y una entrada de pul-
sos CP; las salidas de cuenta Q3, Q2, Q1
y Q0 presentan el estado del contador
en binario natural o en BCD, depen-
diendo del tipo de contador de que se
trate. La evolución del circuito, cuando
los eventos a contar provienen de un
generador de pulsos periódico, se
representa en el cronograma izquierdo:

El circuito funciona como un contador binario, desde 0d hasta 15d; cuando llega al final de cuenta
(1111) comienza la secuencia de cuenta de nuevo.

De la observación del cronograma se deduce otra aplicación de estos circuitos: divisor de frecuencias.
La frecuencia de los pulsos de la fuente de señal (reloj) aparece en QA dividida por 2, por 4 en QB, por
8 en QC y por 16 en QD. Este contador es, por tanto, un divisor por 16 (CTRDIV16).

El integrado podría estar diseñado


internamente para que la secuencia no
llegase al 15d, y después del 9d (1001)
comenzase la cuenta de nuevo en el
0d, lo que se llama un contador de
décadas. El cronograma para este con-
tador sería (figura adjunta):

En estos dos ejemplos el contador reci-


be los pulsos de una señal periódica y
cuenta los flancos de subida. Estos pul-
sos pueden ser generados por cualquier fuente, de la que se tenga necesidad de contar el número de
veces que se produce un evento determinado. Por ejemplo, se puede situar un sensor en la entrada de

190
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:07 PÆgina 191

Bloques funcionales secuenciales

un garaje y contar el número de coches que entran en el mismo; los pulsos producidos por el sensor
7
tendrían una cadencia de aparición no periódica.

2.1 Funcionamiento básico de los


circuitos contadores
Los contadores están implementados con Flip-Flops; la forma en que está conectada la señal de reloj
internamente con los distintos biestables determina dos tipos de contadores: síncronos y asíncronos.

Contadores síncronos
Todos los biestables reciben la señal de reloj, de forma que los flancos de dis-
paro llegan a todos en el mismo instante. Las transiciones de estados son
simultáneas. En la figura se muestra un contador síncrono de 2 bits.

Supóngase que inicialmente se provoca un Reset asíncrono (MR* = 0), que


coloca a todos los biestables en el estado “0” (contador en 00, 0d).

El FF1 está permanentemente en la condición de cambio (J = 1, K = 1). Este


biestable cambiará de estado en todos los flancos de subida.

Flanco de subida 1.
) FF1 está en condición de cambio.
) FF2 está en condición hold (no
cambio).

Flanco de subida 2.

) FF1 está en condición de cambio.


) FF2 está en condición de cambio.

Flanco de subida 3.
) FF1 está en condición de cambio.
) FF2 está en condición de hold (no
cambio).

Flanco de subida 4.
) FF1 está en condición de cambio.
) FF2 está en condición de cambio.

El contador retorna después del 4º flan-


co al estado inicial y comienza a repetir
la secuencia de cuenta 00, 01, 10, 11.
Es un contador módulo 4.

191
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:08 PÆgina 192

7 Lógica digital y microprogramable

En el cronograma de QB se puede observar que el período de señal es 4 us, mientras que para la señal
de reloj el período es de 1 us. El circuito realiza una división por 4 de la frecuencia de entrada, (fre-
cuencia del reloj).

Contadores asíncronos
Solo el primer biestable del circuito recibe los flancos de disparo de la señal de reloj. Los flancos de
disparo en el resto de biestables los provocan las transiciones en el biestable anterior.

Supóngase que inicialmente se provoca un Reset asíncrono (MR* = 0), que


coloca a todos los biestables en el estado “0” (contador en 00, 0d).

El FF1 está permanentemente en la condición de cambio (J = 1, K = 1),


igual que en el contador síncrono. Este biestable cambiará de estado en
todos los flancos de subida.

El FF2 también está permanentemente en la condición de cambio, pero la


entrada de reloj del FF2 está conectada a la salida QA* del FF1, por lo que
las transiciones en el segundo biestable solo se producirán cuando FF1
cambie del estado alto al bajo.

Flanco de subida 1.
) FF1 está en condición de cambio.
) FF2 está en condición de cambio,
pero no recibe el flanco de disparo,
por lo que no cambia de estado.

Flanco de subida 2.
) FF1 está en condición de cambio.
) FF2 está en condición de cambio y
recibe el flanco de disparo, por lo
que cambia de estado.

Flanco de subida 3.
) FF1 está en condición de cambio.
) FF2 está en condición de cambio,
pero no recibe el flanco de disparo,
por lo que no cambia de estado.

Flanco de subida 4.
) FF1 está en condición de cambio.
) FF2 está en condición de cambio y
recibe el flanco de disparo, por lo
que cambia de estado.

El contador retorna después del 4º flan-


co al estado inicial y comienza a repetir
la secuencia de cuenta 00, 01, 10, 11.

192
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:08 PÆgina 193

Bloques funcionales secuenciales

En el cronograma de QB se puede observar que el período de señal es 4 us, mientras que para la señal
7
de reloj el período es de 1 us. El circuito realiza una división por 4 de la frecuencia de entrada, (fre-
cuencia del reloj).

Entradas de carga paralelo síncrona


Los contadores comerciales facilitan una serie de entradas adicionales, además de la entra-
da de pulsos (reloj) y del Master Reset. Las entradas de carga paralelo permiten reiniciar
el contador después de que alcance el final de cuenta, en un estado definido en dichas
entradas. En la figura aparece el símbolo de un contador de 0d a 15d (módulo 16):

Habitualmente la carga del dato es síncrona, es decir, el número con el que se quiere rei-
niciar la secuencia de cuenta se carga en el contador cuando aparece el flanco positivo del
reloj. Así que este recurso se utilizaría si se quisiera trabajar con una secuencia diferente
de 0d → 15d, por ejemplo, 10d → 15d. De esta forma el final de cuenta sería el mismo,
15d, pero una vez que el contador alcanza este valor, cuando llega el flanco de subida del
reloj, no inicia en 0d, si no en 10d.

Entrada de control de modo: ascendente, descendente


Algunos de los contadores comerciales pueden contar en modo ascendente, de 0d a 15d, y
también en modo descendente, desde el valor de final de cuenta hasta 0d, repitiendo des-
pués la secuencia 15d, 0d. Para el control de modo disponen de una entrada de control
D/U* (Down/Up), de manera que con nivel bajo realiza la cuenta ascendente y con nivel
alto la cuenta descendente.

Salida de propagación del reloj


La salida RCO (Ripple Clock Output) facilita la cone-
xión en cascada de contadores. Esta salida pasa al
nivel alto cuando el contador alcanza el final de
cuenta, 15d en modo ascendente y 0d en modo des-
cendente.

2.2 Interpretación de los manuales técnicos


de los contadores
Ejemplo resuelto 1
El trabajo propuesto es el de describir, mediante un diagrama de tiempos, la evolución de los estados
en las salidas del contador 74163 para una entrada de pulsos con una frecuencia de 0,5 Mhz en la
situación de funcionamiento que se refleja en el diagrama de tiempos siguiente.

 Endel laCD,carpeta Documentación


se puede encontrar la
hoja de características del
fabricante, (UD_7 > 74163) así como
su interpretación, (UD_7> 74163_tra-
ducción).

Solución
Para resolver el ejemplo propuesto, es necesario analizar la hoja de características del fabricante.

La solución al ejemplo propuesto, una vez analizada la hoja de características, se obtiene trabajando
sobre el cronograma de estado de las entradas al contador y analizando la situación del mismo antes
de cada uno de los flancos de subida.

193
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:08 PÆgina 194

7 Lógica digital y microprogramable

Inicialmente, el contador está en el modo de operación Clear (SR* = 0). Esto provoca un borrado del
contador, en el primer flanco de subida del reloj (Reset síncrono), forzando las salidas Qn al estado 0,
inicializando así al contador en el 0d. A partir del segundo flanco, el circuito está en el modo de ope-
ración cuenta ascendente:

SR* = 1, PE* = 1, CEP = 1, CET = 1

El circuito realiza la secuencia 0d → 15d. Al lle-


gar al final de cuenta, en el siguiente flanco de
subida, se produce el incremento del contador
y cambia al estado cero, comenzando la se-
cuencia de nuevo. La salida TC permanece a
“0” durante la secuencia de cuenta y solamen-
te en el final de cuenta (15d) cambia al valor 1.
La evolución del contador se refleja en el crono-
grama de la izquierda:

Ejemplo resuelto 2

El trabajo propuesto es describir,


mediante un diagrama de tiempos, la
evolución de los estados en las salidas
del contador 74163 para una entrada de
pulsos con una frecuencia de 0,5 Mhz, en
las condiciones de funcionamiento que
se reflejan en el diagrama de tiempos
siguiente.

Solución
La solución al ejemplo propuesto, una vez analizada la hoja de características, se obtiene trabajando
sobre el cronograma de estado de las entradas del contador y analizando la situación del mismo antes
de cada uno de los flancos de subida.

Inicialmente el contador está en el modo de operación Clear (SR* = 0). Esto provoca un borrado del
contador, en el primer flanco de subida del reloj (Reset síncrono), forzando las salidas Qn al estado 0,
inicializando así el contador en 0d.

En el segundo flanco de subida, el circuito está en el modo de operación carga paralelo síncrona y el
valor presente en las entradas Pn (0d), se transfiere a las salidas Qn.

En los flancos 3, 4 y 5 el circuito realiza la


cuenta ascendente, a partir del valor de inicio
de la secuencia, forzado por la carga paralelo
en el flanco 2, (en este caso el 0d, pero podría
iniciarse la secuencia en cualquiera otro
valor). El cronograma hasta el flanco 6 sería el
que se indica a la izquierda:

En el flanco 6 el circuito está, otra vez, en la


condición carga paralelo síncrona (PE* = 0).
Las entradas Pn siguen en 0d. El contador
interrumpe la secuencia de cuenta y vuelve al
estado 0.

194
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:09 PÆgina 195

En los flancos 7, 8 y 9 el circuito realiza de


Bloques funcionales secuenciales
7
nuevo la cuenta ascendente, a partir del 0d.
El circuito repetirá la secuencia 0, 1, 2, 3, 0
indefinidamente. El cronograma completo
sería:

La salida TC permanece a 0, ya que el con-


tador no alcanza el final de cuenta (15d).

Ejemplo resuelto 3
El trabajo propuesto es describir, mediante un
diagrama de tiempos, la evolución de los
estados en las salidas del contador 74160,
para una entrada de pulsos con una fre-
cuencia de 0,5 Mhz en las condiciones de
funcionamiento que se refleja en el diagra-
ma de tiempos siguiente.

Solución
La solución al ejemplo propuesto, una vez analizada la hoja de características, se obtiene trabajando
sobre el cronograma de estado de las entradas al contador y analizando la situación del mismo antes
 EnDocumen-
la carpeta

tación del CD,


de cada uno de los flancos de subida. se puede encontrar la
Inicialmente, el contador está en el modo de operación Clear (SR* = 0). Esto provoca un borrado del hoja de características
del fabricante, (UD_7
contador, en el primer flanco de subida del reloj (Reset síncrono), forzando las salidas Qn al estado 0,
> 74160).
inicializando así el contador en el 0d. A partir del segundo flanco, el circuito está en el modo de ope-
ración cuenta ascendente:

SR* = 1, PE* = 1, CEP = 1, CET = 1

El circuito realiza la secuencia 0d → 9d


(contador de décadas). Al llegar al final de
cuenta la salida TC, que permanece a “0”
durante toda la secuencia de cuenta, cam-
bia al valor 1. La evolución del contador
hasta el flanco 12 se refleja en el cronogra-
ma de la derecha:

En el flanco 12, el circuito está en el modo


de operación hold (CEP = 0, CET = 1, man-
tenimiento); el contador se mantiene en el
estado 0.

En el flanco 13, PE* = 0, aparece una orden


de carga en paralelo y se inicia una secuen-
cia de cuenta desde el valor cargado (7d)
hasta el 9d. En los flancos 16 y 19 se repite
la carga en paralelo forzando al contador a
realizar la secuencia siguiente:

7d → 9d → 7d → 9d

La carga paralelo no permite al contador ini-


ciar la secuencia en el 0d. El cronograma
completo se muestra en la figura a la derecha:

195
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:09 PÆgina 196

7 Lógica digital y microprogramable

2.3 Contadores en cascada


El montaje de contadores en cascada se utiliza para aumentar el módulo de los contadores. Los conta-
dores analizados en el apartado 2.1 pueden contar hasta 10 (contador de décadas, 74160) o hasta 15
(contador binario, 74163). Si fuese necesario contar, por ejemplo hasta 256, se necesitarían dos conta-
dores binarios módulo 16 (desde 0d hasta 15d). Si fuese necesario contar hasta 99, se podrían usar dos
contadores de décadas.

La salida de propagación del reloj RCO se utiliza para realizar las conexio-
nes en cascada de contadores de la forma que se indica en el siguiente
ejemplo: supóngase que se quiere realizar un contador módulo 100 (desde
0d hasta 99d). Se necesitan dos contadores de décadas (74160).

Cada uno de los contadores representa un dígito de la cuenta decimal, es


decir, la cuenta se realiza en BCD. Un contador cuenta las unidades y el
otro las decenas.

La entrada de pulsos se conecta al contador de las unidades,


que se incrementará con cada uno de los pulsos. El contador
de las decenas se incrementa cada 10 pulsos, es decir, se
incrementa en 1 cada vez que el contador de las unidades
pasa de 9 a 0.

La salida TC (RCO), permanece en el estado 0 hasta que se


alcanza el final de cuenta, que en el 74160 es el 9. En ese
momento pasa al estado 1.

La salida de propagación del reloj, o de final de cuenta, se


puede utilizar para habilitar el contador de las decenas. De
esta forma, conectando la entrada de pulsos a la entrada de
reloj de los contadores, cuando llega el flanco de subida 10,
el segundo contador estará habilitado y se incrementará en 1.

2.4 Realización de circuitos con contadores


en cascada
Ejemplo resuelto 1
El trabajo propuesto es configurar un contador de 0d a 99d, seleccionando los integrados de la serie
74 adecuados y dibujando el esquema completo.

Solución
Se propone la utilización de dos contadores 74160, conectados en casca-
da. El primero contará las unidades y el segundo las decenas; la cuenta
se realiza en BCD.

El cronograma que representa la evolución de los estados de un contador


74160, cuando está en el modo cuenta, es el siguiente:

La salida de propagación del reloj, o de final de cuenta TC, se puede uti-


lizar para habilitar el contador de las decenas, conectándola a una de las
dos entradas de habilitación del contador de las decenas. Esta salida (la
TC) se pone a 1 cuando el contador alcanza el final de cuenta, entre el
flanco 9 y 10. De esta forma, conectando la entrada de pulsos a la entrada de reloj de los dos contado-
res, cuando llega el flanco de subida 10, el segundo contador estará habilitado y se incrementará en 1.

En la hoja de características del fabricante, aparece la tabla de selección de modo, en la que se espe-
cifica el estado de las entradas para el modo cuenta.

SR* = 1, PE* = 1, CEP = 1, CET = 1 → Condición de cuenta

196
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:10 PÆgina 197

El esquema del circuito es el siguiente:


Bloques funcionales secuenciales
7

Aplicación práctica 1:
Transmisor de datos

En la actividad anterior, se trabajó un sistema digital que utiliza circuitos combinacionales (codificadores y mul-
tiplexores) registros de desplazamiento (configurados para este sistema en la actividad anterior) y contadores.

El sistema está diseñado para transmitir a distancia los datos digitales generados por un teclado con el fin de
visualizarlos en un display 7-segmentos. El diagrama de bloques aparece en la figura:

El sistema dispone de un teclado y un codificador que presentan en la entrada de un registro, para su almacena-
miento, la codificación en binario de la tecla pulsada. El número almacenado aparece en la salida del registro.
El contador situado en el transmisor recibe los pulsos del reloj, y en su salida (entradas de selección del multiple-
xor) se produce la secuencia 00, 01, 10, 11, volviendo a cero y repitiendo la secuencia indefinidamente. De esta
forma el multiplexor selecciona, de forma ordenada QA, QB, QC y QD y los presenta en la línea de salida para su
transmisión. En esta línea, habrá solamente un bit en cada instante de tiempo, y los 4 bits serán transmitidos en
el orden fijado por el contador.

El contador situado en el receptor recibe la señal de reloj que llega desde el transmisor y realiza la misma secuen-
cia (00, 01, 10, 11); el bloque llamado lógica combinacional que aparece en el diagrama de bloques, garantiza
que cada 4 flancos de subida en el registro de entrada aparece un flanco en la entrada de reloj del registro de
salida.

197
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:10 PÆgina 198

7 Lógica digital y microprogramable

El trabajo propuesto es configurar, en la parte de recepción del sistema digital, el contador y el multiplexor, selec-
cionando los integrados de la serie 74 adecuados y dibujando el esquema completo.

El esquema que resuelve el codificador y el


registro es el siguiente:

Para configurar el contador y el multiplexor


se deben tener en cuenta las siguientes con-
sideraciones:

) En el cronograma de salida de un contador 74163, se puede observar que las salidas Q1 y Q0 realizan la
secuencia 00, 01, 10, 11, 00, de forma indefinida.
) En las salidas del registro de desplazamiento Q0, Q1, Q2 y Q3 aparece el número, correspondiente a la tecla
pulsada, que se quiere transmitir. Las salidas del registro se conectaran a las entradas de datos del multi-
plexor de orden más bajo. Se utilizará un doble multiplexor de 4 a 1: el 74153. Se puede configurar tam-
bién utilizando otros multiplexores, como por ejemplo el multiplexor de 8 a 1, 74 151.

198
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:11 PÆgina 199

Bloques funcionales secuenciales


7
En la salida del multiplexor
(línea de transmisión de los
datos serie) aparece el valor
presente en la entrada
seleccionada por las entra-
das de selección. Conectan-
do las salidas Q1 y Q0 del
contador 74163, a las entra-
das de selección del multi-
plexor S1, S0. El dato alma-
cenado en el registro apare-
cerá en la salida del multi-
plexor ordenado en el tiem-
po, con la cadencia fijada
por los estados del contador.

Aplicación práctica 2:
Configuración y simulación de un segundero
El trabajo propuesto es configurar, dibujar el esquema completo y simular un segundero, es decir, un contador
de 0d a 59d, utilizando contadores 74160.

Configuración
Conectando dos 74160 en cascada, el circuito realizará la cuenta de forma correcta hasta el 59. En el siguiente
flanco de subida de los pulsos de entrada, el segundo contador (decenas) no debe pasar a 6, si no que debe ini-
ciarse de nuevo en 0. Por tanto, la aparición del 6 en el contador de las decenas debe provocar la condición de
Reset en el segundo contador, llevando la entrada SR* a 0. Esto se consigue con una puerta NAND que detecte
la condición 11, en las salidas Q1 y Q2 del contador (6d = 0110).

El esquema es el siguiente:

Simulación
Para la realización de la simulación, háganse los siguientes cambios en el circuito:

Substitúyase Vcc por una señal de nivel alto ($D_hi).

La entrada de pulsos debe ser generada por un DigClock.

Inicialmente se deben resetear los contadores mediante un Stim1. Es necesario combinar mediante una puerta
el Reset inicial y el Reset provocado por la salida de la puerta Nand.

Para facilitar la visualización de los resultados de la simulación, pónganse buses en las salidas de los contadores.

199
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:11 PÆgina 200

7 Lógica digital y microprogramable

El circuito adecuado para la


realización de la simulación
con la herramienta infor-
mática OrCad es:

El resultado de la simulación es:


Simulando desde 0us hasta 65us.

Se observa la simulación general. Las decenas aparecen desde 0 hasta 5. En las unidades no se visualizan los
números por falta de espacio en la pantalla de simulación del OrCad. Al alcanzar el 59, se produce el Reset y el
contador se inicia en 0.

Simulando de 0us hasta 20us.

Incluyendo en el análisis la salida RCO del contador de las unidades, se observa como habilita al segundo
contador entre los flancos 9 y 10. El flanco 10 encuentra al contador de las decenas habilitado y este se incre-
menta.

Simulando de nuevo desde 0us hasta 65us y ampliando la pantalla de simulación, para analizar el cronograma
entre el 50 y el 65.

Incluyendo en el análisis la salida de la puerta Nand, se observa como el segundero avanza desde el 56 hasta
el 59. En el flanco 60 se produce el Reset de los contadores (Nand = 0), y el contador inicia la cuenta en 0.

200
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:12 PÆgina 201

Bloques funcionales secuenciales


7
3. Autoevaluación
Ejercicio 7.1
Registros de desplazamiento serie/paralelo

El trabajo propuesto es el de describir,


mediante un diagrama de tiempos, la
evolución de los estados lógicos en las
salidas del registro de desplazamiento
serie/paralelo 74164, para las señales de
entrada que aparecen en el cronograma.

Ejercicio 7.2
Registros de desplazamiento universales

El trabajo propuesto es el de describir,


mediante un diagrama de tiempos, la
evolución de los estados en las salidas del
registro de desplazamiento universal
74194, para las señales de entrada que
aparecen en el cronograma.

Ejercicio 7.3
Aplicación de los registros a los siste-
mas digitales

EL trabajo propuesto es reflejar, en


un diagrama de tiempos, la evolu-
ción de los valores lógicos en las
entradas y las salidas del 74194,
para la secuencia de eventos que se
indican a continuación. Supóngase
que la frecuencia del reloj es de
1Mhz (un flanco de subida cada 1us).

Tiempo en us Evento
0 Reset. Ninguna tecla pulsada
0.5 Fin del Reset. Ninguna tecla pulsada
2.5 Tecla pulsada → 5
4.5 Ninguna tecla pulsada
5.5 Tecla pulsada → 7
8.5 Ninguna tecla pulsada
9.5 Tecla pulsada → 0
10.5 Ninguna tecla pulsada

Para la solución, téngase en consideración las siguientes recomendaciones:


) No se representen en el cronograma SR y SL por irrelevantes en el proceso (SR = 1, SL = 1 per-
manentemente).
) Represéntense las entradas paralelo A, B, C y D, mediante un BUS, en el que se indique el valor
del número presente en hexadecimal.
201
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:12 PÆgina 202

7 Lógica digital y microprogramable

) Téngase en cuenta que las salidas del codificador son activas a nivel bajo, por lo que el 7, por
ejemplo, sería 1000.

Ejercicio 7.4
Aplicación de los registros a los sistemas digitales.

El trabajo propuesto es configurar, en la parte de recepción del sistema digital, el bloque registro de
entrada_registro de salida, utilizando registros universales.

Para resolver el ejercicio ténganse en cuenta


las siguientes consideraciones:

Desde el transmisor llegan, al registro de


entrada, dos líneas, el reloj y la línea de
datos. Es-to implica que la frecuencia de los
flancos de subida es la misma en el receptor
y en el transmisor. Están en sincronismo. Por
la línea de datos llega la información en serie
(una única línea). Esto implica que el registro
de entrada es un registro entrada serie_sa-
lida paralelo.

El dato que entra en el registro por la


entrada serie, aparece completo en las
salidas del llamado registro de entrada,
justo después del flanco 4. Para cargar el
dato en el registro de salida, a través de
las entradas paralelo, se provoca un flan-
co de subida después del flanco 4 la línea
CLK del registro de salida, una vez que el
dato aparece completo en las salidas del
registro de entrada, tal y como se muestra
en el cronograma de la figura. El contador
y el bloque lógica combinacional que
aparecen en el diagrama de bloques,
garantizan que cada 4 flancos de subida
en el registro de entrada aparece un
flanco en la entrada de reloj del registro
de salida.

Por la línea de entrada que llega desde el transmisor, el número transmitido está ordenado en el tiem-
po. El primero en aparecer es el de mayor peso (D), y el último el de menor (A).

Cada 4 flancos de subida, el número transmitido se presentará en las salidas del registro de entrada
y, provocando una carga en paralelo se cargará, en el instante en que aparece el flanco de subida
del reloj 4 CLK, en el registro de salida.

202
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:12 PÆgina 203

Ejercicio 7.5
Bloques funcionales secuenciales
7
Aplicación de los registros a los sistemas digitales.

EL trabajo propuesto es reflejar en un diagrama de tiempos la evolución de los valores lógicos en las
salidas del registro de entrada y del registro de salida, en el circuito del ejercicio anterior, cuando el
número enviado desde el circuito transmisor es el 4. Supóngase un cronograma de entrada como el
que se indica a continuación. Supóngase que la frecuencia del reloj es de 1Mhz (un flanco de subida
cada 1us).

Ejercicio 7.6
Simulación de registros de desplazamiento en el entorno informático.

EL trabajo propuesto es el de simular, con la herramienta informática OrCAD, el circuito del ejercicio
anterior, comprobando su funcionamiento para el cronograma de entrada propuesto.

) Utilícense dos señales de reloj independientes para generar CLK y 4CLK.


) Simúlese el circuito durante 17 us.
) Substitúyase el conmutador de Reset por un Stim1.
) Provóquese un Reset inicial, con el fin de inicializar las salidas de los 74194 a "0".
) Refléjense en la simulación las señales: CLK, SR, QD1, QC1, QB1 y QA1; 4CLK, QD2, QC2, QB2
y QA2.

Ejercicio 7.7
El trabajo propuesto es simular, con la herramienta informática OrCAD, el funcionamiento del conta-
dor 74163 cuando se aplican en sus entradas las señales especificadas en el cronograma de la figura.

Ejercicio 7.8
El trabajo propuesto es simular, con la herramienta informática OrCAD, el funcionamiento del con-
tador 74163, cuando se aplican en sus entradas las señales especificadas en el cronograma de la
figura.

203
L gica digital y prog_ U 07-final.qxp 16/05/2007 18:12 PÆgina 204

7 Lógica digital y microprogramable

Ejercicio 7.9
El trabajo propuesto es simular el funcionamiento del contador 74160, cuando se aplican en sus entra-
das las señales especificadas en el cronograma de la figura.

204
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 205

UNIDAD 8

Circuitos complementarios
de electrónica digital

Objetivos
) Estudiar diferentes tipos de componentes electrónicos que no son exacta-
mente dispositivos digitales, pero que aparecen frecuentemente en siste-
mas digitales, complementando las funciones de los circuitos lógicos,
como son:
) multivibradores
) visualizadores y teclados
) motores paso a paso
) convertidores digital/analógico y analógico/digital
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 206

8 Lógica digital y microprogramable

1. Dispositivos auxiliares
La mayoría de los circuitos lógicos secuenciales están controlados por una señal de sincronismo, que
no es más que una onda cuadrada, periódica o no. La evolución temporal de esta señal puede ser muy
variada: fija durante cierto tiempo más o menos prolongado, oscilante de modo periódico, etc., depen-
diendo de la función que se quiera realizar con el circuito lógico.

Los circuitos encargados de generar este tipo de señales se denominan de modo genérico como mul-
tivibradores. El nombre hace referencia a las características de la onda generada. En efecto, estos cir-
cuitos dan a su salida una onda cuadrada, periódica o no, que constituye una vibración. Un análisis
armónico del contenido espectral de estas vibraciones en forma de ondas cuadradas revela que están
formadas por multitud de armónicos o vibraciones fundamentales (tonos puros). Por este hecho, a estos
circuitos se les llama multivibradores: porque a su salida proporcionan múltiples vibraciones funda-
mentales conformando ondas cuadradas.

Las ondas cuadradas proporcionadas por los multivibradores constan de dos valores de tensión dife-
renciados, que se pueden identificar con los valores o estados lógicos 0 y 1. Las características de la
evolución temporal de estos dos estados determinan el tipo del multivibrador, en función de su estabi-
lidad.

Se entiende por estabilidad el hecho de que la salida a un determinado nivel (0 ó 1) puede perma-
necer en ese estado indefinidamente o no a lo largo del tiempo, de modo que un estado puede ser:
) Estable: cuando la salida del multivibrador puede permanecer en ese estado indefinidamente.
) Inestable: cuando la salida del multivibrador, llevada de algún modo a ese estado, no permane-
ce indefinidamente en él, sino que automáticamente cambia al otro estado al cabo de cierto tiem-
po, sin que nada actúe sobre el circuito.

Según la combinación de estados estables e inestables que tenga un multivibrador, éstos se clasifican
en tres categorías:
) Biestables: los dos estados lógicos de la señal de salida son estables.
) Monoestables: sólo uno de los dos estados lógicos de la señal de salida es estable.
) Aestables: ninguno de los dos estados lógicos de la señal de salida es estable.

1.1 Multivibradores
1.1.1 Multivibradores biestables
Los multivibradores biestables son los dos circuitos digitales secuenciales biestables estudiados en uni-
dades anteriores. Como ya se vio, los dos niveles que pueden proporcionar estos circuitos a su salida
son estables. Es decir, si la salida del circuito es 1, la salida permanece en ese estado indefinidamen-
te mientras no se actúe sobre el circuito. Lo mismo ocurre si la salida es 0. La única forma de que la
salida cambie de estado es actuando sobre la señal de reloj del circuito.

Puesto que estos circuitos ya fueron estudiados en unidades anteriores, no se insistirá más en ellos en
esta unidad.

1.1.2 Multivibradores monoestables


En los multivibradores monoestables sólo uno de los dos estados es estable. Es decir, si la salida del
circuito es la estable, por ejemplo el 0, la salida permanece en ese estado indefinidamente mientras
no se actúe sobre el circuito. Sin embargo, si la salida del circuito se lleva de algún modo al estado
inestable, en el ejemplo al estado 1, al cabo de cierto tiempo la salida volverá al otro estado automá-
ticamente, sin que nada actúe sobre el circuito.

La forma de sacar al circuito del estado estable para llevarlo al inestable es actuando sobre el mismo
por medio de una señal de control, también llamada señal de disparo o trigger en inglés. La vuelta del

206
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 207

Circuitos complementarios de electrónica digital

estado inestable al estable, como ya se dijo, es automática, sin


8
necesidad de actuación sobre el circuito. En la figura siguiente se
muestra el cronograma de un circuito monoestable.

En el ejemplo de la figura, el estado estable es el 0, el inestable es


el 1 y la señal de disparo es activa a nivel alto. En otros casos pueden cambiar estas condiciones, y ser
el estado 0 el inestable, la señal de disparo activa a nivel bajo, etc.

El tiempo T, mostrado en la figura, que transcurre entre que la señal de salida pasa del estado estable
al inestable por efecto de la señal de disparo, hasta que se retorna de nuevo al estado estable, es carac-
terístico de cada circuito y se denomina temporización o retardo. En algunos circuitos, la temporiza-
ción o retardo es fija, y en otros casos, el circuito dispone de algún mecanismo para ajustar la dura-
ción. En cualquier caso, el valor de T depende de los dos componentes electrónicos del circuito, típica-
mente de algún condensador y resistencia.

Dependiendo del comportamiento del circuito frente a la presencia de señales de disparo dentro de la
duración del tiempo de retardo del estado inestable, los monoestables pueden ser de dos tipos:

Monoestables redisparables: si durante el período de salida inestable se producen nuevos disparos, el


tiempo de retardo comienza siempre de nuevo a partir del último disparo efectuado.

Monoestables no redisparables: si durante el período de salida inestable se producen nuevos disparos,


la temporización no varía, siendo siempre la iniciada con el primer disparo.

En la figura siguiente se muestra el cronograma de un monoesta-


ble redisparable y de un monoestable no redisparable.

Algunas aplicaciones de los circuitos monoestables son las


siguientes:
) Generar pulsos de anchura variable.
) Controlar la duración de alumbrado de la luz de una escalera.
) Regenerar las señales deformadas en transmisiones binarias.
) Retardar pulsos digitales.

1.1.3 Ejemplos de circuitos monoestables


Seguidamente se muestran algunos ejemplos de circuitos multivibradores monoestables, realizados a
partir de puertas lógicas y componentes electrónicos discretos. La caracterización de estos sistemas
requiere de las técnicas de análisis de circuitos analógicos, que caen fuera de los objetivos de este
libro, por lo que en este apartado solamente se indicarán los resultados de dicho análisis, a modo de
guía para su diseño.

Monoestable con puertas OR CMOS


Características:
) No redisparable
) Salida estable: nivel bajo (0)
) Salida inestable: nivel alto (1)
) Duración de la temporización: T ≈ 1.1·R·C
) Disparo positivo (requiere una duración
del pulso de disparo inferior a la tempori-
zación)

Monoestable con puertas AND CMOS


Características:
) No redisparable
) Salida estable: nivel alto (1)

207
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 208

8 Lógica digital y microprogramable

) Salida inestable: nivel bajo (0).


) Duración de la temporización: T ≈ 1.1·R·C.
) Disparo negativo (requiere una duración del pulso de disparo inferior a la temporización).

Monoestables integrados
Existen circuitos integrados que implementan en su interior casi toda la circuitería necesaria para la
implementación de monoestables en configuraciones más flexibles que las que se pueden lograr con
los montajes discretos anteriores. Normalmente, sólo requieren de la conexión de algún condensador
y resistencia externos para determinar la temporización por parte del diseñador. Algunos de estos cir-
cuitos se enumeran a continuación:
) 74121
) 74122
) 74123
) 74221
) 555

De estos integrados, el 555 es ampliamente utilizado, pudiéndose emplear además como aestable, y
será descrito en detalle en apartados posteriores.

1.1.4 Multivibradores aestables


En los multivibradores aestables, ninguno de los estados lógicos de la señal de salida es estable. Es
decir, si la salida está a 0, al cabo de cierto tiempo cambiará a 1 automáticamente, sin que nada actúe
sobre el circuito. Seguidamente, estando ya a 1, al cabo de otro cierto tiempo, la salida cambiará de
nuevo a 0 también automáticamente, sin que nada actúe sobre el circuito. De este modo, la salida está
cambiando constantemente entre los valores 0 y 1 sin necesidad de actuar sobre el circuito.

Puesto que la salida del circuito está oscilando constantemente, al multivibrador aestable también se
le llama oscilador de onda cuadrada o también reloj, ya que se emplea como señal de reloj en siste-
mas secuenciales. En el ejemplo de la figura de la izquierda se
muestra la salida de este tipo de circuitos.

En un multivibrador aestable se definen los siguientes pará-


metros:

) Tiempo en nivel alto: T1


) Tiempo en nivel bajo: T0
) Período de oscilación: T=T1+T2
) Frecuencia de oscilación: f=1/T
) Ciclo de trabajo (duty cycle): DC=T1/T
) Ciclo de trabajo en % (% duty cycle): DC=100 T1/T %

Los anteriores parámetros dependen de los componentes electrónicos del circuito, típicamente de
algún condensador y resistencia. Algunos osciladores son de parámetros fijos y otros permiten ajustar
alguno de ellos, como la frecuencia o el ciclo de trabajo, actuando sobre algún dispositivo de ajuste.

1.1.5 Ejemplos de circuitos aestables


A continuación se muestran algunos ejemplos de circuitos multivibradores aestables, realizados a par-
tir de puertas lógicas y componentes electrónicos discretos. La caracterización de estos sistemas requie-
re de las técnicas de análisis de circuitos analógicos, que caen fuera de los objetivos de este libro, por
lo que en este apartado solamente se indicarán los resultados de dicho análisis, a modo de guía para
su diseño.

208
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 209

Aestable con inversores CMOS


Circuitos complementarios de electrónica digital
8
Características:
) Frecuencia de oscilación: f ≈ 0.559/
(R·C).
) DC=50%.

Aestable con cristal de cuarzo


Características:
) Dependen del cristal utilizado.
) Monoestables integrados.
Existen circuitos integrados que incluyen en su interior casi toda la circuitería necesa-
ria para la implementación de aestables. Normalmente, sólo requieren de la conexión
de algún condensador y resistencia externos para determinar la frecuencia y el ciclo
de trabajo. Algunos de estos circuitos se enumeran a continuación:
) 4047
) 555
Como ya se indicó anteriormente, el 555 será estudiado en detalle en apartados posteriores.

1.1.6 Ejercicios con multivibradores discretos


Ejemplo resuelto 1
Diseñar un circuito para controlar la iluminación de una escalera que recorre un edificio de bajo y dos
pisos. Las luces deberán de estar encendidas durante unos 30 segundos aproximadamente desde que
se pulsa alguno de los tres pulsadores P1, P2 o P3 que hay en los respectivos pisos. Además, existe un
interruptor general K que cuando se accione deberá mantener la iluminación indefinidamente hasta
que se desactive.

Suponer que se dispone de circuitos adaptadores que transforman las señales procedentes de los pul-
sadores e interruptores a niveles CMOS, y de un circuito de potencia que a partir de un nivel CMOS acti-
va una lámpara de incandescencia.

Solución
En primer lugar, hay que identificar la función de temporización que es necesario emplear en este caso:
) La señal que gobierna la iluminación, en principio, debe permanecer indefinidamente inactiva,
mientras que no se pulse ningún pulsador.
) Desde que se pulse algún pulsador, la señal de gobierno de la iluminación se activará durante
cierto tiempo (30 s) y volverá automáticamente al nivel no activo.

La descripción anterior se corresponde con la definición de multivibrador monoestable, haciendo las


siguientes identificaciones:
) Salida del monoestable: señal de gobierno del circuito de potencia.
) Estado estable: luces apagadas.
) Estado inestable: luces encendidas.
) Señal de disparo: pulsar pulsadores.

Ahora es necesario estudiar el resto de las especificaciones para completar el circuito de control:
) El paso al estado inestable (luz de la escalera encendida) viene determinado por la actuación de
los pulsadores. Estos son tres, y cualquiera de ellos debe poder disparar el monoestable. Es decir,
el monoestable debe dispararse cuando P1 o P2 o P3 se activan. Por lo tanto, la señal de dispa-
ro será la función OR de los tres pulsadores.
) La señal de gobierno del circuito de potencia para la activación de la lámpara de la escalera se
identifica en un principio con la salida del monoestable. Sin embargo, la lámpara también debe

209
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 210

8 Lógica digital y microprogramable

de estar encendida cuando el interruptor general K está accionado. Es decir, la lámpara estará
encendida si se activa el monoestable o el interruptor. Por lo tanto, la señal de gobierno de la
lámpara será el OR lógico de la salida del monoestable y del interruptor general K.

Según los razonamientos anteriores, el circuito de control queda como se muestra en la figura siguien-
te. En este circuito se emplea como monoestable el montaje con puertas OR CMOS descrito anterior-
mente en esta unidad.

OR

OR

La señal de salida del circuito anterior será la señal de gobierno de la iluminación y se llevará al cir-
cuito de potencia de activación de las lámparas.

Ahora sólo queda calcular los valores de R y C del circuito monoestable para que la duración de la tem-
porización sean los 30s especificados. La fórmula de la temporización para este circuito es T ≈ 1.1·R·C.
Tomando, por ejemplo, los valores normalizados R=120KΩ y C=220μF se obtiene una temporización
de T ≈ 29s, que es aproximadamente el tiempo requerido.

La resistencia R1 del monoestable tiene una función de adaptación de la señal de disparo a las carac-
terísticas de entrada de la puerta CMOS. Dado que en el circuito en el que se está aplicando, la señal
de disparo viene directamente de otra puerta CMOS, no hay que realizar adaptación ninguna, por lo
que no es necesario incluirla y por ello aparece tachada en el esquema.

Ejemplo resuelto 2
Diseñar un circuito para controlar una iluminación de Navidad. La iluminación consta de un circuito
de potencia de activación de las lámparas de Navidad, que está gobernado por una señal digital CMOS
activa a nivel alto. Se desea que las luces se enciendan y apaguen repetidamente, permaneciendo
encendidas durante medio segundo y apagadas durante otro medio segundo, aproximadamente.

Solución
En primer lugar se identifica la función de temporización.
) Puesto que no hay que actuar sobre el circuito de control, ya que las luces parpadean solas, y el
circuito debe cambiar su salida continuamente de un estado (encendido) a otro (apagado), la
función de temporización que debe de realizar es la de aestable.
) Las luces deben de permanecer igual tiempo en estado encendido y apagado, luego el ciclo de
trabajo del aestable será del 50%.

Un circuito aestable adecuado para la aplicación puede ser el cualquiera de los mostrados en aparta-
dos anteriores.

Dado que no hay más requerimientos, el circuito de control será simplemente un aestable, con la sali-
da conectada directamente al circuito de potencia. El esquema resultante será el mostrado en la figu-
ra siguiente.

La fórmula de la temporización para el aestable empleado es T ≈ 0.559/(R·C). Dado que el estado alto
y el bajo duran medio segundo cada uno,
la temporización deberá de ser T ≈ 1s.
Escogiendo, por ejemplo, los valores nor-
malizados R=56KΩ y C=10μF se obtiene
una temporización de T ≈ 0.99s, que es
aproximadamente el tiempo requerido.

210
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 211

Circuitos complementarios de electrónica digital


8
Aplicación práctica 1:
Realización de un monoestable

Esta aplicación plantea por medio de un enunciado, un problema a resolver mediante el desarrollo de un siste-
ma electrónico. El enunciado del problema es el siguiente:

Diseñar un circuito para controlar la iluminación de una escalera que recorre un edificio de bajo y dos pisos. Las
luces deberán estar encendidas durante unos 30 segundos aproximadamente desde que se pulsa alguno de los
tres pulsadores P1, P2 o P3 que hay en los respectivos pisos. Además, existe un interruptor general K que cuan-
do se accione deberá mantener la iluminación indefinidamente hasta que se desaccione.

Para probar el circuito, los pulsadores y el interruptor se simularán con pulsadores e interruptores del entrenador
digital, de modo que cuando se pulse alguno de estos botones, el entrenador entregará un 1, y cuando no se pulse
entregará un 0. La luz de la escalera se simulará con un diodo LED.

El circuito de temporización se realizará empleando el integrado 555 descrito a continuación.

Descripción del 555


Además de disponer de la familia de circuitos digitales TTL empleados en unidades anteriores, para la realiza-
ción del sistema electrónico que se propone se va a disponer del circuito integrado 555. Este circuito es un tem-
porizador universal, y añadiéndole un mínimo número de condensadores y resistencias externas permite realizar
diferentes tipos de multivibradores aestables o monoestables.

Para una completa descripción del funcionamiento de este circuito son necesarios conocimientos de electrónica
analógica, lo que sale de los objetivos de este libro. Por ello, para la realización de esta práctica se dará una sim-
ple descripción cualitativa de los procesos que tienen lugar en el circuito en la aplicación concreta en que se va
a utilizar.

En el siguiente extracto de las hojas de características de la versión del 555 de PHILIPS, en el integrado ICM7555,
se proporciona el patillaje y el esquema interno del integrado.

El funcionamiento del 555 se basa en el biestable tipo D que forman las dos puertas NOR. Las entradas de este
biestable están conectadas al par de comparadores A y B. Cada comparador tiene, a su vez, una entrada a una
tensión fija, determinada por la red de tres resistencias iguales R, que dividen la tensión de alimentación VDD en
tres partes iguales y la otra entrada accesible desde el exterior (patillas 6 y 2).

Según las tensiones aplicadas externamente a las entradas de los comparadores, estos darán un nivel u otro a su
salida y activarán o desactivarán el biestable. La salida del biestable se lleva hasta un terminal exterior a través
de dos inversores-drivers, que aumentan su capacidad de dar corriente, constituyendo la salida del 555 (patilla 3).
La salida del biestable también se aplica a un transistor en colector abierto accesible desde el exterior (patilla 7).

Conectando adecuadamente la salida del 555 a alguna de las entradas de los comparadores, por medio de una
red de condensadores y resistencias, se consigue que los niveles aplicados al biestable mantengan el nivel de sali-
da durante cierto tiempo, adoptando configuraciones de monoestable o aestable. Para la configuración de mono-
estable, las hojas de características proponen el siguiente montaje.

211
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 212

8 Lógica digital y microprogramable

El funcionamiento como monoestable se basa en las siguientes consideraciones:


) En el montaje anterior, la señal de disparo se aplica a la entrada del comparador B a nivel bajo. Cuando
inicialmente no hay disparo, las entradas del biestable son dos ceros, de modo que está en la combinación
neutra, y su salida es 0. Este 0 es lo que, aplicado a través de un inversor al transistor, hace que éste con-
duzca y llegue un 0 a la entrada del comparador A.
) Cuando se realiza el disparo, el comparador B cambia de nivel en su salida, de modo que las entradas del
biestable son las de set (puesta a 1), cambiando su estado pasando de 0 a 1. Si la señal de disparo des-
aparece unos instantes después, las entradas del biestable pasan de nuevo al estado neutro, de modo que
su salida no cambia y se mantiene a 1.
) Con la salida del biestable a 1, el transistor entra en corte, de modo que el condensador externo comienza
a cargarse y la tensión en la entrada del comparador A comienza a subir. Cuando esta tensión supera a la
de la otra entrada de dicho comparador, su salida cambia de nivel, de modo que las entradas al biestable
son las de Reset (puesta a 0), cambiando su estado pasando de 1 a 0 y retornando a la situación de partida.

El resultado final es que a partir de la señal de disparo, la salida del 555 permanece a 1 durante cierto tiempo,
al final del cual retorna automáticamente a 0. El tiempo de permanencia a 1 es el que tarda el condensador en
alcanzar una tensión igual a la de la patilla interna del comparador A, que es 2/3 de la tensión de alimentación.

La fórmula de la temporización se da en las hojas de características y vale T=1.1· R A ·C.

El condensador conectado a la patilla 5 es opcional y tiene como objetivo filtrar los ruidos. Como valor típico se
puede utilizar un condensador de 1nF.

La entrada de Reset, activa a nivel bajo, se puede emplear para llevar la salida a 0 en cualquier momento duran-
te la temporización. Normalmente se fijará a nivel alto si no se quiere utilizar.

Resolución de la aplicación
La aplicación planteada ya fue resuelta teóricamente en los ejercicios resueltos. La solución que se propuso
empleaba un monoestable de componentes discretos, con salida y disparo activos a nivel alto y puertas lógicas
CMOS.

En el caso actual, se va a emplear como temporizador el 555 en la configuración de monoestable descrita ante-
riormente. Será necesario calcular los valores de los componentes externos para lograr la temporización desea-
da, para lo que se seguirán las indicaciones proporcionadas en la descripción del integrado. En este caso, los
valores RA=120KΩ y C=220μF dan una temporización de unos 29s, lo que puede cumplir los requerimientos.

Dado que las puertas que se van a utilizar en la realización del circuito son TTL, habrá que tener en cuenta que
los niveles proporcionados por el 555 tienen que ser compatibles, por lo que se deberá alimentar a la tensión
de 5V.

En el diseño del circuito lógico habrá que tener en cuenta que el 555 tiene un disparo activo a nivel bajo. Por lo
tanto, la solución propuesta en el ejemplo resuelto, no es aplicable directamente y será necesario adaptarla a las
características de disparo del 555.

Esquema
El esquema resultante para el montaje de la aplicación se muestra a continuación.

212
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 213

Circuitos complementarios de electrónica digital


8

Obsérvese que en el esquema aparece el condensador C con un valor de 220nF en vez de los 220μF que debería
de tener para lograr una temporización de 29s. Este cambio se hizo para simplificar la simulación. Si se mantu-
viera la temporización de 29s, habría que realizar una simulación de varios minutos para poder realizar varios
disparos. Una simulación de varios minutos llevaría mucho tiempo de cálculo, además de los posibles problemas
de convergencia que aparecerían, con el consiguiente problema de selección de un paso de cálculo adecuado.

Para evitar estos problemas, que requieren técnicas de resolución que escapan a los objetivos de este libro, se
puede hacer una simulación con un condensador de valor mil veces inferior, lo que dará una temporización mil
veces menor, es decir, de 29ms. De este modo, con una simulación a lo largo de unos 150ms o 200ms se pueden
simular varios disparos sin problemas de convergencia y en un tiempo de cálculo pequeño. Los resultados obte-
nidos son completamente extrapolables a un valor de C=220μF, sin más que multiplicar por mil la duración de
la temporización obtenida en la simulación.

Resultados de la simulación

En los resultados de la simulación se pueden ver los valores de los estímulos empleados y los parámetros de simu-
lación.

En la ventana de los cursores se puede comprobar que la duración de la temporización es de unos 29ms aproxi-
madamente, lo que escalado al uso de un condensador de 220μF, daría una duración de 29s aproximadamente.

Implementación
Se propone montar el circuito planteado, en un entrenador digital y comprobar su funcionamiento real introdu-
ciendo como vectores de prueba, los valores utilizados para la simulación, verificando que producen la misma
respuesta que la proporcionada por PSPICE.

213
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 214

8 Lógica digital y microprogramable

Aplicación práctica 2:
Realización de un aestable

Diseñar un circuito para controlar una iluminación de Navidad. El circuito debe de generar una señal digital TTL
oscilante entre los valores 0 y 1. Esta señal se aplicaría a un circuito electrónico de potencia de activación de las
lámparas, que cae fuera de los objetivos de la práctica.

Se desea que las luces se enciendan y apaguen repetidamente, permaneciendo encendidas durante 2/3 de
segundo y apagadas durante 1/3 de segundo, aproximadamente. Además, el sistema contará con un interruptor
que mientras esté pulsado, apagará las luces.

Para probar el circuito, el interruptor se simulará con un interruptor del entrenador digital, de modo que cuando
se pulse entregue un 1 y cuando no se pulse entregue un 0. La luz de Navidad se simulará con un diodo LED.

El circuito de temporización se realizará empleando el integrado 555, en su configuración como aestable, que se
describe seguidamente.

Descripción del 555


Al igual que en la práctica anterior, el circuito de temporización se realizará con el integrado 555, en este caso
en su configuración como aestable. Las características generales de este integrado ya fueron descritas ante-
riormente.

Para la configuración como aestable, las hojas de carac-


terísticas proponen el siguiente montaje:.

El funcionamiento como aestable se basa en las siguien-


tes consideraciones:
) En el montaje anterior, la salida del transistor, co-
nectado internamente a la salida del biestable, se
lleva a la red formada por el condensador C y por
las resistencias RA y RB, y se conecta entre las dos.
) Cuando la salida del biestable es 0, el transistor
está en corte, por lo que el condensador se carga-
rá hasta alcanzar la tensión de alimentación.
) Cuando C comienza a cargarse, la tensión en las entradas a los comparadores internos del 555, conectadas
entre RB y C, hacen que las entradas al biestable sean las neutras, por lo que se mantiene la salida a 0.
) Según el condensador se va cargando, la tensión en las entradas a los comparadores va subiendo. En el
instante en que dicha tensión vale 2/3 de la tensión de alimentación, el comparador A cambia su salida y
hace bascular al biestable. En ese momento, la salida del biestable se pone a 1 y el transistor entra en con-
ducción.
) Cuando el transistor conduce, lleva el punto entre RA y RB a masa y el condensador comenzará a descar-
garse.
) Cuando el condensador comienza a descargarse, la tensión en las entradas a los comparadores internos del
555, conectadas entre RB y C, hacen que las entradas al biestable sean las neutras, por lo que se mantiene
la salida a 1.
) Según el condensador se va descargando, la tensión en las entradas a los comparadores va bajando. En el
instante en que dicha tensión vale 1/3 de la tensión de alimentación, el comparador B cambia su salida y
hace bascular al biestable. En ese momento, la salida del biestable se pone a 0, el transistor entra en con-
ducción, y comienza de nuevo el ciclo de carga del condensador.
El resultado final es que, sin que nadie intervenga en el circuito, la salida está cambiando constantemente entre
0 y 1. El tiempo de permanencia a 1 es lo que tarda el condensador en cargarse desde 1/3 a 2/3 de la tensión de
alimentación. El tempo de permanencia a 0 es lo que tarda el condensador en descargarse desde 2/3 a 1/3 de
la tensión de alimentación.

214
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 215

Circuitos complementarios de electrónica digital


8
Las fórmulas de estos tiempos se dan en las hojas de características y valen:

1.38
) Frecuencia: F = ------------------------------------------------------------
(RA + 2 · RB) · C

RA + RB
) Ciclo de trabajo: DC= --------------------------------------------
RA + 2 · RB

Al igual que en la configuración monoestable, se puede conectar un condensador a la patilla 5 para filtrar los rui-
dos y estabilizar la tensión. Como valor típico se puede utilizar un condensador de 1nF.

La entrada de Reset, activa a nivel bajo, se puede emplear para llevar la salida a 0 en cualquier momento duran-
te la temporización. Normalmente se fijará a nivel alto si no se quiere utilizar.

Resolución de la aplicación
La aplicación planteada ya fue parcialmente resuelta en los ejemplos anteriores. La solución que se propuso
empleaba un aestable de componentes discretos con puertas lógicas CMOS.

En el caso actual, se va a emplear como temporizador el 555 en la configuración de aestable descrita anterior-
mente. Será necesario calcular los valores de los componentes externos para lograr la temporización deseada,
para lo que se emplearán las fórmulas proporcionadas en la descripción del integrado.

En este caso, los valores RA=RB=100KΩ y C=4.7μF dan una frecuencia de unos 0.98Hz, es decir, un período de
1.02s y un ciclo de trabajo de 2/3, lo que cumple los requerimientos: la salida dura aproximadamente 0.68s a
nivel alto y 0.34s a nivel bajo.

Además, hay que dotar al sistema del interruptor de control, de modo que cuando se pulse (puesta a 1), la sali-
da del circuito queda fija a 0. Esto se puede lograr fácilmente sin más que aplicar la salida del aestable y la señal
del interruptor a las entradas de una puerta NOR de dos entradas y tomando la salida de la puerta como excita-
ción de las luces.

Dado que la puerta que se va a utilizar en la realización del circuito es TTL, habrá que tener en cuenta que los
niveles proporcionados por el 555 tienen que ser compatibles, por lo que se deberá alimentar a la tensión de 5V.

Esquema
El esquema resultante para el montaje de la aplicación se muestra a continuación.

215
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 216

8 Lógica digital y microprogramable

Resultados de la simulación
En los resultados de la simulación se pueden ver los valores de los estímulos empleados y los parámetros de simu-
lación.

Empleando los cursores se puede comprobar que la duración de los niveles altos y bajos de la salida son aproxi-
madamente los proyectados.

Implementación
Se propone montar el circuito planteado en un entrenador digital y comprobar su funcionamiento real introdu-
ciendo como vectores de prueba, los valores utilizados para la simulación, verificando que producen la misma
respuesta que la proporcionada por PSPICE.

1.2 Dispositivos optoelectrónicos


En la práctica totalidad de los sistemas electrónicos es muy importante tener información sobre el esta-
do del proceso que se está llevando a cabo. Esta información se obtiene a partir de dispositivos indi-
cadores, que son elementos que permiten intercambiar información entre la máquina y el hombre, de
modo que el operario sepa qué está pasando en determinadas partes de interés del circuito.

En el caso de sistemas analógicos, la información de interés puede ser el valor de la tensión o corrien-
te en ciertas partes del sistema. Para ello, existen dispositivos indicadores de tales magnitudes a modo
de relojes, tales como voltímetros o amperímetros.

En el caso de sistemas electrónicos digitales, la información de interés puede ser el estado lógico (0 ó
1) de un punto del circuito, el valor numérico de un determinado registro, etc. Los dispositivos indica-
dores más empleados en estos casos son los dispositivos luminescentes, es decir, dispositivos que emi-
ten luz, y en función de ella se deduce la información que se desea conocer. Por ejemplo, en el caso
más simple, una lámpara apagada o encendida puede indicar el estado lógico (0 ó 1) de un punto de
un circuito. Para casos de mayor complejidad, otro tipo de dispositivos luminescentes son los tubos de
rayos catódicos y los paneles LCD, empleados para la realización de los monitores de los ordenadores.

En esta unidad se describirán brevemente algunos de estos dispositivos indicadores luminescentes


empleados muy frecuentemente en sistemas digitales donde la información a presentar no es dema-
siado compleja. Estos dispositivos, también llamados visualizadores, pueden estar basados en diferen-
tes tecnologías, pero en cualquier caso emplean dispositivos que transforman la tensión en luz, por lo

216
L gica digital y prog_ U 08 final.qxp 16/05/2007 18:19 PÆgina 217

Circuitos complementarios de electrónica digital

que se denominan dispositivos optoelectrónicos. Los dispositivos que se van a ver están basados en la
8
tecnología de los diodos LED y en la tecnología de los cristales líquidos (LCD: Liquid Cristal Device).  Puede
encontrarse
información
más detallada sobre
1.2.1 Diodos Emisores de Luz (LED: Light Emitting Diode) estos dispositivos
en el disco incluido
Un diodo es un dispositivo electrónico que permite el paso de la
en el libro.
corriente a través de él en un sentido, pero no en el sentido con-
trario. El símbolo del diodo se muestra en la figura siguiente:

En esta figura se muestra el sentido permitido para el paso de


la corriente por el interior del diodo. La conducción permitida es
del terminal A (ánodo o positivo) al terminal K (cátodo o nega-
tivo) por el interior del dispositivo.

Actualmente, la mayoría de los diodos son de estado sólido, es decir, están realizados con semicon-
ductores como el silicio. En los primeros tiempos de la electrónica, los diodos eran de vacío, es decir,
estaban realizados con lámparas con el vacío hecho en su interior.

Dentro de la familia de los diodos, existe una gran variedad de dispositivos, que a partir de su com-
portamiento básico, presentan alguna variación en sus características. En el caso de los diodos LED, el
comportamiento es similar al de los diodos convencionales, con la particularidad de que en el estado
de conducción emiten una luz proporcional a la intensidad de la corriente que los atraviesa y de un
determinado color según el material con el que están fabricados. El símbolo del diodo LED se mues-
tra en la figura de la derecha.

Los diodos LED se pueden encontrar en diferentes tamaños, formas y colores. La forma
más habitual es la redonda, aunque también existe la cuadrada, rectangular o triangu-
lar. Los colores típicos son el rojo, verde, amarillo, blanco, azul y naranja, aunque tam-
bién se pueden encontrar diodos que emiten en el espectro no visible, como los infrarro-
jos, empleados por ejemplo en mandos a distancia. En la figura siguiente se muestran
algunos diodos LED típicos.

1.2.2 Visualizadores con diodos LED


Un visualizador con diodos LED es un dispositivo compuesto por varios diodos LED inte-
grados en un mismo encapsulado, formando una determinada figura que, al iluminarse
los diodos, presenta cierta información. Los más empleados son los displays de siete seg-
mentos, aunque también son corrientes las barras de LEDs, las matrices de puntos, etc.
En la figura siguiente se muestra un display de 7 segmentos.

1.2.3 Visualizadores de cristal líquido


(LCD: Liquid Cristal Display)
Los cristales líquidos son unos compuestos normalmente orgánicos poliméricos que a temperatura
ambiente se encuentran en un estado intermedio entre sólido y líquido. En este estado, las moléculas
adoptan formas alargadas y se apiñan unas con otras formando grupos llamados dominios. Los LCD
se basan en la anisotropía eléctrica de los cristales líquidos. Debido al carácter polar de las molécu-
las y las débiles fuerzas de cohesión molecular, los cristales líquidos reorientan la disposición de sus
moléculas cuando se les aplica un campo eléctrico. Cuando esto ocurre, cambian las propiedades ópti-
cas de los cristales. Sin excitación eléctrica, los dominios son transparentes, ya que la luz puede atra-
vesar los dominios. Cuando