2025
|MOST COMMON QUESTIONS WITH CORRECTLY
VERIFIED ANSWERS (the latest ones)|ALREADY A+
GRADED|GUARANTEED PASS/wishing you success
in your studies
N/A -
What is the difference between volatile and non volatile memory in microcontrollers? -
Volatile memory (RAM) loses stored data when power is removed. Non-volatile memory
(Flash, EEPROM) retains data even when power is lost.
How does a microcontroller execute instructions stored in its memory? - It follows the
Fetch-Decode-Execute cycle: Fetch retrieves the instruction, Decode interprets it, and Execute
performs the operation.
Explain the role of the Control Unit (CU) in a microcontroller? - The CU directs instruction
execution, manages communication between ALU, registers, and memory, and controls data
flow.
What is the purpose of the Status Register in a microcontroller? - It stores flags that
indicate operation results, such as carry, zero, and overflow, which are used for conditional
execution.
How many clock cycles does it take for an instruction to execute on an ATmega328P? -
Most AVR instructions execute in 1 clock cycle, except for branching/jump instructions,
which take 2-3 cycles.
Name and explain three types of memory used in the ATmega328P microcontroller? -
Flash (stores program code), SRAM (stores variables during execution), and EEPROM
(stores data that must be retained after power loss).
, What is the function of the Stack Pointer (SP), and how does it change when pushing and
popping data? - The SP holds the top address of the stack. Pushing data decrements SP,
while popping data increments SP.
What is the difference between general purpose registers and special function registers? -
General purpose registers (R0-R31) store temporary data and arithmetic results, while
special function registers (e.g., SREG, SP) control system functions.
What is the function of the PINx register in ATmega328P? - It reads the current logic level
of an input pin.
How do you configure Port D, Pin 5 as an output and set it to HIGH in C? - Use DDRD |= (1
<< PD5); to set PD5 as an output and PORTD |= (1 << PD5); to set it HIGH.
What is the difference between PORTx, PINx, and DDRx registers? - DDRx configures pin
direction, PORTx writes HIGH/LOW or enables pull-ups, and PINx reads input pin states.
Write an Assembly instruction to toggle a specific pin (e.g., PB3) without affecting other bits? -
IN R16, PORTB; EOR R16, (1 << PB3); OUT PORTB, R16;
Explain how a Timer Overflow Interrupt works in ATmega328P? - The timer counts up
until overflow, setting the TOVx flag, which triggers an interrupt if enabled.
What is the difference between a polling system and an interrupt system in microcontrollers? -
Polling continuously checks conditions, using CPU resources, while interrupts notify the
CPU only when needed, improving efficiency.
Write an Assembly code snippet that enables an external interrupt on INT0 (PD2)? - LDI
R16, (1 << INT0); OUT EIMSK, R16; LDI R16, (1 << ISC01); OUT EICRA, R16;
Explain the purpose of the prescaler in a timer module? - It divides the system clock to
slow down timer counting, allowing precise timing.
How does an ADC convert an analog signal to a digital value? - The ADC uses a Successive
Approximation Register (SAR) to compare input voltage with a reference voltage and outputs a
binary value.
What is the maximum resolution of the ATmega328P's ADC, and how many discrete levels can it
represent? - 10-bit resolution, meaning 1024 discrete levels (0 to 1023).
Explain how the reference voltage affects ADC readings? - The reference voltage
determines the full-scale range of the ADC. A 5V reference results in ~4.88mV per step for a 10
bit ADC.