Skip to main content

Recently Updated Pages

4. Internal/Timer Interrupts

Embedded System (MBD) Module 6 - Interrupt

Internal Interrupts Now Internal interrupts or Timer interrupts is somewhat more complex then ext...

Updated 1 week ago by CH

3. External Interrupt Registers

Embedded System (MBD) Module 6 - Interrupt

For detailed information about the registers, please refer to the Atmega32p datasheet. here Fro...

Updated 1 week ago by CH

2. Interrupt Handler

Embedded System (MBD) Module 6 - Interrupt

On the ATMega328P microcontroller, there are three essential requirements that must met to enable...

Updated 1 week ago by CH

1. Introduction to Interrupt

Embedded System (MBD) Module 6 - Interrupt

An interrupt is a mechanism used in microcontroller programming to pause the execution of the cur...

Updated 1 week ago by CH

2. Operating Modes

Embedded System (MBD) Module 5 - Timer

2.1. Normal Mode In Normal Mode, the timer acts as a simple up-counter. It starts from 0 and inc...

Updated 3 weeks ago by RE

6. Der Code

Embedded System (MBD) Module 5 - Timer

6.1. Code Example 1 (Timer0) This code toggles PD5 every 0.5s. The delay_timer0 subroutine uses ...

Updated 3 weeks ago by RE

5. Delay Using Timers

Embedded System (MBD) Module 5 - Timer

5.1. Delay Calculation in Normal Mode In Normal Mode, the timer always counts up to its maximum v...

Updated 3 weeks ago by RE

4. Timer1

Embedded System (MBD) Module 5 - Timer

4.1. TCNT1 (Timer/Counter Register) TCNT1 is functionally the same as TCNT0, serving as the core...

Updated 3 weeks ago by RE

3. Timer0

Embedded System (MBD) Module 5 - Timer

3.1. TCNT0 (Timer/Counter 0 Register) The TCNT0 register is the core component of the 8-bit TIME...

Updated 3 weeks ago by RE

1. Introduction to AVR Timers

Embedded System (MBD) Module 5 - Timer

1.1. Overview The ATmega328P is a widely popular 8-bit microcontroller, serving as the "brain" fo...

Updated 3 weeks ago by RE

5. The Stack

Embedded System (MBD) Module 4 - Arithmetic

The Stack is a memory section of the SRAM that follows First-In-First-Out (FIFO) principles. It i...

Updated 3 weeks ago by MF

8. References

Embedded System (MBD) Module 4 - Arithmetic

“AVR ® Instruction Set Manual AVR ® Instruction Set Manual.” Available: https://ww1.microchip.com...

Updated 3 weeks ago by MF

7. 𝔗𝔥𝔢 ℭ𝔬𝔡𝔢

Embedded System (MBD) Module 4 - Arithmetic

#define __SFR_OFFSET 0x00 #include "avr/io.h" .global main main: RCALL SER_init LDI ZH, ...

Updated 3 weeks ago by MF

6. Printing Bytes as Hexadecimal Values

Embedded System (MBD) Module 4 - Arithmetic

To easily debug and view numbers, we can create a subroutine that outputs numbers into serial. Si...

Updated 3 weeks ago by MF

4. Advanced Arithmetic Operations

Embedded System (MBD) Module 4 - Arithmetic

As a refresher, here are some fundamental AVR arithmetic and logical instructions. Mnemonic Op...

Updated 3 weeks ago by MF

3. The Status Register

Embedded System (MBD) Module 4 - Arithmetic

The Status Register (SREG) is a special 8 bit register that saves different operational status fl...

Updated 3 weeks ago by MF

2. Addressing Modes

Embedded System (MBD) Module 4 - Arithmetic

Due to how the AVR Architecture and its memory are organized, AVR instructions, including arithme...

Updated 3 weeks ago by MF

1. Memory in AVR Architecture

Embedded System (MBD) Module 4 - Arithmetic

AVR Architecture is an 8 bit single-chip RISC microcontroller with a modified Harvard Architectur...

Updated 3 weeks ago by MF

USART Register Architecture of ATmega328p

Embedded System (MBD) Module 3 - Serial Port

The ATmega328p microcontroller uses several specific registers to control and monitor USART commu...

Updated 1 month ago by BH

Introduction to USART

Embedded System (MBD) Module 3 - Serial Port

1. USART Definition USART (Universal Synchronous/Asynchronous Receiver/Transmitter) is a communic...

Updated 1 month ago by BH