



Atmel AVR – typ ośmiobitowych mikrokontrolerów produkowanych przez firmę Atmel.
Jednostka arytmetyczno-logiczna opracowana przez dwóch studentów z Norweskiej Wyższej Szkoły Technicznej (NTH) oparta jest na schemacie procesora RISC i zasadach zmodyfikowanej architektury harwardzkiej, zawiera 32 ośmiobitowe rejestry. Instrukcje arytmetyczno-logiczne mogą być wykonywane na rejestrach. Dane z pamięci mogą być tylko przesyłane do i z rejestrów. Charakteryzuje się ona prostą strukturą rozkazów, dużą wydajnością obliczeniową (większość rozkazów wykonywana jest w jednym takcie zegara procesora).
Listę rozkazów dopasowano do wymagań współczesnych kompilatorów, wprowadzając rozkazy pobierania danych przez adresowanie pamięci rejestrem 16-bitowym (zestaw dwóch rejestrów) z jednoczesnym zwiększeniem lub zmniejszeniem rejestru adresowego (pobierz i zwiększ/zmniejsz).
Mikrokontrolery AVR są popularne wśród hobbystów i amatorów, ze względu na łatwość programowania, a także łatwość uruchomienia. Do niektórych układów wystarczy podłączyć zasilanie, by stanowiły kompletny, programowalny system mikroprocesorowy. W połączeniu z dużymi obudowami typu DIP daje to rzadko spotykaną możliwość budowy prostszych układów mikroprocesorowych bez konieczności pracochłonnego przygotowywania płytki drukowanej.
Układy typu AVR zostały podzielone na kilka podtypów:
Poszczególne mikrokontrolery typu AVR różnią się między sobą, przede wszystkim ilością pamięci flash, RAM, liczbą portów wejść/wyjść oraz układami dodatkowymi.
Przykładowo: ATtiny13 ma 1 kB pamięci programu (flash), 64 bajty EEPROM, 64 bajty RAM + 32 rejestry, 6 linii wejść/wyjść, 2 kanały PWM, 4 kanały A/D, wewnętrzny oscylator; montowany jest w obudowie o 8 wyprowadzeniach.
ATmega2560 ma 256 kB pamięci programu, 4 kB EEPROMu, 8 kB RAM, 86 wejść/wyjść, 4 16-bitowe liczniki sterujące w sumie 6 wyjściami PWM, SPI, 2 układy USART, 16-kanałowy przetwornik analogowo-cyfrowy.
Podstawowe elementy AVR (nie wszystkie występują w każdym układzie):