Sumar dos números con ATmega328P
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.
-
Oferta Producto en ofertaATmega328P: Guía de Programación mediante registros
$19,99El precio original era: $19,99.$13,99El precio actual es: $13,99.
Referencias
- MicroChip, «Atmega328P», 01 Enero 2015. [En línea]. Available: http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf [Último acceso: 01 junio 2021].
-
MicroChip, «Atmega328-328P», 21 Abril 2018. [En línea]. Available: https://arduinoinfo.mywikis.net/wiki/File:Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf [Último acceso: 01 junio 2021].