aplikacji. Program z sekcji botującej kontynuuje swoją pracę podczas programowania części aplikacyjnej, na co pozwala technika rzeczywistego Write-While-Read.
Połączone możliwości 8-bitowej jednostki obliczeniowej RISC, programowania w systemie oraz samoreprogramowaniem pamięci flash w jednym układzie, pozwala na zastosowanie tego mikrokontrolera w elastycznych funkcjonalnie i oszczędnych cenowo rozwiązaniach, w wymagających kontroli działania aplikacjach wbudowanych (ang. embeded).
(XCK/T0) PBO (T1) PB1 (INT2/AIN0) PB2 (OCO/AIN1) PB3 (SS) PB4 (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET VCC GND XTAL2 XTAL1 (RXD) PDO (TXD) PD1 (INTO) PD2 (INT1) PD3 (OC1B) PD4 (OC1A) PD5 (ICP1) PD6
rj PAO (ADCO) PA1 (ADC1)
□ PA2 (ADC2) _! PA3 (ADC3)
PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) U PA7 (ADC7)
□ AREF
□ GND AVCC
n PC7 (TOSC2) J PC6 (TOSC1) PC5 (TDI)
□ PC4 (TDO) j PC3 (TMS)
: PC2 (TCK)
□ PC1 (SDA)
□ PCO (SCL) PD7 (OC2)
Rys. 2. Opis wyprowadzeń mikrokontrolera ATMegaló w obudowie DIP40
2. Zarys budowy rdzenia AVR
Głównym zadaniem rdzenia CPU (centralnej jednostki liczącej) jest zapewnienie poprawnego i szybkiego wykonywania kodu. Z tego powodu CPU musi mieć dostęp do pamięci, musi wykonywać operacje, sterować układami peryferyjnymi i obsługiwać przerwania.
Dla uzyskania maksymalnej wydajności AVR zbudowany jest w oparciu o architekturę harwardzką - z rozdzielonymi pamięciami i szynami dla programu i danych. Instrukcje w pamięci programu wykonywane są potokowo. Podczas gdy jedna instrukcja jest wykonywana, następna jest już pobierana z pamięci programu. Dzięki takiemu rozwiązaniu, możliwe jest wykonywanie całej instrukcji w każdym cyklu zegara.
Blok szybkiego dostępu zawiera 32 rejestry robocze o jednocyklowym czasie dostępu. To pozwala aby jednostka ALU (arytmetyczno logiczna) również mogła pracować w jednym cyklu. W typowej operacji, dwa argumenty ALU są wystawiane z bloku rejestrów, wykonywana jest operacja, a wynik jest powrotem umieszczany w bloku rejestrów, i to wszystko w jednym cyklu zegara.