Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

319 total results found

2. ATmega328P Hardware & Memory Architecture

Embedded System (MBD) Module 2 - Introduction to AVR Assembly

A. Memory Map The ATmega328P memory map provides information on how the Microcontroller Unit (MCU) uses memory. Here is the address division: Category Address Size Description General Purpose Registers 0x0000 - 0x001F 32 x 8 bit Registers R0 - R31 I/O...

3. Input/Output (I/O) Programming

Embedded System (MBD) Module 2 - Introduction to AVR Assembly

On the Arduino Uno (ATmega328P), digital I/O is controlled through Port B, Port C, and Port D. Each port is 8-bit, allowing control of up to 8 pins simultaneously. A. Port to Arduino Pin Mapping Port Bits Arduino Pin Notes Port B PB0 - PB5 Digital Pin ...

4. Assembly Integration with Arduino IDE

Embedded System (MBD) Module 2 - Introduction to AVR Assembly

To combine Assembly with Arduino C++ code, the extern "C" directive is used in the .ino file and the .global directive is used in the .S (Assembly) file. File Structure: .ino File (C/C++): extern "C" { void start(); // Declaration of function defined in A...

5. AVR Assembly Instruction Set

Embedded System (MBD) Module 2 - Introduction to AVR Assembly

Operand Notation Before diving into the instructions, here are the common operand symbols used: Symbol Description Rd Destination register (R0-R31). The result of the operation is stored here. Rr Source register (R0-R31). Used as input for the operati...

6. Status Register (SREG)

Embedded System (MBD) Module 2 - Introduction to AVR Assembly

The Status Register contains flags that indicate the results of arithmetic/logic operations. This register is crucial for branch instructions. Bit Name Description 7 I (Global Interrupt Enable) Enables/disables global interrupts 6 T (Bit Copy Storage)...

7. Delay Implementation Without Library

Embedded System (MBD) Module 2 - Introduction to AVR Assembly

Delays can be created using nested loops that consume a certain number of clock cycles. Delay Calculation Concept: ATmega328P on Arduino Uno runs at 16 MHz (16 million clock cycles per second) 1 millisecond = 16,000 clock cycles DEC instruction takes 1 cycle,...

8. Complete Program Examples

Embedded System (MBD) Module 2 - Introduction to AVR Assembly

A. Blink LED #define __SFR_OFFSET 0x00 #include "avr/io.h" .global main main: SBI DDRB, 5 ; Set PB5 (Pin 13) as Output loop: SBI PORTB, 5 ; Turn on LED (Output HIGH) RCALL delay ; Call delay subroutine CBI PORTB, 5 ...

1. Proteus Installation Tutorial

Embedded System (MBD) Module 1 - Setup

Step 1 : Install Proteus If you haven't install. Then Install, remember from DSD. Step 2 : Download the Arduino Library for Proteus Download from here : https://drive.google.com/file/d/1LMYOUn39nAZBdGL0SR3n30pf-fRXeP-B/view Step 3 : Install the Library Go to t...

2. Proteus Simulation Tutorial

Embedded System (MBD) Module 1 - Setup

Step 1 : Setup the Arduino IDE Go to Preferences : Checklist the Show Verbose output during compile and upload : Step 2 : Compile the Code Compile the code using this button : Find the Hex link on the output terminal : Step 3 : Connect the Hex Double cli...

Module 3 - Serial Port

Embedded System (MBD)

Introduction to USART

Embedded System (MBD) Module 3 - Serial Port

1. USART Definition USART (Universal Synchronous/Asynchronous Receiver/Transmitter) is a communication protocol used to transfer data between electronic devices, such as microcontrollers, sensors, and other components. This protocol is highly flexible as it su...

USART Register Architecture of ATmega328p

Embedded System (MBD) Module 3 - Serial Port

The ATmega328p microcontroller uses several specific registers to control and monitor USART communication. 1. UBRR (USART Baud Rate Register) A 16-bit register that determines the communication speed. It is divided into two 8-bit registers: UBRR0H: Stores th...

Implementation and Assembly Code Examples

Embedded System (MBD) Module 3 - Serial Port

This page contains basic implementation examples of USART serial communication using the Assembly programming language on an AVR Microcontroller (ATmega328p). 1. Printing Text to Serial Monitor This code is used to repeatedly send the string "Programming Seria...