ATtiny861, ATtiny461 и ATtiny261
8-битные микроконтроллеры AVR серии tinyAVR с 8, 4 и 2 КБ флеш-памяти и частотой до 20 МГц в корпусах PDIP20, SOIC20, MLF32. Распиновка с функциями выводов, сверенными с даташитом, заказные номера, фьюзы с завода и векторы прерываний — по описаниям Microchip.
Обновлено данные Microchip, ATtiny_DFP 3.4.278
- Ядро
- AVR, 8 бит
- Флеш-память
- 2, 4 и 8 КБ
- ОЗУ
- 128 байт, 256 байт и 512 байт
- EEPROM
- 128 байт, 256 байт и 512 байт
- Частота
- до 20 МГц
- Питание
- 1,8–5,5 В
- Температура
- −40…+85 °C
- Линии ввода-вывода
- 16
- Корпуса
- PDIP20, SOIC20, MLF32
- Программирование
- ISP, HVPP, debugWIRE
Схема корпуса
Вид сверху. Выберите периферию — её выводы подсветятся на схемах, а в списке ниже останутся только её сигналы. Наведите курсор на вывод, чтобы увидеть все его функции. Расположение выводов сверено с рисунками и таблицами даташитов.
- ввод-вывод
- питание и земля
- сброс и выбор загрузки
- не подключён
- выбранная периферия
Периферия и её выводы
На какие линии порта выходит каждый сигнал. У классических AVR функции закреплены за линиями: включённая периферия сама занимает свой вывод, но у ATtiny861 есть исключения. Сигналы USI можно перенести на другой набор выводов — его выбирает бит USIPOS регистра USIPP; эти места помечены «альт.».
USI — универсальный последовательный интерфейс
| Блок | Сигнал | Линия порта |
|---|---|---|
| USI | DI | PA0 (альт.), PB0 |
| DO | PA1 (альт.), PB1 | |
| SCL | PA2 (альт.), PB2 | |
| SDA | PA0 (альт.), PB0 | |
| USCK | PA2 (альт.), PB2 |
Таймеры — выходы сравнения и ШИМ, входы счёта и захвата таймеров
| Блок | Сигнал | Линия порта |
|---|---|---|
| TC0 | ICP0 | PA4 |
| T0 | PB6 | |
| TC1 | OC1A | PB1 |
| OC1A̅ | PB0 | |
| OC1B | PB3 | |
| OC1B̅ | PB2 | |
| OC1D | PB5 | |
| OC1D̅ | PB4 |
АЦП — аналого-цифровой преобразователь
| Блок | Сигнал | Линия порта |
|---|---|---|
| ADC | ADC0 | PA0 |
| ADC1 | PA1 | |
| ADC2 | PA2 | |
| ADC3 | PA4 | |
| ADC4 | PA5 | |
| ADC5 | PA6 | |
| ADC6 | PA7 | |
| ADC7 | PB4 | |
| ADC8 | PB5 | |
| ADC9 | PB6 | |
| ADC10 | PB7 | |
| AREF | PA3 |
Компаратор — аналоговый компаратор
| Блок | Сигнал | Линия порта |
|---|---|---|
| AC | AIN0 | PA6 |
| AIN1 | PA7 | |
| AIN2 | PA5 |
Прерывания — внешние прерывания INT и PCINT
| Блок | Сигнал | Линия порта |
|---|---|---|
| EXINT | INT0 | PB6 |
| INT1 | PA2 | |
| PCINT0 | PA0 | |
| PCINT1 | PA1 | |
| PCINT2 | PA2 | |
| PCINT3 | PA3 | |
| PCINT4 | PA4 | |
| PCINT5 | PA5 | |
| PCINT6 | PA6 | |
| PCINT7 | PA7 | |
| PCINT8 | PB0 | |
| PCINT9 | PB1 | |
| PCINT10 | PB2 | |
| PCINT11 | PB3 | |
| PCINT12 | PB4 | |
| PCINT13 | PB5 | |
| PCINT14 | PB6 | |
| PCINT15 | PB7 |
Тактирование — кварцевый генератор, вход и выход тактового сигнала
| Блок | Сигнал | Линия порта |
|---|---|---|
| CPU | CLKI | PB4 |
| CLKO | PB5 | |
| XTAL1 | PB4 | |
| XTAL2 | PB5 |
ISP — последовательное программирование
| Блок | Сигнал | Линия порта |
|---|---|---|
| ISP | MISO | PB1 |
| MOSI | PB0 | |
| SCK | PB2 |
debugWIRE — отладка по выводу RESET
| Блок | Сигнал | Линия порта |
|---|---|---|
| DW | dW | PB7 |
Таблица выводов
Номера выводов в каждом корпусе и функции линий. Обычный режим порта — вход, выход, вход с подтяжкой — есть у каждой линии ввода-вывода, в таблице перечислены только альтернативные функции. Функции сверены с даташитом: те, которых нет в описании Microchip, добавлены по даташиту.
| PDIP20, SOIC20 | MLF32 | Имя | Тип | Функции |
|---|---|---|---|---|
| 1 | 30 | PB0 | ввод-вывод | MOSI, DI, SDA, OC1A̅, PCINT8 |
| 2 | 31 | PB1 | ввод-вывод | MISO, DO, OC1A, PCINT9 |
| 3 | 32 | PB2 | ввод-вывод | SCK, USCK, SCL, OC1B̅, PCINT10 |
| 4 | 2 | PB3 | ввод-вывод | OC1B, PCINT11 |
| 5 | 4 | VCC | питание | — |
| 6 | 5 | GND | питание | — |
| 7 | 7 | PB4 | ввод-вывод | ADC7, OC1D̅, CLKI, XTAL1, PCINT12 |
| 8 | 8 | PB5 | ввод-вывод | ADC8, OC1D, CLKO, XTAL2, PCINT13 |
| 9 | 10 | PB6 | ввод-вывод | ADC9, INT0, T0, PCINT14 |
| 10 | 11 | PB7 | ввод-вывод | ADC10, RESET, PCINT15, dW |
| 11 | 13 | PA7 | ввод-вывод | ADC6, AIN1, PCINT7 |
| 12 | 14 | PA6 | ввод-вывод | ADC5, AIN0, PCINT6 |
| 13 | 15 | PA5 | ввод-вывод | ADC4, AIN2, PCINT5 |
| 14 | 17 | PA4 | ввод-вывод | ADC3, ICP0, PCINT4 |
| 15 | 18 | AVCC | питание | — |
| 16 | 21 | AGND | питание | — |
| 17 | 22 | PA3 | ввод-вывод | AREF, PCINT3 |
| 18 | 23 | PA2 | ввод-вывод | ADC2, INT1, USCK (альт.), SCL (альт.), PCINT2 |
| 19 | 25 | PA1 | ввод-вывод | ADC1, DO (альт.), PCINT1 |
| 20 | 26 | PA0 | ввод-вывод | ADC0, DI (альт.), SDA (альт.), PCINT0 |
Питание и служебные выводы
Выводы, которые не являются линиями порта. Номиналы блокировочных конденсаторов и фильтра питания АЦП — в разделе о питании даташита.
| Имя | Выводы | Назначение |
|---|---|---|
| VCC | PDIP20: 5; MLF32: 4 | напряжение питания |
| GND | PDIP20: 6; MLF32: 5 | общий провод |
| AVCC | PDIP20: 15; MLF32: 18 | питание АЦП и части линий порта; подключают к VCC, даже если АЦП не используется, при работе АЦП — через фильтр нижних частот |
| AGND | PDIP20: 16; MLF32: 21 | общий провод |
Исполнения
ATtiny861, ATtiny461 и ATtiny261 — микроконтроллеры с общей распиновкой: в общих корпусах выводы расположены одинаково. Различия — в таблице. Частота и питание — классы скорости из заказных номеров: предельная частота и диапазон питания. Многие модели работают на предельной частоте не во всём диапазоне — зависимость показывает график Speed Grades в даташите. Сигнатура — три байта, по которым программатор узнаёт микроконтроллер, в последнем столбце — его обозначение для ключа -p программы avrdude.
| Микроконтроллер | Флеш | ОЗУ | EEPROM | Частота и питание | Сигнатура | avrdude |
|---|---|---|---|---|---|---|
| ATtiny861 | 8 КБ | 512 байт | 512 байт | 10 МГц, 1,8–5,5 В; 20 МГц, 2,7–5,5 В | 1E 93 0D | t861 |
| ATtiny461 | 4 КБ | 256 байт | 256 байт | 10 МГц, 1,8–5,5 В; 20 МГц, 2,7–5,5 В | 1E 92 08 | t461 |
| ATtiny261 | 2 КБ | 128 байт | 128 байт | 10 МГц, 1,8–5,5 В; 20 МГц, 2,7–5,5 В | 1E 91 0C | t261 |
Заказные номера
Номера для заказа из описания Microchip с корпусом, предельной частотой, диапазонами питания и рабочей температуры.
| Номер | Корпус | Частота | Питание | Температура |
|---|---|---|---|---|
| ATtiny861V-10MU | MLF32 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny861V-10PU | PDIP20 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny861V-10SU | SOIC20 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny861-20MU | MLF32 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
| ATtiny861-20PU | PDIP20 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
| ATtiny861-20SU | SOIC20 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
| ATtiny461V-10MU | MLF32 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny461V-10PU | PDIP20 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny461V-10SU | SOIC20 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny461-20MU | MLF32 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
| ATtiny461-20PU | PDIP20 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
| ATtiny461-20SU | SOIC20 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
| ATtiny261V-10MU | MLF32 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny261V-10PU | PDIP20 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny261V-10SU | SOIC20 | до 10 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny261-20MU | MLF32 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
| ATtiny261-20PU | PDIP20 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
| ATtiny261-20SU | SOIC20 | до 20 МГц | 2,7–5,5 В | −40…+85 °C |
Фьюзы с завода
Значения фьюзов, с которыми микроконтроллер приходит с завода, и источник тактового сигнала, который они выбирают. В скобках — имя байта в avrdude. Расшифровку каждого бита, другие режимы и готовую команду avrdude даёт калькулятор фьюзов AVR.
| Микроконтроллер | LOW (lfuse) | HIGH (hfuse) | EXTENDED (efuse) | Тактирование | Калькулятор |
|---|---|---|---|---|---|
| ATtiny861 | 0x62 | 0xDF | 0xFF | Внутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГц | открыть |
| ATtiny461 | 0x62 | 0xDF | 0xFF | Внутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГц | открыть |
| ATtiny261 | 0x62 | 0xDF | 0xFF | Внутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГц | открыть |
Векторы прерываний
Таблица векторов ATtiny861: номер, как в даташите (сброс — первый), имя вектора по описанию Microchip и источник прерывания. Обработчик в avr-gcc объявляют макросом ISR() с именем вектора из avr/io.h — обычно это имя из таблицы с суффиксом _vect, например ISR(INT0_vect).
| № | Вектор | Источник |
|---|---|---|
| 1 | RESET | сброс: включение питания, вывод RESET, BOD, сторожевой таймер |
| 2 | INT0 | внешнее прерывание INT0 |
| 3 | PCINT | Pin Change Interrupt |
| 4 | TIMER1_COMPA | таймер 1: совпадение с OCR1A |
| 5 | TIMER1_COMPB | таймер 1: совпадение с OCR1B |
| 6 | TIMER1_OVF | таймер 1: переполнение |
| 7 | TIMER0_OVF | таймер 0: переполнение |
| 8 | USI_START | USI: старт |
| 9 | USI_OVF | USI: переполнение счётчика |
| 10 | EE_RDY | EEPROM готова к записи |
| 11 | ANA_COMP | аналоговый компаратор |
| 12 | ADC | АЦП: преобразование завершено |
| 13 | WDT | сторожевой таймер |
| 14 | INT1 | внешнее прерывание INT1 |
| 15 | TIMER0_COMPA | таймер 0: совпадение с OCR0A |
| 16 | TIMER0_COMPB | таймер 0: совпадение с OCR0B |
| 17 | TIMER0_CAPT | таймер 0: захват |
| 18 | TIMER1_COMPD | таймер 1: совпадение с OCR1D |
| 19 | FAULT_PROTECTION | Timer/Counter1 Fault Protection |
Частые вопросы
Чем отличаются ATtiny861, ATtiny461 и ATtiny261?
Объём памяти: ATtiny861 — 8 КБ флеш, 512 байт ОЗУ, 512 байт EEPROM; ATtiny461 — 4 КБ флеш, 256 байт ОЗУ, 256 байт EEPROM; ATtiny261 — 2 КБ флеш, 128 байт ОЗУ, 128 байт EEPROM. Сигнатуры разные: avrdude сверяет сигнатуру с типом, указанным ключом -p, и не станет прошивать другой микроконтроллер без ключа -F. В общих корпусах расположение выводов и их функции одинаковые.
Какие фьюзы у ATtiny861 с завода?
LOW 0x62, HIGH 0xDF, EXTENDED 0xFF — тактирование: внутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГц. Расшифровку каждого бита и команду avrdude для своих значений даёт калькулятор фьюзов AVR.
Сколько линий ввода-вывода у ATtiny861?
16 линий: PA0–PA7, PB0–PB7. У каждой есть альтернативные функции периферии — они перечислены в таблице выводов.
Как прошить ATtiny861?
Через ISP-программатор: MOSI — PB0 (вывод 1 в PDIP20), MISO — PB1 (вывод 2 в PDIP20), SCK — PB2 (вывод 3 в PDIP20), RESET — PB7 (вывод 10 в PDIP20), плюс питание и общий провод. В avrdude микроконтроллер выбирается ключом -p t861. Другие интерфейсы ATtiny861: HVPP — высоковольтное параллельное программирование, debugWIRE — отладка по выводу RESET.
В каких корпусах выпускается ATtiny861?
PDIP20 и SOIC20; MLF32. Через точку с запятой — корпуса с разной распиновкой, внутри группы она одинаковая. Полный список заказных номеров с диапазонами температуры и питания — в разделе «Заказные номера».
Источники
Корпуса, выводы, память, заказные номера, фьюзы, сигнатуры и векторы прерываний — из файлов описания устройств (ATDF) в паках Microchip ATtiny_DFP 3.4.278 от 11 апреля 2026 г., лицензия Apache 2.0. Данные преобразованы в таблицы и схемы корпусов; тексты и рисунки — GAW. Лицензии и источники данных.
Функции и расположение выводов сверены с даташитом ATtiny261/461/861 (2588F–AVR–06/2013). По даташиту исправлены ошибки описания Microchip: у ATtiny861, ATtiny461 и ATtiny261 AIN0 — на PA6, а не на PA7, AIN1 — на PA7, а не на PA6.
Калькуляторы и статьи
- Фьюзы AVRБиты фьюзов, заводские значения и avrdude
- Таймер AVR и STM32Предделитель, OCRnA, PSC и ARR под частоту
- Конденсаторы для кварцаC1 и C2 по CL, запас генерации, уход частоты
- AVR ISP, UPDI и TPIISP 6 и 10 pin, USBasp, UPDI и TPI
- Система команд AVRВсе инструкции с флагами и тактами, адресация, примеры кода