Tema 3 · Electrónica digital y programación

Sistemas de numeración, álgebra de Boole, mapas de Karnaugh, biestables y nociones de microcontrolador. Bloque combinacional muy repetitivo en PEvAU.

1. Sistemas de numeración

Binario → decimal \(N_{10} = \sum b_i \cdot 2^i\). Ejemplo: \(1011_2 = 8+0+2+1 = 11_{10}\).
Decimal → binario División sucesiva por 2 y recolectar restos (de abajo arriba). 13 → 13/2=6 r1, 6/2=3 r0, 3/2=1 r1, 1/2=0 r1 → 1101₂.
Hexadecimal Base 16: dígitos 0-9 y A-F. Cada grupo de 4 bits = 1 hex. Ejemplo: 1011 0110₂ = B6₁₆.

2. Álgebra de Boole

Operadores AND (·), OR (+), NOT (¯). Puertas derivadas: NAND, NOR, XOR, XNOR.
Postulados clave
  • Conmutativa: \(A\cdot B = B\cdot A\), \(A+B=B+A\).
  • Distributiva: \(A\cdot(B+C) = A\cdot B + A\cdot C\).
  • Idempotencia: \(A\cdot A = A\), \(A+A=A\).
  • Absorción: \(A+A\cdot B = A\).
  • De Morgan: \(\overline{A\cdot B} = \overline A + \overline B\); \(\overline{A+B} = \overline A \cdot \overline B\).
Tabla XOR \(A\oplus B = A\overline B + \overline A B\). Vale 1 sólo si \(A\ne B\). Usado en sumadores y detección de paridad.

3. Mapas de Karnaugh

Idea Reordenar la tabla de verdad en un mapa 2D adyacente (códigos Gray) de modo que celdas vecinas difieran en un solo bit. Agrupar 1s contiguos (potencias de 2: 1, 2, 4, 8…) para simplificar.
Procedimiento
  1. Construir tabla de verdad.
  2. Colocar 1s en el mapa según código Gray.
  3. Buscar grupos lo más grandes posibles (envolviendo bordes).
  4. Cada grupo se convierte en un término reducido (las variables que cambian de valor desaparecen).
  5. Sumar los términos. Resultado: forma normal disyuntiva simplificada.
Trampa PEvAU Los bordes del Karnaugh "se pegan": las celdas de la primera y última columna (o fila) son adyacentes.

4. Biestables y registros

Biestable Circuito con dos estados estables (0 y 1) que almacenan 1 bit. Tipos: SR, JK, D, T.
Biestable D En el flanco activo del reloj, copia la entrada D a la salida Q. Es la base del registro de desplazamiento y de los contadores.
Biestable JK Permite todas las combinaciones (J=0,K=0 mantiene; J=0,K=1 borra; J=1,K=0 pone a 1; J=1,K=1 conmuta).

5. Microcontroladores

Arquitectura CPU + memoria (Flash, RAM, EEPROM) + periféricos (GPIO, ADC, PWM, UART, I²C, SPI). Plataformas comunes en PEvAU: Arduino UNO (ATmega328P), micro:bit.
Bucle típico
void setup() {
  pinMode(13, OUTPUT);
}
void loop() {
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(13, LOW);
  delay(500);
}

Problemas resueltos

Conversión binario ↔ decimal

Convierte el número binario \(10110101_2\) a decimal y hexadecimal.
1
Suma de potencias de 2 donde haya 1: \(128+0+32+16+0+4+0+1\). Resultado en decimal.
2
Agrupa 4 bits: 1011|0101 = B|5. Resultado hex (sin 0x).

Simplificación booleana (Karnaugh 3 variables) 2024PEvAU TeI IIMedia

Simplifica \(F(A,B,C) = \overline A\,\overline B\,C + \overline A\,B\,C + A\,B\,\overline C + A\,B\,C\) usando Karnaugh.
1
¿Cuántos 1s tiene la tabla? Cuenta minterms.
Ver solución completa
Mapa de Karnaugh con C en columnas: hay 4 minterms. Se forman dos grupos de 2:
  • Grupo 1: \(\overline A\,C\) (cubre minterms 001 y 011).
  • Grupo 2: \(A\,B\) (cubre minterms 110 y 111).
Resultado: \(F = \overline A\,C + A\,B\).

Hexadecimal → decimal 2025UCA PonenciasBaja

Convierte \(\mathrm{A3F}_{16}\) a decimal.
1
\(A\cdot 16^2 + 3\cdot 16 + F\) con A=10, F=15.
Ver solución
10·256 + 3·16 + 15 = 2560 + 48 + 15 = 2623.

Suma binaria con acarreo 2024UCA SolucionesBaja

Calcula \(10110_2 + 1011_2\). Da el resultado en decimal.
1
Convierte cada uno a decimal y suma.
Ver solución
10110₂ = 22 y 1011₂ = 11. Suma = 33₁₀ = 100001₂.

Complemento a 2 — número negativo en 8 bits 2023PEvAU TeI IIMedia

Da la representación en complemento a 2 (8 bits) de \(-25_{10}\). Indica el resultado como número decimal cuyos dígitos coincidan con la cadena binaria.
1
25 = 00011001. Invierte → 11100110. Suma 1 → 11100111. Escribe los 8 dígitos como entero.
Ver solución
+25 = 00011001. NOT → 11100110. +1 → 11100111. Verificación: 11100111 leído como signo equivale a −(256−231) = −25. ✓

De Morgan 2024UCA PonenciasBaja

Simplifica usando De Morgan: \(\overline{\overline A + B}\). Escribe la expresión equivalente.
1
Texto: usa A, B, ', * con A B sin espacios. Esperado: A*B' (es decir A·\(\overline B\)).
Ver solución
\(\overline{\overline A + B} = \overline{\overline A}\cdot \overline B = A\cdot \overline B\). De Morgan + doble negación.

Tabla XOR — paridad de 4 bits 2025UCA PonenciasMedia

¿Cuál es el bit de paridad par para el dato 1011?
1
Suma de bits = 3 (impar). El bit de paridad par debe hacer que el número total de 1s sea par.
Ver solución
1⊕0⊕1⊕1 = 1. El bit de paridad par es 1 (la palabra completa 10111 tiene 4 unos: par).

Sumador completo — 1 bit 2024PEvAU TeI IIMedia

Un sumador completo recibe \(A=1,\,B=1,\,C_{in}=1\). Calcula \(S\) y \(C_{out}\).
1
\(S = A\oplus B\oplus C_{in}\). 0 o 1.
2
\(C_{out} = A\,B + (A\oplus B)C_{in}\). 0 o 1.
Ver solución
1+1+1 = 11₂ → S=1, C_out=1.

Multiplexor 4 a 1 2025UCA SolucionesMedia

Un MUX 4→1 tiene entradas \(I_0=1, I_1=0, I_2=1, I_3=1\) y selectores \(S_1S_0 = 10\). ¿Cuál es la salida?
1
El selector binario 10 = 2 selecciona \(I_2\).
Ver solución
S₁S₀ = 10₂ = 2 → la salida copia I₂ = 1.

Decodificador 3 a 8 2023PEvAU TeI IIBaja

Un decodificador 3→8 con entrada \(A_2A_1A_0 = 110\) activa una sola salida. ¿Qué salida (índice 0-7) se activa?
1
110₂ = ?

Contador asíncrono — frecuencia 2024UCA SolucionesMedia

Un contador asíncrono de 4 bits recibe \(f_{\rm clk} = 16\,\mathrm{MHz}\). ¿Qué frecuencia hay en la salida del último biestable (Q3)?
1
Cada biestable T divide por 2. Cuatro biestables: \(f/2^4\). En MHz.
Ver solución
16/16 = 1 MHz. Útil para generar bases de tiempo.

Biestable JK — tabla 2025UCA PonenciasBaja

Un JK con \(J=1,\,K=1\) y estado actual \(Q=0\): ¿qué hace en el flanco activo? (0 = mantiene, 1 = conmuta)
1
J=K=1 → conmuta.

Memoria ROM — capacidad 2024UCA SolucionesBaja

Una ROM tiene 12 líneas de dirección y palabras de 8 bits. Calcula la capacidad en bytes.
1
\(2^{12}\) palabras × 1 byte = bytes.

Convertidor ADC — resolución 2025UCA PonenciasMedia

Un ADC de 10 bits con referencia 5,0 V. Calcula la resolución (paso mínimo) en mV.
1
Paso = \(V_{\rm ref}/(2^N - 1)\). En mV.
Ver solución
Δ = 5000 mV / 1023 ≈ 4,888 mV/LSB. Por eso ATmega328 (10 bits) tiene esta sensibilidad.

PWM en Arduino — ciclo de trabajo 2024PEvAU TeI IIBaja

Una señal PWM en Arduino (escala 0-255) con valor analogWrite=51 corresponde a un ciclo de trabajo D. Calcula D en %.
1
\(D = 51/255 \times 100\). En %.

Test de autoevaluación

1. \(\overline{A+B} = \) (De Morgan)

2. \(255_{10}\) en hexadecimal vale:

3. Una compuerta NAND con ambas entradas a 1 da:

4. Un biestable D, en flanco activo, hace:

Simulador · Tabla de verdad en vivo

Marca/desmarca las entradas A, B, C y observa el valor de varias funciones booleanas calculadas en directo.

FunciónResultado

Conversor de bases

Banco de exámenes

Cargando…

Ver banco completo →

Generador aleatorio