ATtiny40
8-битный микроконтроллер AVR серии tinyAVR с 4 КБ флеш-памяти и частотой до 12 МГц в корпусах SOIC20, TSSOP20, VQFN20. Распиновка с функциями выводов, сверенными с даташитом, заказные номера, фьюзы с завода и векторы прерываний — по описаниям Microchip.
Обновлено данные Microchip, ATtiny_DFP 3.4.278
- Ядро
- AVR, 8 бит
- Флеш-память
- 4 КБ
- ОЗУ
- 256 байт
- Частота
- до 12 МГц
- Питание
- 1,8–5,5 В
- Температура
- −40…+85 °C
- Линии ввода-вывода
- 18
- Корпуса
- SOIC20, TSSOP20, VQFN20
- Программирование
- TPI
Схема корпуса
Вид сверху. Выберите периферию — её выводы подсветятся на схемах, а в списке ниже останутся только её сигналы. Наведите курсор на вывод, чтобы увидеть все его функции. Расположение выводов сверено с рисунками и таблицами даташитов.
- ввод-вывод
- питание и земля
- сброс и выбор загрузки
- не подключён
- выбранная периферия
Периферия и её выводы
На какие линии порта выходит каждый сигнал. У классических AVR функции закреплены за линиями: включённая периферия сама занимает свой вывод, выбирать другой, как у STM32, нельзя.
SPI — последовательный интерфейс SPI
| Блок | Сигнал | Линия порта |
|---|---|---|
| SPI | MISO | PC2 |
| MOSI | PC4 | |
| SCK | PC1 | |
| SS | PC0 |
TWI (I²C) — двухпроводной интерфейс, совместимый с I²C
| Блок | Сигнал | Линия порта |
|---|---|---|
| TWI | SCL | PC1 |
| SDA | PC4 |
Таймеры — выходы сравнения и ШИМ, входы счёта и захвата таймеров
| Блок | Сигнал | Линия порта |
|---|---|---|
| TC0 | OC0A | PC0 |
| OC0B | PA5 | |
| T0 | PA4 | |
| TC1 | ICP1 | PC1 |
| T1 | PC1 |
АЦП — аналого-цифровой преобразователь
| Блок | Сигнал | Линия порта |
|---|---|---|
| ADC | ADC0 | PA0 |
| ADC1 | PA1 | |
| ADC2 | PA2 | |
| ADC3 | PA3 | |
| ADC4 | PA4 | |
| ADC5 | PA5 | |
| ADC6 | PA6 | |
| ADC7 | PA7 | |
| ADC8 | PB0 | |
| ADC9 | PB1 | |
| ADC10 | PB2 | |
| ADC11 | PB3 |
Компаратор — аналоговый компаратор
| Блок | Сигнал | Линия порта |
|---|---|---|
| AC | AIN0 | PA1 |
| AIN1 | PA2 |
Прерывания — внешние прерывания INT и PCINT
| Блок | Сигнал | Линия порта |
|---|---|---|
| EXINT | INT0 | PC2 |
| 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 | PC0 | |
| PCINT13 | PC1 | |
| PCINT14 | PC2 | |
| PCINT15 | PC3 | |
| PCINT16 | PC4 | |
| PCINT17 | PC5 |
Тактирование — кварцевый генератор, вход и выход тактового сигнала
| Блок | Сигнал | Линия порта |
|---|---|---|
| CPU | CLKI | PC5 |
| CLKO | PC2 |
TPI — программирование по трём проводам
| Блок | Сигнал | Линия порта |
|---|---|---|
| TPI | TPICLK | PC5 |
| TPIDATA | PC4 |
Таблица выводов
Номера выводов в каждом корпусе и функции линий. Обычный режим порта — вход, выход, вход с подтяжкой — есть у каждой линии ввода-вывода, в таблице перечислены только альтернативные функции. Функции сверены с даташитом: те, которых нет в описании Microchip, добавлены по даташиту.
| SOIC20, TSSOP20 | VQFN20 | Имя | Тип | Функции |
|---|---|---|---|---|
| 1 | 19 | PB0 | ввод-вывод | PCINT8, ADC8 |
| 2 | 20 | PA7 | ввод-вывод | PCINT7, ADC7 |
| 3 | 1 | PA6 | ввод-вывод | PCINT6, ADC6 |
| 4 | 2 | PA5 | ввод-вывод | PCINT5, ADC5, OC0B |
| 5 | 3 | PA4 | ввод-вывод | PCINT4, ADC4, T0 |
| 6 | 4 | PA3 | ввод-вывод | PCINT3, ADC3 |
| 7 | 5 | PA2 | ввод-вывод | PCINT2, ADC2, AIN1 |
| 8 | 6 | PA1 | ввод-вывод | PCINT1, ADC1, AIN0 |
| 9 | 7 | PA0 | ввод-вывод | PCINT0, ADC0 |
| 10 | 8 | GND | питание | — |
| 11 | 9 | VCC | питание | — |
| 12 | 10 | PC5 | ввод-вывод | CLKI, TPICLK, PCINT17 |
| 13 | 11 | PC4 | ввод-вывод | MOSI, SDA, TPIDATA, PCINT16 |
| 14 | 12 | PC3 | ввод-вывод | RESET, PCINT15 |
| 15 | 13 | PC2 | ввод-вывод | INT0, CLKO, MISO, PCINT14 |
| 16 | 14 | PC1 | ввод-вывод | SCK, SCL, ICP1, T1, PCINT13 |
| 17 | 15 | PC0 | ввод-вывод | OC0A, SS, PCINT12 |
| 18 | 16 | PB3 | ввод-вывод | ADC11, PCINT11 |
| 19 | 17 | PB2 | ввод-вывод | ADC10, PCINT10 |
| 20 | 18 | PB1 | ввод-вывод | ADC9, PCINT9 |
Питание и служебные выводы
Выводы, которые не являются линиями порта. Номиналы блокировочных конденсаторов и фильтра питания АЦП — в разделе о питании даташита.
| Имя | Выводы | Назначение |
|---|---|---|
| GND | SOIC20: 10; VQFN20: 8 | общий провод |
| VCC | SOIC20: 11; VQFN20: 9 | напряжение питания |
Исполнения
Память, частота и сигнатура ATtiny40 по описанию Microchip. Частота и питание — классы скорости из заказных номеров: предельная частота и диапазон питания. Многие модели работают на предельной частоте не во всём диапазоне — зависимость показывает график Speed Grades в даташите. Сигнатура — три байта, по которым программатор узнаёт микроконтроллер, в последнем столбце — его обозначение для ключа -p программы avrdude.
| Микроконтроллер | Флеш | ОЗУ | EEPROM | Частота и питание | Сигнатура | avrdude |
|---|---|---|---|---|---|---|
| ATtiny40 | 4 КБ | 256 байт | — | 12 МГц, 1,8–5,5 В | 1E 92 0E | t40 |
Заказные номера
Номера для заказа из описания Microchip с корпусом, предельной частотой, диапазонами питания и рабочей температуры.
| Номер | Корпус | Частота | Питание | Температура |
|---|---|---|---|---|
| ATtiny40-SU | SOIC20 | до 12 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny40-XU | TSSOP20 | до 12 МГц | 1,8–5,5 В | −40…+85 °C |
| ATtiny40-MMH | VQFN20 | до 12 МГц | 1,8–5,5 В | −40…+85 °C |
Фьюзы с завода
Значения фьюзов, с которыми микроконтроллер приходит с завода, и источник тактового сигнала, который они выбирают. В скобках — имя байта в avrdude. Расшифровку каждого бита, другие режимы и готовую команду avrdude даёт калькулятор фьюзов AVR.
| Микроконтроллер | BYTE0 (fuse) | Тактирование | Калькулятор |
|---|---|---|---|
| ATtiny40 | 0xFF | — | открыть |
Векторы прерываний
Таблица векторов ATtiny40: номер, как в даташите (сброс — первый), имя вектора по описанию Microchip и источник прерывания. Обработчик в avr-gcc объявляют макросом ISR() с именем вектора из avr/io.h — обычно это имя из таблицы с суффиксом _vect, например ISR(INT0_vect).
| № | Вектор | Источник |
|---|---|---|
| 1 | RESET | сброс: включение питания, вывод RESET, BOD, сторожевой таймер |
| 2 | INT0 | внешнее прерывание INT0 |
| 3 | PCINT0 | изменение уровня на выводах группы PCINT0 |
| 4 | PCINT1 | изменение уровня на выводах группы PCINT1 |
| 5 | PCINT2 | изменение уровня на выводах группы PCINT2 |
| 6 | WDT | сторожевой таймер |
| 7 | TIM1_CAPT | Timer/Counter1 Input Capture |
| 8 | TIM1_COMPA | Timer/Counter1 Compare Match A |
| 9 | TIM1_COMPB | Timer/Counter1 Compare Match B |
| 10 | TIM1_OVF | Timer/Counter1 Overflow |
| 11 | TIM0_COMPA | Timer/Counter0 Compare Match A |
| 12 | TIM0_COMPB | Timer/Counter0 Compare Match B |
| 13 | TIM0_OVF | Timer/Counter0 Overflow |
| 14 | ANA_COMP | аналоговый компаратор |
| 15 | ADC | АЦП: преобразование завершено |
| 16 | TWI_SLAVE | Two-Wire Interface |
| 17 | SPI | Serial Peripheral Interface |
| 18 | QTRIP | Touch Sensing |
Частые вопросы
Какие фьюзы у ATtiny40 с завода?
BYTE0 0xFF. Расшифровку каждого бита и команду avrdude для своих значений даёт калькулятор фьюзов AVR.
Сколько линий ввода-вывода у ATtiny40?
18 линий: PA0–PA7, PB0–PB3, PC0–PC5. У каждой есть альтернативные функции периферии — они перечислены в таблице выводов.
В каких корпусах выпускается ATtiny40?
SOIC20 и TSSOP20; VQFN20. Через точку с запятой — корпуса с разной распиновкой, внутри группы она одинаковая. Полный список заказных номеров с диапазонами температуры и питания — в разделе «Заказные номера».
Источники
Корпуса, выводы, память, заказные номера, фьюзы, сигнатуры и векторы прерываний — из файлов описания устройств (ATDF) в паках Microchip ATtiny_DFP 3.4.278 от 11 апреля 2026 г., лицензия Apache 2.0. Данные преобразованы в таблицы и схемы корпусов; тексты и рисунки — GAW. Лицензии и источники данных.
Функции и расположение выводов сверены с даташитом ATtiny40 (8263B–AVR–01/2013).
Калькуляторы и статьи
- Фьюзы AVRБиты фьюзов, заводские значения и avrdude
- Таймер AVR и STM32Предделитель, OCRnA, PSC и ARR под частоту
- Конденсаторы для кварцаC1 и C2 по CL, запас генерации, уход частоты
- Подтягивающие резисторы I²CДиапазон Rp по напряжению, скорости и ёмкости шины
- Система команд AVRВсе инструкции с флагами и тактами, адресация, примеры кода
- SPISCLK, MOSI, MISO, CS, режимы 0–3, daisy chain, частота, SPI в AVR
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек