CKSEL3 - 0
XTAL
6,7
8-15
IRC
4
2-4
ERC
5
5-7
ЕХТ
0
0,1
У мікроконтролерах, що мають внутрішній генератор із зовнішнім RC-ланцюжком (ERC), резистор (3-100 кОм) підключається між виведенням XTAL1 і шиною VCC, а конденсатор (не менше 20 пФ) - між висновком XTAL1 і шиною GND.
У мікроконтролерах типу t12, t15, t28 і m163 при використанні внутрішнього RC-генератора тактова частота може змінюватися програмними засобами шляхом зміни коду, записуваного в регістр OSCCAL. При запису коду $ 00 тактова частота має найменше значення, при запису коду SFF - найбільше значення. p> У мікроконтролері типу ml03 програмними засобами може змінюватися тактова частота генератора з кварцовим резонатором. p> Значення тактової частоти FCk визначається за формулою
В
де Fq - робоча частота кварцового резонатора; (XDIV.6 - 0) - число, двійковий код якого записаний в молодших семи розрядах регістру XDIV (№ $ ЗС). Зміна тактової частоти можливо при XDIV.7 = 1.
3. Процесор
Процесор (CPU) формує адреса чергової команди, вибирає команду з пам'яті і організує її виконання. Код команди має формат "слово" (16 біт) або "два слова". Система команд мікроконтролерів сімейства AVR розглядається в розділі 2. p> До складу процесора крім лічильника команд (PC), арифметико-логічного пристрою (ALU) і блоку регістрів загального призначення (GPR), зображених на структурній схемі рис. 1, входять:
в– регістр стану мікроконтролера SREG;
в– регістр-покажчик стека SP або SPL і SPH
та інші елементи, далі не аналізовані.
У лічильнику команд адресу чергової команди формується шляхом додавання 1 до числа, код якого зберігається в лічильнику команд. При пуску і перезапуску мікроконтролера в лічильник команд заноситься код числа 0 і перша команда вибирається з FlashROM за адресою 0.
У арифметико-логічному пристрої (ALU) виконуються арифметичні і логічні операції. Операнди надходять з регістрів загального призначення (GPR). При виконанні одномісних операцій результат записується в регістр, з якого надійшов операнд. При виконанні двомісних операцій результат записується в регістр, з якого надійшов перший операнд.
Блок регістрів загального призначення (GPR) містить 32 восьмирозрядних регістру, яким присвоєні імена R0, R1, ..., R31. У деяких операціях у ALU можуть брати участь лише регістри зі старшими номерами (від R16 до R31). Регістри з іменами від R24 до R31 можуть утворювати пари, що використовуються для зберігання слів, при цьому регістр з парних номером зберігає молодший байт, а регістр з непарним номером - старший байт.
Паре регістрів R26, R27 присвоєно ім'я X, парі регістрів R28, R29 - ім'я Y, парі регістрів R30, R31 - ім'я Z. Ці пари регістрів використовуються для зберігання адрес при зверненнях до пам'яті з непрямою адресацією.
Регістр стану мікроконтролера SREG (№ $ 3F) містить вісім розрядів (SREG.7, SREG.6, .... SREG.0). p> Розряд SREG, 7 (I) використовується для дозволу/заборони переривань. При I = 0 всі переривання заборонені. При 1 = 1 будь-яке переривання може бути дозволено. p> Розряд SREG.6 (Т) використовується для зберігання біта при виконанні операцій з бітами. p> Решта розряди регістра SREG використовуються для зберігання ознак результатів арифметичних і логічних операцій, які виконуються в ALU. Призначення цих розрядів розглядається при описі системи команд мікроконтролера.
Регістр-вказівник стека SP (№ $ 3D) зберігає і формує адресу при зверненні до стека типу LIFO. У мікроконтролерах типу t1l, 112, 115, 1200 і t28 як стека використовується спеціальне запам'ятовуючий пристрій (апаратний стек). Цей стік використовується тільки для зберігання адрес повернення при переривання і зверненнях до підпрограмам. У системі команд відсутні команди звернення до стека. p> У мікроконтролерах інших типів як стека використовується виділяється користувачем область у SRAM. У системі команд є команди для зверненню до стека. Запис байтів в стек виконується в порядку зменшення адрес в SRAM. При пуску і перезапуску мікроконтролера в регістр-покажчик стека заноситься код числа 0. Для нормальної роботи стека в регістр-покажчик необхідно занести інший початковий адресу. У мікроконтролерах з великою ємністю SRAM регістр-покажчик складається з двох регістрів - SPL і SPH (№ № $ 3D і $ ЗЕ).
4. Запам'ятовуючий пристрій Flash ROM
Постійний запам'ятовуючий пристрій FlashROM призначено для зберігання кодів команд програми та констант. Осередок пам'яті містить 16 розрядів. У ній можуть зберігатися код команди формату "...