Atmega328P: Sumar dos números

Contenido:

Sumar dos números con ATmega328P

at328p puertos es ejm2 1
Figura 1: Circuito con la Placa Arduino Uno.

Para sumar dos números con atmega328P primero se debe configurar los pines de entradas y salidas en el registro DDRD, las salidas se deben poner en LOW y en las entradas se debe activar las resistencias pull-up con la ayuda del registro PORTD.

En el bucle de repetición para poder realizar la suma de dos números de dos bits ingresados, primero se debe obtener los valores de los números mediante la lectura de los pines de entrada, esto se logra con la ayuda del Registro PIND, estos valores son asignados a dos variables: a y b, posteriormente se suman los valores, se desplaza los bits para que se ubiquen en el lugar que les corresponde, se activan las resistencias Pull-Up de las entradas y el valor resultante se escribe en el Puerto D mediante el registro PORTD.

uint8_t a;
uint8_t b;
void setup() {
  DDRD = 0b01110000; // Puerto D: Salidas [7:4], Entradas [3:0]
  PORTD = 0b00001111; // Pull Up Activo en las Entradas
  _delay_ms(10);
}

void loop() {
  a = PIND & 0b00000011; // a = Puerto D [1:0]
  b = (PIND & 0b00001100) >> 2; // b = Puerto D [3:2]
  PORTD = ((a + b) << 4) | 0b00001111; // Puerto D = Suma, desplaza y activa Pull-Up
  _delay_ms(100); // Retardo 100ms
}
✅ Si estás buscando un libro que te permita desarrollar habilidades avanzadas de programación de microcontroladores utilizando el ATmega328P, este libro es para ti, adquiere la 🔥 Guía de Programación mediante registros del Microcontrolador ATmega328P 🔥 dando clic ⭐ aquí ⭐. Adicionalmente recibirás los sketch de Arduino IDE y de Microchip Studio, incluyendo los archivos de simulación en Proteus Profesional v8.10.

Referencias

Deja un comentario