> ## Documentation Index
> Fetch the complete documentation index at: https://apuntes.simulab.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Multiplexores, demultiplexores, decodificadores y codificadores

> Bloques combinacionales explicados: multiplexor (MUX) y su uso para implementar funciones lógicas, demultiplexor, decodificador binario y de BCD a 7 segmentos, codificador y codificador con prioridad, comparadores y circuitos integrados habituales (74HC151, 74HC138, 74HC47), con ejemplos resueltos.

Con [puertas lógicas](https://apuntes.simulab.es/electronica/logica-combinacional/puertas-logicas.md) se puede construir cualquier circuito, pero en la práctica se usan bloques ya hechos que resuelven tareas típicas: elegir una de varias señales (**multiplexor**), repartir una señal entre varias salidas (**demultiplexor**), activar una salida según un número binario (**decodificador**) o hacer lo contrario (**codificador**). Son las piezas con las que se construyen las memorias, los buses de datos y los procesadores.

## Lo que vas a aprender

* Qué hace un multiplexor y cómo se usa para implementar funciones.
* El demultiplexor y su relación con el decodificador.
* Los decodificadores binarios y de BCD a 7 segmentos.
* Los codificadores y el codificador con prioridad.
* Los circuitos integrados más habituales.

## Fundamentos teóricos

### Multiplexor (MUX)

Tiene $2^n$ entradas de datos, $n$ entradas de **selección** y una salida. La salida copia la entrada cuyo número indica la selección. Es un "conmutador" digital.

MUX 4 a 1 con selección $S_1S_0$:

$$
Y = \overline{S_1}\,\overline{S_0}\,D_0 + \overline{S_1}\,S_0\,D_1 + S_1\,\overline{S_0}\,D_2 + S_1\,S_0\,D_3
$$

| $S_1$ | $S_0$ | $Y$ |
| - | - | - |
| 0 | 0 | $D_0$ |
| 0 | 1 | $D_1$ |
| 1 | 0 | $D_2$ |
| 1 | 1 | $D_3$ |

### Implementar funciones con un MUX

Un MUX de $2^n$ entradas implementa **cualquier** función de $n$ variables: se conectan las variables a la selección y cada entrada de datos a 0 o a 1 según la [tabla de verdad](https://apuntes.simulab.es/electronica/logica-combinacional/expresiones.md). Con un truco se llega a $n + 1$ variables: la última variable (o su negada, 0 o 1) se conecta a las entradas de datos.

### Demultiplexor (DEMUX)

Lo contrario: una entrada y $2^n$ salidas. La selección decide a qué salida va el dato; las demás quedan a 0.

### Decodificador

$n$ entradas y $2^n$ salidas: activa **una sola** salida, la que corresponde al número binario de la entrada. Cada salida es un **minitérmino** de las entradas. Un decodificador con entrada de habilitación es lo mismo que un demultiplexor (la habilitación hace de dato).

**Uso típico:** seleccionar qué chip de memoria responde según la dirección.

### Decodificador de BCD a 7 segmentos

Convierte un número de 0 a 9 en binario (BCD, 4 bits) en las siete señales a–g que encienden los segmentos de un display. Cada segmento es una función de 4 variables, que se simplifica con [mapas de Karnaugh](https://apuntes.simulab.es/electronica/logica-combinacional/karnaugh.md) usando como indiferentes los códigos 10 a 15.

### Codificador

Lo contrario del decodificador: $2^n$ entradas y $n$ salidas, que dan en binario el número de la entrada activa. Si se activan varias entradas a la vez el resultado no tiene sentido, por eso se usa el **codificador con prioridad**, que da el número de la entrada activa más alta. Se usa en teclados y en controladores de interrupciones.

### Circuitos integrados habituales

| Chip | Función |
| - | - |
| 74HC151 | MUX 8 a 1 |
| 74HC153 | Dos MUX 4 a 1 |
| 74HC138 | Decodificador 3 a 8 (salidas activas a nivel bajo) |
| 74HC139 | Dos decodificadores 2 a 4 |
| 74HC148 | Codificador con prioridad 8 a 3 |
| 74HC47 / CD4511 | Decodificador BCD a 7 segmentos |
| 74HC85 | Comparador de 4 bits |

## Ejemplos resueltos

> [accordion] Ejemplo 1 · Función con un MUX 8 a 1
>
> $F(A, B, C) = \sum m(1, 2, 4, 7)$ (es la XOR de tres variables). Con $A$, $B$, $C$ en la selección: $D_1 = D_2 = D_4 = D_7 = 1$ y las demás entradas a 0.

> [accordion] Ejemplo 2 · La misma función con un MUX 4 a 1
>
> Selección con $A$, $B$. Para cada pareja se mira la salida según $C$:
>
> | $AB$ | $F$ con $C = 0$ | $F$ con $C = 1$ | Entrada |
> | - | - | - | - |
> | 00 | 0 | 1 | $D_0 = C$ |
> | 01 | 1 | 0 | $D_1 = \overline C$ |
> | 10 | 1 | 0 | $D_2 = \overline C$ |
> | 11 | 0 | 1 | $D_3 = C$ |

> [accordion] Ejemplo 3 · Decodificador 2 a 4
>
> Salidas: $Y_0 = \overline{A_1}\,\overline{A_0}$, $Y_1 = \overline{A_1}A_0$, $Y_2 = A_1\overline{A_0}$, $Y_3 = A_1A_0$. Con $A_1A_0 = 10$ solo se activa $Y_2$.

> [accordion] Ejemplo 4 · Función con un decodificador
>
> $F = \sum m(1, 2, 4, 7)$ con un decodificador 3 a 8 y una puerta OR de 4 entradas que une las salidas $Y_1$, $Y_2$, $Y_4$ e $Y_7$. Con el 74HC138 (salidas activas a nivel bajo) se usa una NAND en lugar de la OR.

> [accordion] Ejemplo 5 · Codificador con prioridad
>
> Un 8 a 3 con prioridad recibe activas las entradas 2 y 5. La salida es 101 (el 5, la más alta).

## Errores frecuentes

* **Ordenar mal los bits de selección**: el más significativo debe corresponder al bit más significativo del número de entrada.
* **Olvidar la entrada de habilitación** (enable): si está desactivada, la salida queda fija.
* **No tener en cuenta las salidas activas a nivel bajo** de chips como el 74HC138.
* **Confundir codificador y decodificador.** El decodificador tiene más salidas que entradas; el codificador, al revés.

## Preguntas frecuentes

> [accordion] ¿Dónde hay multiplexores en un ordenador?
>
> En todas partes: eligen qué registro entra en la unidad aritmética, qué dato va al bus, qué fila de la memoria se lee. En las FPGA, cada bloque lógico es esencialmente un pequeño multiplexor (una tabla de búsqueda o LUT) configurado para implementar cualquier función de 4 a 6 variables.

> [accordion] ¿Qué es la multiplexación en el tiempo?
>
> Enviar varias señales por un mismo canal turnándose muy rápido. Así se manejan muchos displays de 7 segmentos con pocas patillas (se encienden uno a uno tan deprisa que el ojo los ve todos encendidos), y así funcionaban las líneas telefónicas digitales.

## Temas relacionados

> [card] [Puertas lógicas](https://apuntes.simulab.es/electronica/logica-combinacional/puertas-logicas.md)
>
> Las puertas que hay dentro.

> [card] [Expresión a circuito](https://apuntes.simulab.es/electronica/logica-combinacional/expresiones.md)
>
> Tablas de verdad y minitérminos.

> [card] [Mapas de Karnaugh](https://apuntes.simulab.es/electronica/logica-combinacional/karnaugh.md)
>
> Simplificar el decodificador de 7 segmentos.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.