Advanced Search
Search Results
16 total results found
1. Memory in AVR Architecture
AVR Architecture is an 8 bit single-chip RISC microcontroller with a modified Harvard Architecture that is organized as the following which causes it to behave certain ways when handling memory. You don't have to memorize all this don't worry. There are sev...
2. Addressing Modes
Due to how the AVR Architecture and its memory are organized, AVR instructions, including arithmetic instructions, must follow certain addressing methods. Addressing methods are how the control unit may access different data locations according to the instruct...
3. The Status Register
The Status Register (SREG) is a special 8 bit register that saves different operational status flags in each bit. Different operations may affect different flags (bit) of the register which then would be useful to create decisions after. In AVR architecture, S...
4. Advanced Arithmetic Operations
As a refresher, here are some fundamental AVR arithmetic and logical instructions. Mnemonic Operand Description Example Notes ADD Rd, Rr Add ADD R1, R2 Rd = Rd + Rr ADC Rd, Rr Add with Carry ADC R1, R2 Rd = Rd + Rr + C (Carry flag) ADIW Rd, K Add Im...
5. The Stack
The Stack is a memory section of the SRAM that follows First-In-First-Out (FIFO) principles. It is generally used to store temporary data for quick and easy access. The top of the stack is tracked by the 16 bit (adjusting to memory addressing) Stack Pointer th...
6. Printing Bytes as Hexadecimal Values
To easily debug and view numbers, we can create a subroutine that outputs numbers into serial. Since our architecture uses 8 bits, it is easier to print bytes as two hexadecimal values 0x00 - 0xFF by splitting the upper and lower nibbles. In this page, we will...
7. ๐๐ฅ๐ข โญ๐ฌ๐ก๐ข
#define __SFR_OFFSET 0x00 #include "avr/io.h" .global main main: RCALL SER_init LDI ZH, hi8(opening_msg) LDI ZL, lo8(opening_msg) RCALL SER_print ; 16 Bit Addition LDI ZH, hi8(addition_msg) LDI ZL, lo8(addition_msg) RCALL SER_print ...
8. References
โAVR ยฎ Instruction Set Manual AVR ยฎ Instruction Set Manual.โ Available: https://ww1.microchip.com/downloads/en/DeviceDoc/AVR-InstructionSet-Manual-DS40002198.pdf โLecture 02 โ AVR Architecture,โ Umbc.edu, 2025. https://eclipse.umbc.edu/robucci/cmpe311/Lectures...
New Page
New Page
4. References
PWM Basics PWM Overview PWM Docs Servo Basics Wok Servo Wok EEPROM EEPROM Docs
1. PWM (Pulse Width Modulation)
PWM is a technique used to simulate analog output using a digital signal. Instead of producing a true analog voltage, the microcontroller rapidly switches a pin between HIGH and LOW. Term Meaning Period Total time of one cycle Duty Cycle Percentage of...
2. Servos
Servos are motors that adjusts to certain angles following certain PWM pulses. Servo Signal Operation Servo operates with 20 ms PWM periods. Parameter Typical Value PWM Period โ 20 ms Pulse Width โ 1 โ 2 ms Servo operates with 20 ms PWM periods....
3. EEPROM
EEPROM is a small non-volatile memory inside the microcontroller. Unlike SRAM: SRAM loses data when power is removed EEPROM keeps data even after reset or power loss EEPROM is commonly used to store: Settings Calibration values System state EEPROM has limi...
1. Contacting the HPC Coordinator
Contact To use Digilab's HPC collection, contact the currently active coordinator. For a further information on the active coordinator, send an email to [email protected]. Discussing The HPC Usage Discuss the HPC you want to utilize with the coordinator. The...
2. Connecting to the HPC
Tailscale SSH Setup Digilab uses Tailscale SSH to access its HPCs. Installing Tailscale Visit Tailscale's installation page and follow its instructions according to your device's operating system. Further Tailscale commands on Linux devices might require you ...