Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Circuito aritmetico usando multiplexores, Guías, Proyectos, Investigaciones de Circuitos Digitales

Circuito aritmetico de 4 bits que realiza +-A+-B mediante el uso de multiplexores(mux)

Tipo: Guías, Proyectos, Investigaciones

2025/2026

Subido el 02/07/2026

pedro-lopez-yzz
pedro-lopez-yzz 🇪🇨

1 documento

1 / 18

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
DEPARTAMENTO DE ELÉCTRICA, ELECTRÓNICA Y
TELECOMUNICACIONES
TEMA:
IMPLEMENTACIÓN DE UN CIRCUITO ARITMÉTICO QUE GENERE LA +- A + -
B
ASIGNATURA:
CIRCUITOS Y SISTEMAS DIGITALES
INTEGRANTES:
DIEGO GUAYTA
MATIAS CARRION
FECHA:
DE MAYO DEL 2026
NRC:
31207
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Vista previa parcial del texto

¡Descarga Circuito aritmetico usando multiplexores y más Guías, Proyectos, Investigaciones en PDF de Circuitos Digitales solo en Docsity!

DEPARTAMENTO DE ELÉCTRICA, ELECTRÓNICA Y

TELECOMUNICACIONES

TEMA:

IMPLEMENTACIÓN DE UN CIRCUITO ARITMÉTICO QUE GENERE LA +- A + -

B

ASIGNATURA:

CIRCUITOS Y SISTEMAS DIGITALES

INTEGRANTES:

DIEGO GUAYTA

MATIAS CARRION

FECHA:

DE MAYO DEL 2026

NRC:

1. TEMA: IMPLEMENTACIÓN DE UN CIRCUITO ARITMÉTICO QUE GENERE

LA +- A + - B

2. OBJETIVO GENERAL

● Diseñar un circuito aritmetico que realice operaciones aritmeticas entre la variable A

y B, implemetando una parte en software y la otra en hadware con ayuda de Arduino.

2.1. OBJETIVOS ESPECÍFICOS

● Simular y validar matemáticamente los bloques de acondicionamiento y operaciones

en complemento a dos (A+B, A-B, - A+B, - A-B) mediante software, asegurando el

correcto procesamiento de los datos binarios.

● Establecer la comunicación serial con Arduino para transferir y validar los datos

virtuales en el circuito físico.

3. PLANTEAMIENTO DEL PROBLEMA:

● Se necesita disenar un circuito que realice las operaciones aritmeticas A+B, A-B,

  • A+B y - A-B, teniendo en cuenta que una parte del circuito funcionara en el

simulador proteus y la otra parte en el protoboard mediante un Arduino.

Para entender el diseno y su funcionamiento primero armaremos el circuito completo en

proteus, donde explicaremos la logica que seguira nuestro circuito.

Ilustración 1. Circuito aritemetico en proteus

Ilustración 3. Bloque 2

Para completar la ecuación de - A = A + 1, no basta con invertir los bits en el Bloque 1; hace

falta sumarle el 1.

Este circuito conecta la línea del SELECTOR directamente al acarreo de entrada del

sumador.

  • Caso A positiva (SELECTOR = 0): El Bloque 1 deja pasar a A. El sumador recibe A

en una entrada, 0 en la otra y C 0 = 0.

Salida U5 = A + 0 + 0 = A

  • Caso A negativa (SELECTOR = 1): El Bloque 1 entrega A. El sumador recibe A en

una entrada, 0 en la otra y el SELECTOR inyecta un 1 en el acarreo de entrada.

Salida U5 = A + 0 + 1 = A + 1 = - A

Ilustración 4. Bloque 3

Para poder realizar las operaciones donde la B es negativa, necesitamos aplicar el mismo

principio del complemento a dos: - B = B + 1.

  • Compuertas XOR: Si SELECTOR B = 0, dejan pasar B. Si SELECTOR B = 1,

invierten el bus entregando B.

  • Sumador: Al igual que con el bloque anterior, una de sus terminales de entrada de

datos se va a tierra. La línea de SELECTOR B se conecta directamente al acarreo de

entrada del sumador.

La salida de U11 cumple que:

  • Si SELECTOR B = 0: Salida = B + 0 + 0 = B
  • Si SELECTOR B = 1: Salida= B + 0 + 1 = - B

Ilustración 5. Bloque 4

Para este bloque es importante analizar la logica que exite para que el led del signo sea el

correcto en cada uno de los casos. Para ello utilizaremos mapas de karnaugh.

Caso 1: Suma pura (SA=0, SB=0)

  • Si C4 = 0 (Suma ≤ 15 ): El LED debe estar 0 (Apagado).
  • Si $C_4 = 1$ (Suma ≥ 16): El LED ahora debe estar 1 (Encendido por Carry).

Casos 2 y 3: Restas cruzadas (SA ≠ SB)

  • Mantenemos la lógica de signo: El LED se enciende únicamente si el resultado es

negativo, lo cual ocurre cuando no hay acarreo final, es decir, si C4 = 0 → LED = 1.

Si C4 = 1 → LED = 0.

Caso 4: Suma de negativos (SA=1, SB=1)

  • Al ser matemáticamente una operación que siempre da un resultado por debajo de

cero, el LED se mantiene 1 (Encendido) para indicar la condición negativa/desborde

inferior.

Podemos compactar esta expresión utilizando compuertas XOR para que sea mucho más

fácil de cablear en tu protoboard:

LED Universal =

𝑨

𝑩

𝑨

𝑩

𝟒

Bien una vez explicada la logica de nuestro diseno del circuito aritmetico procederemos a

realizar lo requerido de esta practica y es que una parte del circuito este hecho en software y

la otra en hardware, conectadas mediante un Arduino.

Ilustración 6. Circuito aritmetico con Arduino

Para validar el comportamiento del sistema, los bloques de acondicionamiento (Bloques 1, 2 y 3) se

ejecutan de manera virtual dentro del software Proteus, mientras que la red combinacional final de

salida (Bloques 4 y 5) se implementa en hardware real sobre un protoboard. La sincronización se

realiza mediante dos microcontroladores ATmega328P configurados en un enlace serial asíncrono a

9600 bps.

Byte 1 (datoA): [ 0 | 0 | 0 | PinC0 | A3 | A2 | A1 | A0 ]

Byte 2 (datoB): [ 0 | 0 | 0 | PinCb | B3 | B2 | B1 | B0 ]

Este programa se ejecuta en el entorno virtual. Lee los buses intermedios calculados por los

esquemáticos de Proteus, serializa los bits individuales en variables estructuradas de 8 bits (bit-

packing) y las transmite por el puerto serial virtual.

// ==========================================

// CÓDIGO 1: ARDUINO TRANSMISOR (PROTEUS)

// ==========================================

const int pinesEntradaA[] = {2, 3, 4, 5};

const int pinesEntradaB[] = {6, 7, 8, 9};

const int pinEntradaC0 = 10;

const int pinEntradaCb = 11;

void setup() {

Serial.begin(9600); // Inicialización del puerto serial a 9600 bps

// Configuración de los buses de datos como entradas

for(int i = 0; i < 4; i++) {

pinMode(pinesEntradaA[i], INPUT);

pinMode(pinesEntradaB[i], INPUT);

}

// Configuración de las líneas de acarreo de control como entradas

pinMode(pinEntradaC0, INPUT);

pinMode(pinEntradaCb, INPUT);

}

void loop() {

byte datoA = 0;

byte datoB = 0;

// Adquisición y empaquetamiento del vector de datos A (Bits 0 a 3)

for(int i = 0; i < 4; i++) {

if(digitalRead(pinesEntradaA[i]) == HIGH) {

bitWrite(datoA, i, 1);

}

}

// Inserción de la línea de control PinC0 en el Bit 4 del registro A

if(digitalRead(pinEntradaC0) == HIGH) {

bitWrite(datoA, 4, 1);

}

// Adquisición y empaquetamiento del vector de datos B (Bits 0 a 3)

for(int i = 0; i < 4; i++) {

if(digitalRead(pinesEntradaB[i]) == HIGH) {

bitWrite(datoB, i, 1);

}

}

// Inserción de la línea de control PinCb en el Bit 4 del registro B

if(digitalRead(pinEntradaCb) == HIGH) {

bitWrite(datoB, 4, 1);

}

// Transmisión asíncrona de la trama binaria estructurada

Serial.write(datoA);

Serial.write(datoB);

delay(50); // Período de muestreo para estabilidad de la simulación

}

}

}

A través de esta arquitectura Hardware-in-the-Loop, las señales físicas decodificadas excitan en

tiempo real a las compuertas reales y al sumador terminal U13 , permitiendo que el cálculo lógico-

matemático del desborde se verifique directamente sobre los diodos emisores de luz instalados en el

laboratorio.

DIFICULTADES

No hubo dificultades en el armado del circuito.

PRUEBAS DE ESCRITORIO:

Establecemos para todas las pruebas los siguientes vectores de entrada fijos en los

interruptores:

• A = 5 = 0101

• B = 3 = 0011

5.1. Caso 1: Suma Directiva (A + B)

  • Condición de los Selectores: SA = 0, SB = 0
  1. Procesamiento Intermedio (Bloques 1, 2 y 3):
  • Bloque 1 & 2 (V2): Al ser SA = 0, el sumador U5 opera en modo directo con C0,U5 =

2

2

4 ,U

  • Bloque 3 (V3): Al ser SB = 0, el sumador U11 opera en modo directo con C0,U11 =

3

2

  1. Serialización y Transmisión Serial (Firmware TX/RX):
    • datoA =

2

4

2

  • datoB =

2

4

2

  1. Red Combinacional de Control y Suma Final (Bloques 4 y 5 Reales):

Evaluamos la función de la red con los valores obtenidos:

U

= ( 0 ⋅ 0 ) + [( 0 ⊕ 0 ) ⋅ 𝐶

4 ,U

] = 0 + [ 0 ⋅ 𝐶

4 ,U

] = 0

  • Operando Efectivo: 𝐵

efectivo

[

]

𝑇

  • Cómputo en U13: El sumador final ejecuta la adición de 𝑉

2

efectivo

  • recibiendo el vector V3 por sus entradas remanentes:

Suma Nominal = 0101

2

2

2

2

10

Acarreo de Salida: 𝐶

4 ,U

  1. Estado de las Salidas Físicas (LEDs):

3 : 0

[

3

2

1

0

]

2

\𝑖𝑚𝑝𝑙𝑖𝑒𝑠D4=1, D3=0, D2=0, D1=

D

4 ,U

= 1 − −> D5=

Ilustración 6. Prueba de escritorio 1

5.2. Caso 2: Resta Aritmética (A - B)

  • Condición de los Selectores: SA = 0, SB = 1

Ilustración 7. Prueba de escritorio 1

5.3. Caso 3: Suma con Opuesto (-A + B)

  • Condición de los Selectores: 𝑆

𝐴

𝐵

  1. Procesamiento Intermedio (Bloques 1, 2 y 3):
    • Bloque 1 & 2 (V2): SA = 1. El Bloque 1 invierte A

2

y el sumador U

añade el acarreo 𝐶

0 ,U

2

2

2

2

10

en complemento a 2)

Acarreo saliente del bloque 2: 𝐶

4 ,U

  • Bloque 3 (𝑉

3

𝐵

3

2

10

  1. Serialización y Transmisión Serial (Firmware TX/RX):
    • datoA = ( 1011

2

4

2

  • datoB = ( 0011

2

4

2

  1. Red Combinacional de Control y Suma Final (Bloques 4 y 5 Reales):
  • Inyección lógicas

U

U

+ [

4 ,U

] = 0 + 0 = 0 − −> 𝐵

efectivo

[

]

𝑇

  • Cómputo en U13: Se realiza la adición directa de los vectores complementados

recibidos:

Suma Nominal = 1011

2

2

2

3

2

Acarreo de Salida: 𝐶

4 ,U

  1. Estado de las Salidas Físicas (LEDs):

3 : 0

2

\𝑖𝑚𝑝𝑙𝑖𝑒𝑠D4=1, D3=1, D2=1, D1=

D

4 ,U

= 1 − −> D5=1 (LED de signo activo).

Enfoque Matemático del Resultado:

Como el LED D5 se encuentra encendido, el valor de salida es negativo y está expresado en

complemento a dos. Para comprobar su valor decimal:

Valor = −( 1110

2

2

2

10

Lo cual valida perfectamente la operación aritmética: - 5 + 3 = - 2.

Ilustración 8. Prueba de escritorio 3

5.4. Caso 4: Suma de Negativos (-A - B)

Enfoque Matemático del Resultado:

En este estado de doble negación crítica controlado por la lógica combinacional síncrona del

Bloque 4, el bus final de datos representa el desborde negativo directo:

Magnitud = 1010

2

10

Demostrando la exactitud del cálculo electrónico para la operación: - 5 + (-3) = - 8.

Ilustración 9. Prueba de escritorio 4

4. CONCLUSIONES

Se comprobó mediante análisis matemático y pruebas de escritorio que la

implementación híbrida de compuertas XOR como inversores controlados y

sumadores binarios 74LS283 permite ejecutar con exactitud operaciones binarias con

signo de suma y resta (A+B, A-B, - A+B, - A-B). El diseño demostró que el

acoplamiento combinacional de desborde y la manipulación de los acarreos

intermedios garantizan la integridad matemática de los resultados en un rango finito

de representación de magnitudes.

5. RECOMENDACIONES

Dado que la arquitectura implementada ya resuelve con éxito las operaciones de

suma, resta y complementación mediante el control de acarreos y compuertas XOR,

se recomienda expandir conceptualmente este diseño hacia una ALU completa. Esto

se puede lograr integrando compuertas AND y OR en paralelo a la etapa de

visualización y utilizando un multiplexor digital (como el 74LS153) gobernado por

nuevas líneas de selección para decidir si la salida mostrará una operación aritmética

o una función lógica bit a bit.

6. BIBLIOGRAFÍA

Fletcher, W. I. (1980). An Engineering Approach to Digital Design****. Prentice-Hall.

(Capítulo 2: Number Systems and Codes / Digital Logic).

Google Gemini. (2026, 09 de marzo). Explicación sobre Algebra de boole****.

[Respuesta de IA]. https://gemini.google.com

Texas Instruments. (1988). SN74LS08 Quadruple 2-Input Positive-AND Gates

(Hoja de datos). Recuperado de https://www.alldatasheet.com

Texas Instruments. (1988). SN74LS04 Quadruple 2-Input Positive-AND Gates

(Hoja de datos). Recuperado de https://www.alldatasheet.com

Texas Instruments. (1988). SN74LS32 Quadruple 2-Input Positive-AND Gates

(Hoja de datos). Recuperado de https://www.alldatasheet.com

7. ANEXOS