Reset the AVR
At reset, all I/O registers are set to their initial values and the program starts executing from the reset vector. The instruction at the reset vector must be an absolute jump JMP instruction so that the program jumps to the reset handling routine. If the program never enables interrupts, the interrupt vector can be overwritten by normal program code. Figure 22 is a circuit diagram of the reset logic. Table 19 defines the electrical parameters of the reset circuit.
When the reset source takes effect, the I/O ports are immediately reset to their initial values without any clock assistance.
When all reset signals disappear, the delay counter is activated, thus prolonging the internal reset and allowing the power supply to reach a stable level before the MCU works normally. The overflow time of the delay counter is set by the user through the fuse bit CKSEL. For the selection of the delay time, please refer to P 34 “Clock Source”.
Reset Sources
ATmega128 has 5 reset sources:
• Power-on reset. When the power supply voltage is lower than the power-on reset threshold (VPOT), the MCU is reset.
• External reset. The MCU is reset when the low level on the RESET pin lasts longer than the minimum pulse width.
• Watchdog reset. A reset occurs when the watchdog is enabled and the watchdog timer times out.
• Brownout reset. When the brownout reset function is enabled, the MCU is reset when the power supply voltage is lower than the brownout reset threshold (VBOT).
• JTAG AVR reset: The MCU is reset when the reset register is 1. See P 235 “IEEE 1149.1 (JTAG) Boundary Scan”.
Notes:
1. During a voltage drop, a reset will only occur when the voltage is below VPOT.
2. Some devices may have a VBOT lower than the nominal minimum operating voltage. These devices are tested during production testing with VCC = VBOT to ensure that a brownout detection reset occurs before VCC drops to a level that stops the processor from functioning properly. The test condition for the ATmega128L is BODLEVEL=1 and the test condition for the ATmega128 is BODLEVEL=0. BODLEVEL=1 is not applicable to the ATmega128.
Previous article:ATmega128 Power-On Reset
Next article:ATmega128 How to reduce power consumption
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- MCU restart
- Programming example of TMS320V using nof flash AM29LV400
- Alibaba has started working on micropython to accelerate AIot innovation. Do you want to try it?
- msp430f5529 rocket board external power supply problem
- Is the speed so slow when you use VIVADO?
- Purgatory Legend-FIFO War.pdf
- Op amp differential attenuation circuit problem
- 17 IP design based on Avalon bus
- [ESP32-Audio-Kit Audio Development Board Review] IR Infrared Remote Control LED Light
- Dismantling and Renovation of Old LED Bulbs