MTL200 Questions and Correct Answers/
Latest Update / Already Graded
What is the difference between volatile and non volatile memory in
microcontrollers?
Ans: 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?
Ans: 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?
Ans: 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?
Ans: It stores flags that indicate operation results, such as
carry, zero, and overflow, which are used for conditional
execution.
All rights reserved © 2025/ 2026 |
, Page |2
How many clock cycles does it take for an instruction to execute on an
ATmega328P?
Ans: Most AVR instructions execute in 1 clock cycle, excep t for
branching/jump instructions, which take 2-3 cycles.
Name and explain three types of memory used in the ATmega328P
microcontroller?
Ans: 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?
Ans: 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?
Ans: General purpose registers (R0-R31) store temporary data
and arithmetic results, while special function registers (e.g.,
SREG, SP) control system functions.
All rights reserved © 2025/ 2026 |
, Page |3
What is the function of the PINx register in ATmega328P?
Ans: 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?
Ans: 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?
Ans: 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?
Ans: IN R16, PORTB; EOR R16, (1 << PB3); OUT PORTB, R16;
Explain how a Timer Overflow Interrupt works in ATmega328P?
Ans: The timer counts up until overflow, setting the TOVx flag,
which triggers an interrupt if enabled.
All rights reserved © 2025/ 2026 |