Recently Updated Pages
5. The Stack
The Stack is a memory section of the SRAM that follows First-In-First-Out (FIFO) principles. It i...
8. References
“AVR ® Instruction Set Manual AVR ® Instruction Set Manual.” Available: https://ww1.microchip.com...
7. 𝔗𝔥𝔢 ℭ𝔬𝔡𝔢
#define __SFR_OFFSET 0x00 #include "avr/io.h" .global main main: RCALL SER_init LDI ZH, ...
6. Printing Bytes as Hexadecimal Values
To easily debug and view numbers, we can create a subroutine that outputs numbers into serial. Si...
4. Advanced Arithmetic Operations
As a refresher, here are some fundamental AVR arithmetic and logical instructions. Mnemonic Op...
3. The Status Register
The Status Register (SREG) is a special 8 bit register that saves different operational status fl...
2. Addressing Modes
Due to how the AVR Architecture and its memory are organized, AVR instructions, including arithme...
1. Memory in AVR Architecture
AVR Architecture is an 8 bit single-chip RISC microcontroller with a modified Harvard Architectur...
USART Register Architecture of ATmega328p
The ATmega328p microcontroller uses several specific registers to control and monitor USART commu...
Introduction to USART
1. USART Definition USART (Universal Synchronous/Asynchronous Receiver/Transmitter) is a communic...
Implementation and Assembly Code Examples
This page contains basic implementation examples of USART serial communication using the Assembly...
3. Input/Output (I/O) Programming
On the Arduino Uno (ATmega328P), digital I/O is controlled through Port B, Port C, and Port D. Ea...
1. Proteus Installation Tutorial
Step 1 : Install Proteus If you haven't install. Then Install, remember from DSD. Step 2 : Downlo...
2. Proteus Simulation Tutorial
Step 1 : Setup the Arduino IDE Go to Preferences : Checklist the Show Verbose output during com...
8. Complete Program Examples
A. Blink LED #define __SFR_OFFSET 0x00 #include "avr/io.h" .global main main: SBI DDRB, 5 ...
7. Delay Implementation Without Library
Delays can be created using nested loops that consume a certain number of clock cycles. Delay Cal...
6. Status Register (SREG)
The Status Register contains flags that indicate the results of arithmetic/logic operations. This...
5. AVR Assembly Instruction Set
Operand Notation Before diving into the instructions, here are the common operand symbols used: ...
4. Assembly Integration with Arduino IDE
To combine Assembly with Arduino C++ code, the extern "C" directive is used in the .ino file and ...
2. ATmega328P Hardware & Memory Architecture
A. Memory Map The ATmega328P memory map provides information on how the Microcontroller Unit (MCU...