Datasheet

14. System Control and Reset
14.1 Resetting the AVR
During Reset, all I/O registers are set to their initial values, and the program starts execution from the
Reset vector. The instruction placed at the Reset vector must be a Relative Jump instruction (RJMP) to
the reset handling routine. If the program never enables an interrupt source, the interrupt vectors are not
used, and regular program code can be placed at these locations. This is also the case if the Reset
vector is in the application section while the interrupt vectors are in the boot section or vice versa. The
circuit diagram in the next section shows the reset logic.
The I/O ports of the AVR are immediately reset to their initial state when a Reset source goes active. This
does not require any clock source to be running.
After all Reset sources have gone inactive, a delay counter is invoked, stretching the internal Reset. This
allows the power to reach a stable level before the normal operation starts. The time-out period of the
delay counter is defined by the user through the SUT and CKSEL fuses. The different selections for the
delay period are presented in the System Clock and Clock Options chapter.
Related Links
System Clock and Clock Options
14.2 Reset Sources
The device has the following sources of reset:
Power-on Reset. The MCU is reset when the supply voltage is less than the Power-on Reset
threshold (V
POT
).
External Reset. The MCU is reset when a low level is present on the RESET pin for longer than the
minimum pulse length.
Watchdog System Reset. The MCU is reset when the Watchdog Timer period expires and the
Watchdog System Reset mode is enabled.
Brown-out Reset. The MCU is reset when the supply voltage V
CC
is less than the Brown-out Reset
threshold (V
BOT
) and the Brown-out Detector is enabled.
ATmega328PB
System Control and Reset
© 2018 Microchip Technology Inc.
Datasheet Complete
DS40001906C-page 74