RISC (Reduced Instruction Set Computer) is relative to CISC (Complex Instruction Set Computer). RISC does not simply reduce instructions, but improves the computing speed by making the computer structure simpler and more reasonable. RISC gives priority to simple instructions with the highest frequency of use and avoids complex instructions: it also fixes the instruction width, reduces the types of instruction formats and addressing modes, thereby shortening the instruction cycle and improving the operating speed. Because AVR adopts this structure of RESC, the AVR series of microcontrollers have a high-speed processing capability of 1MIPS/MHz (million instructions per second/megahertz).
The AVR microcontroller absorbs the characteristics of the DSP dual bus and adopts the Harvard bus structure. Therefore, the program memory and data memory of the microcontroller are separated, and the program memory and data memory with the same address can be addressed independently.
In the AVR microcontroller, when the CPU executes the current instruction, it fetches the next instruction to be executed and puts it into the register, thus avoiding the occurrence of multiple instruction cycles in the traditional MCS51 series microcontrollers.
All data processing of traditional MCS51 series microcontrollers is based on an accumulator, so the data conversion between the accumulator and the program memory and data memory becomes the bottleneck of the microcontroller; in the AVR microcontroller, the registers are composed of 32 general working registers, and any register can act as an accumulator, which effectively avoids the bottleneck effect of the accumulator and improves the performance of the system.
AVR microcontrollers have good integration performance. AVR series microcontrollers all have online programming interfaces, and the Mega series also has JTAG simulation and download functions; they all contain on-chip watchdog circuits, on-chip program Flash, and synchronous serial interface SPI; most AVR microcontrollers also have built-in AD converters, EEPROM, analog comparators, PWM timer counters and other functions; the I/O interface of AVR microcontrollers has strong driving capabilities, and the current can directly drive relays, LEDs and other devices, thereby eliminating the need for drive circuits and saving system costs.
AVR microcontrollers are manufactured using low-power, non-volatile CMOS technology. In addition to having the characteristics of low power consumption and high density, they also support low-voltage online Flash and EEPROM writing functions.
AVR microcontrollers also support programming in high-level languages such as Basic and C. Using high-level languages to develop microcontroller systems is the development trend of microcontroller applications. Programming microcontrollers in high-level languages can easily achieve system transplantation and speed up the software development process.
AVR microcontrollers have multiple series, including ATtiny, AT90, and ATmega. Each series includes multiple products, which are very different in function and memory capacity, but the basic structure and principle are similar, and the programming method is also the same.
AVR microcontroller series are complete and can be applied to various occasions. AVR microcontrollers are divided into three series:
Low-end: ATtiny
Mid-range: AT90
High-end: ATmega
Previous article:AVR's excellent C language programming style
Next article:AVR microcontroller I²C bus experiment
Recommended ReadingLatest update time:2024-11-16 05:25
- Popular Resources
- Popular amplifiers
- Principles and Applications of Single Chip Microcomputers 3rd Edition (Zhang Yigang)
- Metronom Real-Time Operating System RTOS for AVR microcontrollers
- Learn C language for AVR microcontrollers easily (with video tutorial) (Yan Yu, Li Jia, Qin Wenhai)
- ATmega16 MCU C language programming classic example (Chen Zhongping)
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
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Op amp input overvoltage protection: clamping vs. integration
- 【NXP Rapid IoT Review】 The first test program
- Buzzer, DC motor and stepper motor interface for TMS320C28x series TMS320F2837x development board
- MSP430 MCU Example 4 - Button-controlled colorful lights
- Find an amplifier circuit
- Interrupt-Based Ambient Light and Environment Sensor Node Reference Design for Sub-1 GHz Networks
- STM32CUbe usage issues
- [Rawpixel RVB2601 development board trial experience] 1. Multi-task lighting RGB
- 2833xAdcSoc Programming Example
- Differences between MPU and MCU and selection tips