What is AVR microcontroller

Publisher:脑力驿站Latest update time:2013-01-09 Source: 21IC Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

What is an AVR microcontroller? What are the advantages of an AVR microcontroller? Why should you choose an AVR microcontroller?

AVR microcontroller is a new type of microcontroller developed by ATMEL. Compared with 51 microcontroller and PIC microcontroller, it has a series of advantages:

1: AVR runs fastest under the same system clock;

2: The capacity of Flsah, EEPROM and SRAM inside the chip is large;

3: All models of Flash and EEPROM can be repeatedly burned and written, and all support online programming (ISP);

4: Internal RC oscillator with multiple frequencies, automatic reset on power-on, watchdog, start-up delay and other functions, and zero peripheral circuit can also work;

5: Each IO port can output high and low levels in a push-switch drive mode, with strong driving ability;

6: Rich internal resources, generally integrated AD, DA analog-to-digital devices; PWM; SPI, USART, TWI, I2C communication ports; rich interrupt sources, etc.

Currently, the languages ​​that support AVR microcontroller compilers mainly include assembly language, C language, BASIC language, etc. Among them, C compilers mainly include CodeVisionAVR, AVRGCC, IAR, ICCAVR, etc. The C language compiler has an irreplaceable position in professional program design due to its inherent advantages such as powerful functions, flexible application, small code, and fast running speed.

AVR microcontroller is an enhanced RISC (Reduced Instruction Set CPU) high-speed 8-bit microcontroller with built-in Flash developed by ATMEL in 1997. AVR microcontrollers can be widely used in various fields such as computer peripherals, industrial real-time control, instrumentation, communication equipment, and household appliances.

Main features of AVR

High reliability, powerful functions, high speed, low power consumption and low price have always been important indicators for measuring the performance of microcontrollers, and are also necessary conditions for microcontrollers to occupy the market and survive.

The early single-chip microcomputers adopted a safe solution mainly due to the low level of technology and design, high power consumption and poor anti-interference performance: using a higher frequency division coefficient to divide the clock, which makes the instruction cycle long and the execution speed slow. Although the later CMOS single-chip microcomputers adopted measures such as increasing the clock frequency and reducing the frequency division coefficient, this situation has not been completely changed (51 and 51 compatible). Although some reduced instruction set microcontrollers (RISC) have been introduced, they still follow the practice of clock division.

The introduction of AVR microcontrollers completely broke this old design pattern, abolished the machine cycle, abandoned the practice of complex instruction computers (CISC) to pursue complete instructions; adopted a reduced instruction set, using words as the unit of instruction length, and arranged rich operands and operation codes in one word (most of the single-cycle instructions in the instruction set are like this), with a short instruction fetch cycle, and can pre-fetch instructions to achieve pipeline operation, so instructions can be executed at high speed. Of course, this speed jump is backed by high reliability.

The hardware structure of AVR microcontroller adopts a compromise strategy between 8-bit and 16-bit machines, that is, a local register storage stack (32 register files) and a single high-speed input/output solution (i.e. input capture register, output comparison match register and corresponding control logic). It improves the instruction execution speed (1Mips/MHz), overcomes the bottleneck phenomenon, and enhances the function; at the same time, it reduces the cost of peripheral management, relatively simplifies the hardware structure, and reduces the cost. Therefore, AVR microcontroller has achieved an optimized balance in software/hardware cost, speed, performance and cost, and is a cost-effective microcontroller.

AVR microcontrollers have built-in high-quality Flash program memory, which is easy to erase and write, supports ISP and IAP, and is convenient for product debugging, development, production, and updating. The built-in long-life EEPROM can store key data for a long time to avoid power loss. The large-capacity RAM on the chip can not only meet the use of general occasions, but also more effectively support the use of high-level languages ​​to develop system programs, and can expand external RAM like the MCS-51 microcontroller.

All I/O lines of AVR microcontrollers have configurable pull-up resistors, can be individually set as input/output, can be set (initial) high-impedance input, and have strong driving capabilities (power driver devices can be omitted), making the I/O port resources flexible, powerful, and fully utilized.

AVR microcontrollers have multiple independent clock dividers for URAT, I2C, and SPI. Among them, the pre-divider with up to 10 bits in combination with the 8/16-bit timer can provide various levels of timing by setting the frequency division coefficient through software. The unique design method of AVR microcontrollers, "using timer/counter (single) bidirectional counting to form a triangular wave, and then coordinating with the output comparison matching register to generate a variable duty cycle, variable frequency, and variable phase square wave (i.e. pulse width modulation output PWM)", is even more refreshing.

The enhanced high-speed synchronous/asynchronous serial port has functions such as hardware-generated check code, hardware detection and check error detection, two-level receiving buffer, automatic baud rate adjustment positioning (when receiving), and data frame shielding, which improves the reliability of communication, facilitates program writing, and is more convenient for forming distributed networks and realizing complex applications of multi-machine communication systems. The serial port function greatly exceeds the serial port of the MCS-51/96 microcontroller. In addition, the AVR microcontroller is high-speed and the interrupt service time is short, so high baud rate communication can be achieved.

Byte-oriented high-speed hardware serial interface TWI, SPI. TWI is compatible with I2C interface, and has functions such as ACK signal hardware transmission and recognition, address recognition, bus arbitration, etc., and can realize multi-machine communication of all 4 combinations of master/slave receiving/transmitting. SPI supports multi-machine communication of 4 combinations such as master/slave.

The AVR microcontroller has an automatic power-on reset circuit, an independent watchdog circuit, a low voltage detection circuit BOD, multiple reset sources (automatic power-on and power-off reset, external reset, watchdog reset, BOD reset), and a programmable delay after startup, which enhances the reliability of the embedded system.

AVR microcontrollers have multiple power-saving sleep modes, and can operate in a wide voltage range (5-2.7V). They have strong anti-interference capabilities, which can reduce the workload of software anti-interference design and the amount of hardware used in general 8-bit machines. AVR microcontroller technology embodies the integration of multiple devices (including FLASH program memory, watchdog, EEPROM, synchronous/asynchronous serial port, TWI, SPI, A/D analog-to-digital converter, timer/counter, etc.) and multiple functions (reset system to enhance reliability, sleep mode to reduce power consumption and anti-interference, interrupt system with a wide variety of categories, timer/counter with diversified functions such as input capture and compare match output, I/O port with replacement function...), fully reflecting the development direction of microcontroller technology from "self-operating" to "system on chip SoC".

To sum up, the AVR microcontroller has the strengths of many others and unique technology, making it a worthy leader among 8-bit machines.

Selection of AVR series microcontrollers

AVR microcontroller series are complete and can be applied to various occasions. AVR microcontrollers have 3 grades:

Low-end Tiny series AVR MCU: mainly Tiny11/12/13/15/26/28, etc.;

Mid-range AT90S series AVR MCU: mainly AT90S1200/2313/8515/8535, etc. (being phased out or transitioning to Mega)

High-end ATmega series AVR microcontrollers: mainly include ATmega8/16/32/64/128 (storage capacity is 8/16/32/64/128 KB) and ATmega8515/8535, etc.

AVR device pins range from 8 to 64 pins, and there are various packages to choose from.

Reference address:What is AVR microcontroller

Previous article:How to efficiently learn AVR microcontrollers
Next article:AVR MCU Locking Problem

Recommended ReadingLatest update time:2024-11-16 19:53

How to Program AVR Microcontrollers Using the USBASP Writer and Atmel Studio 7.0
There are several ways to program an AVR microcontroller. In this tutorial, we will use the USBASP v2.0 serial programmer to program it. For demonstration purposes, we will use an ATmega16 microcontroller and Atmel Studio. We will test the programmer with a blink sketch. Here are the steps to burn code to Atmega IC
[Microcontroller]
How to Program AVR Microcontrollers Using the USBASP Writer and Atmel Studio 7.0
ATMEL9263 800*600 screen driver problem
Some time ago, we had a cooperation with a certain hospital, using our company's ATMEL at91SAM9263. The evaluation board kit had no problem using our 800*480 screen, but it could not be driven if the configuration of the large screen was slightly changed. Later, I checked the code and found the problem. The reason was
[Microcontroller]
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号