01 · Punto de partida
Cerradura de dos llaves
Caja fuerte con dos llaves (AND: giran las dos o no abre) y alarma con dos sensores (OR: basta uno). Dos condiciones, dos respuestas: todos vs alguno. El resto del tema es detalle de pines.
- ¿Qué fila da 1 en cada una?
- ¿Cómo se dibujan y qué chips son?
- ¿Qué se hace con entradas sobrantes?
- ¿AND/OR con 3 o 4 entradas?
02 · AND
Todos, sin excepción
Y = A·B: 1 solo con 11 (Σm(3)). Símbolo en D; 74HC08 trae 4. Es el interruptor serie del curso 2 con silicio: la corriente lógica pasa solo si todos cierran.
03 · OR
Alguno alcanza
Y = A+B: 0 solo con 00 (Σm(1,2,3)). Símbolo de espalda curva; 74HC32 trae 4. Ojo programador: 1+1 = 1 (no 2): el OR no suma, une.
AND (serie)
El 0 domina
Un 0 apaga todo: 0·X = 0. Permisos: todos los checks en verde.
OR (paralelo)
El 1 domina
Un 1 enciende todo: 1+X = 1. Alarmas: cualquier sensor dispara.
04 · Más y menos entradas
Sobrantes y faltantes
- AND con entrada libre → 1
- A·1 = A: a Vcc (con R) o a otra entrada. Flotante jamás (Tema 3).
- OR con entrada libre → 0
- A+0 = A: a masa. Al revés arruina la función (1 domina).
- 3 y 4 entradas
- 74HC11 (triple AND-3) y 74HC4075 (triple OR-3): menos chips, misma tabla extendida (8 filas).
- Conmutan
- A·B = B·A: el orden no importa. Cablear por comodidad, no por superstición.
05 · Puertas en código
Todos y alguno, N-arios
AND/OR de N entradas más la cerradura y la alarma del inicio.
Python en tu navegador. Agregá llaves y sensores a voluntad.
def and_(*xs):
return int(all(xs))
def or_(*xs):
return int(any(xs))
print("AND:", [and_(a, b) for a in (0, 1) for b in (0, 1)])
print("OR: ", [or_(a, b) for a in (0, 1) for b in (0, 1)])
print("AND-3:", and_(1, 1, 1), and_(1, 0, 1))
AND: [0, 0, 0, 1]. OR: [0, 1, 1, 1]. AND-3 con un 0 → 0: el 0 domina en cualquier ancho.
Cerradura y alarma
def cerradura(llave1, llave2):
return and_(llave1, llave2)
def alarma(humo, calor, armado):
return and_(armado, or_(humo, calor))
print("caja:", cerradura(1, 0), cerradura(1, 1))
print("alarma desarmada:", alarma(1, 0, 0), "armada:", alarma(1, 0, 1))
06 · Analogía programador
&& y || con pines
- 1AND = &&.
Cortocircuita en el primer 0: igual que tu
if (a && b), en nanosegundos. - 2OR = ||.
Basta un verdadero: permisos, flags o cualquiera de N sensores.
- 3Dominancia = identidad.
0·X=0 y 1+X=1 como
x && false: el absorbente manda sin mirar lo demás.
07 · Exploración
Laboratorio: todos vs alguno
Dos interruptores y selector AND/OR: el laboratorio muestra Y, LED, minterm y quién domina.
Todos/alguno
AND · A=1 B=1 → 1
AND 1·1: Y=1.
Preguntas para explorar
- En AND con A=1, B=0: ¿Y? ¿Quién domina? Pasá a OR sin tocar A/B: ¿Y ahora?
- ¿Qué combinación da 0 en OR? ¿Y 1 en AND?
- Si B queda fija en 1: ¿qué puerta se vuelve un buffer? ¿Y con B = 0?
Ver respuestas sugeridas
- AND: 0 (domina el 0). OR: 1 (domina el 1). Mismos bits, decisión opuesta.
- OR: solo 00. AND: solo 11. Una fila decide cada puerta.
- B=1: AND(A,1) = A (buffer). B=0: OR(A,0) = A (buffer). Entrada fija = puerta degradada a cable.
08 · Comprensión
Confusiones frecuentes
«OR suma: 1+1 = 2»
1+1 = 1 en OR: une, no suma. Sumar con acarreo es el Tema 23 (XOR mediante).
«Entrada libre al aire»
AND libre a 1, OR libre a 0, siempre cableadas. Flotante = antena (Tema 3).
«El orden importa»
Conmutan y asocian: (A·B)·C = A·(B·C). Reordenar para cablear prolijo es legal.
«AND de 3 = dos chips»
74HC11 trae AND-3 triple: una puerta de 3 cabe en un chip. Revisar el catálogo antes de apilar.
09 · Práctica guiada
Ejercicios de todos/alguno
Ejercicio 1: riego automático
Bomba ON si (modo auto Y suelo seco) O (modo manual). Escribí la función, tabla y minterms. Verificá con and_()/or_().
Ver solución razonada
Y = M + A·S: filas con M=1 (4–7) más A·S (3, 7): Σm(3, 4, 5, 6, 7). Igual forma que la alarma del Tema 6.
Ejercicio 2: enable con AND
Señal CLK que pasa solo si EN = 1. ¿Puerta? ¿Qué pasa con EN = 0? ¿Riesgo de glitch?
Ver solución
AND(CLK, EN): con EN=0 sale 0 fijo. Riesgo: cambiar EN cerca del flanco mete runt (Tema 28 lo explica).
Ejercicio 3: montar AND-OR
74HC08 + 74HC32, botones con pull-down, LED. Medí las 4 filas de cada puerta. ¿Alguna difiere de 0001/0111?
Ver solución
No: silicio obediente. Si difiere, revisar pull-down (10k a masa) y Vcc.
10 · Síntesis
Ideas para recordar
- AND = 0001 (Σm(3)); OR = 0111 (Σm(1,2,3)).
- 0 domina AND; 1 domina OR.
- AND libre → 1; OR libre → 0; nunca flotante.
- 74HC08 / 74HC32 ×4; HC11/HC4075 para 3 entradas.
- Conmutan: cablear por comodidad.
Todos y alguno dominados. Ahora sus gemelas universales: en el próximo tema, NAND y NOR.