Перейти к содержанию

ATmega168PB, ATmega88PB и ATmega48PB

8-битные микроконтроллеры AVR серии megaAVR с 16, 8 и 4 КБ флеш-памяти и частотой до 20 МГц в корпусах TQFP32, VQFN32. Распиновка с функциями выводов, сверенными с даташитом, заказные номера, фьюзы с завода и векторы прерываний — по описаниям Microchip.

Обновлено данные Microchip, ATmega_DFP 3.6.299

Ядро
AVR, 8 бит
Флеш-память
4, 8 и 16 КБ
ОЗУ
512 байт и 1 КБ
EEPROM
256 байт и 512 байт
Частота
до 20 МГц
Питание
1,8–5,5 В
Температура
−40…+105 °C
Линии ввода-вывода
27
Корпуса
TQFP32, VQFN32
Программирование
ISP, HVPP, debugWIRE

Схема корпуса

Вид сверху. Выберите периферию — её выводы подсветятся на схеме, а в списке ниже останутся только её сигналы. Наведите курсор на вывод, чтобы увидеть все его функции. Расположение выводов сверено с рисунками и таблицами даташитов.

Распиновка ATmega168PB, ATmega88PB, ATmega48PB в корпусе TQFP32, VQFN32, вид сверхуATmega168PB/88PB/48PBTQFP32, VQFN32вид сверхуPD3 — вывод 1: PCINT19, OC2B, INT11PD3PD4 — вывод 2: PCINT20, XCK, T02PD4PE0 — вывод 3: ACO3PE0VCC — вывод 44VCCGND — вывод 55GNDPE1 — вывод 66PE1PB6 — вывод 7: PCINT6, XTAL1, TOSC17PB6PB7 — вывод 8: PCINT7, XTAL2, TOSC28PB7PD5 — вывод 9: PCINT21, OC0B, T19PD5PD6 — вывод 10: PCINT22, OC0A, AIN010PD6PD7 — вывод 11: PCINT23, AIN111PD7PB0 — вывод 12: PCINT0, CLKO, ICP112PB0PB1 — вывод 13: PCINT1, OC1A13PB1PB2 — вывод 14: PCINT2, SS, OC1B14PB2PB3 — вывод 15: PCINT3, MOSI, OC2A15PB3PB4 — вывод 16: PCINT4, MISO16PB4PB5 — вывод 17: SCK, PCINT517PB5AVCC — вывод 1818AVCCPE2 — вывод 19: ADC619PE2AREF — вывод 2020AREFGND — вывод 2121GNDPE3 — вывод 22: ADC722PE3PC0 — вывод 23: ADC0, PCINT823PC0PC1 — вывод 24: ADC1, PCINT924PC1PC2 — вывод 25: ADC2, PCINT1025PC2PC3 — вывод 26: ADC3, PCINT1126PC3PC4 — вывод 27: ADC4, SDA, PCINT1227PC4PC5 — вывод 28: ADC5, SCL, PCINT1328PC5PC6 — вывод 29: RESET, PCINT1429PC6PD0 — вывод 30: RXD, PCINT1630PD0PD1 — вывод 31: TXD, PCINT1731PD1PD2 — вывод 32: INT0, PCINT1832PD2
TQFP32 и VQFN32
  • ввод-вывод
  • питание и земля
  • сброс и выбор загрузки
  • не подключён
  • выбранная периферия

Периферия и её выводы

На какие линии порта выходит каждый сигнал. У классических AVR функции закреплены за линиями: включённая периферия сама занимает свой вывод, выбирать другой, как у STM32, нельзя.

USART — синхронно-асинхронный приёмопередатчик

БлокСигналЛиния порта
USART0RXDPD0
TXDPD1
XCKPD4

SPI — последовательный интерфейс SPI

БлокСигналЛиния порта
SPIMISOPB4
MOSIPB3
SCKPB5
SSPB2

TWI (I²C) — двухпроводной интерфейс, совместимый с I²C

БлокСигналЛиния порта
TWISCLPC5
SDAPC4

Таймеры — выходы сравнения и ШИМ, входы счёта и захвата таймеров

БлокСигналЛиния порта
TC0OC0APD6
OC0BPD5
T0PD4
TC1ICP1PB0
OC1APB1
OC1BPB2
T1PD5
TC2OC2APB3
OC2BPD3
TOSC1PB6
TOSC2PB7

АЦП — аналого-цифровой преобразователь

БлокСигналЛиния порта
ADCADC0PC0
ADC1PC1
ADC2PC2
ADC3PC3
ADC4PC4
ADC5PC5
ADC6PE2
ADC7PE3

Компаратор — аналоговый компаратор

БлокСигналЛиния порта
ACACOPE0
AIN0PD6
AIN1PD7

Прерывания — внешние прерывания INT и PCINT

БлокСигналЛиния порта
EXINTINT0PD2
INT1PD3
PCINT0PB0
PCINT1PB1
PCINT2PB2
PCINT3PB3
PCINT4PB4
PCINT5PB5
PCINT6PB6
PCINT7PB7
PCINT8PC0
PCINT9PC1
PCINT10PC2
PCINT11PC3
PCINT12PC4
PCINT13PC5
PCINT14PC6
PCINT16PD0
PCINT17PD1
PCINT18PD2
PCINT19PD3
PCINT20PD4
PCINT21PD5
PCINT22PD6
PCINT23PD7

Тактирование — кварцевый генератор, вход и выход тактового сигнала

БлокСигналЛиния порта
CPUCLKOPB0
XTAL1PB6
XTAL2PB7

Таблица выводов

Номера выводов в каждом корпусе и функции линий. Обычный режим порта — вход, выход, вход с подтяжкой — есть у каждой линии ввода-вывода, в таблице перечислены только альтернативные функции. Функции сверены с даташитом.

TQFP32, VQFN32ИмяТипФункции
1PD3ввод-выводPCINT19, OC2B, INT1
2PD4ввод-выводPCINT20, XCK, T0
3PE0ввод-выводACO
4VCCпитание—
5, 21GNDпитание—
6PE1ввод-вывод—
7PB6ввод-выводPCINT6, XTAL1, TOSC1
8PB7ввод-выводPCINT7, XTAL2, TOSC2
9PD5ввод-выводPCINT21, OC0B, T1
10PD6ввод-выводPCINT22, OC0A, AIN0
11PD7ввод-выводPCINT23, AIN1
12PB0ввод-выводPCINT0, CLKO, ICP1
13PB1ввод-выводPCINT1, OC1A
14PB2ввод-выводPCINT2, SS, OC1B
15PB3ввод-выводPCINT3, MOSI, OC2A
16PB4ввод-выводPCINT4, MISO
17PB5ввод-выводSCK, PCINT5
18AVCCпитание—
19PE2ввод-выводADC6
20AREFпитание—
22PE3ввод-выводADC7
23PC0ввод-выводADC0, PCINT8
24PC1ввод-выводADC1, PCINT9
25PC2ввод-выводADC2, PCINT10
26PC3ввод-выводADC3, PCINT11
27PC4ввод-выводADC4, SDA, PCINT12
28PC5ввод-выводADC5, SCL, PCINT13
29PC6ввод-выводRESET, PCINT14
30PD0ввод-выводRXD, PCINT16
31PD1ввод-выводTXD, PCINT17
32PD2ввод-выводINT0, PCINT18

Питание и служебные выводы

Выводы, которые не являются линиями порта. Номиналы блокировочных конденсаторов и фильтра питания АЦП — в разделе о питании даташита.

ИмяВыводыНазначение
VCCTQFP32: 4напряжение питания
GNDTQFP32: 5, 21общий провод
AVCCTQFP32: 18питание АЦП и части линий порта; подключают к VCC, даже если АЦП не используется, при работе АЦП — через фильтр нижних частот
AREFTQFP32: 20вход опорного напряжения АЦП

Исполнения

ATmega168PB, ATmega88PB и ATmega48PB — микроконтроллеры с общей распиновкой: в общих корпусах выводы расположены одинаково. Различия — в таблице. Частота и питание — классы скорости из заказных номеров: предельная частота и диапазон питания. Многие модели работают на предельной частоте не во всём диапазоне — зависимость показывает график Speed Grades в даташите. Сигнатура — три байта, по которым программатор узнаёт микроконтроллер, в последнем столбце — его обозначение для ключа -p программы avrdude.

МикроконтроллерФлешОЗУEEPROMЧастота и питаниеСигнатураavrdude
ATmega168PB16 КБ1 КБ512 байт20 МГц, 1,8–5,5 В1E 94 15m168pb
ATmega88PB8 КБ1 КБ512 байт20 МГц, 1,8–5,5 В1E 93 16m88pb
ATmega48PB4 КБ512 байт256 байт20 МГц, 1,8–5,5 В1E 92 10m48pb

Заказные номера

Номера для заказа из описания Microchip с корпусом, предельной частотой, диапазонами питания и рабочей температуры.

НомерКорпусЧастотаПитаниеТемпература
ATmega168PB-AUTQFP32до 20 МГц1,8–5,5 В−40…+85 °C
ATmega168PB-MUVQFN32до 20 МГц1,8–5,5 В−40…+85 °C
ATmega168PB-ANTQFP32до 20 МГц1,8–5,5 В−40…+105 °C
ATmega168PB-MNVQFN32до 20 МГц1,8–5,5 В−40…+105 °C
ATmega88PB-AUTQFP32до 20 МГц1,8–5,5 В−40…+85 °C
ATmega88PB-MUVQFN32до 20 МГц1,8–5,5 В−40…+85 °C
ATmega88PB-ANTQFP32до 20 МГц1,8–5,5 В−40…+105 °C
ATmega88PB-MNVQFN32до 20 МГц1,8–5,5 В−40…+105 °C
ATmega48PB-AUTQFP32до 20 МГц1,8–5,5 В−40…+85 °C
ATmega48PB-MUVQFN32до 20 МГц1,8–5,5 В−40…+85 °C
ATmega48PB-ANTQFP32до 20 МГц1,8–5,5 В−40…+105 °C
ATmega48PB-MNVQFN32до 20 МГц1,8–5,5 В−40…+105 °C

Фьюзы с завода

Значения фьюзов, с которыми микроконтроллер приходит с завода, и источник тактового сигнала, который они выбирают. В скобках — имя байта в avrdude. Расшифровку каждого бита, другие режимы и готовую команду avrdude даёт калькулятор фьюзов AVR.

МикроконтроллерLOW (lfuse)HIGH (hfuse)EXTENDED (efuse)ТактированиеКалькулятор
ATmega168PB0x620xDF0xF9Внутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГцоткрыть
ATmega88PB0x620xDF0xF9Внутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГцоткрыть
ATmega48PB0x620xDF0xFFВнутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГцоткрыть

Векторы прерываний

Таблица векторов ATmega168PB: номер, как в даташите (сброс — первый), имя вектора по описанию Microchip и источник прерывания. Обработчик в avr-gcc объявляют макросом ISR() с именем вектора из avr/io.h — обычно это имя из таблицы с суффиксом _vect, например ISR(INT0_vect).

№ВекторИсточник
1RESETсброс: включение питания, вывод RESET, BOD, сторожевой таймер
2INT0внешнее прерывание INT0
3INT1внешнее прерывание INT1
4PCINT0изменение уровня на выводах группы PCINT0
5PCINT1изменение уровня на выводах группы PCINT1
6PCINT2изменение уровня на выводах группы PCINT2
7WDTсторожевой таймер
8TIMER2_COMPAтаймер 2: совпадение с OCR2A
9TIMER2_COMPBтаймер 2: совпадение с OCR2B
10TIMER2_OVFтаймер 2: переполнение
11TIMER1_CAPTтаймер 1: захват
12TIMER1_COMPAтаймер 1: совпадение с OCR1A
13TIMER1_COMPBтаймер 1: совпадение с OCR1B
14TIMER1_OVFтаймер 1: переполнение
15TIMER0_COMPAтаймер 0: совпадение с OCR0A
16TIMER0_COMPBтаймер 0: совпадение с OCR0B
17TIMER0_OVFтаймер 0: переполнение
18SPI_STCSPI: передача завершена
19USART_RXUSART: приём завершён
20USART_UDREUSART: регистр данных пуст
21USART_TXUSART: передача завершена
22ADCАЦП: преобразование завершено
23EE_READYEEPROM готова к записи
24ANALOG_COMPаналоговый компаратор
25TWITWI (I²C)
26SPM_Readyготовность к записи флеш-памяти (SPM)
27USART_STARTUSART Start Edge Interrupt

Совместимые по выводам

Микроконтроллеры, у которых в том же корпусе на тех же местах стоят те же выводы. Распиновка совпадает полностью, но периферия, память, регистры и фьюзы могут отличаться: перед заменой сверьте даташиты.

Частые вопросы

Чем отличаются ATmega168PB, ATmega88PB и ATmega48PB?

Объём памяти: ATmega168PB — 16 КБ флеш, 1 КБ ОЗУ, 512 байт EEPROM; ATmega88PB — 8 КБ флеш, 1 КБ ОЗУ, 512 байт EEPROM; ATmega48PB — 4 КБ флеш, 512 байт ОЗУ, 256 байт EEPROM. Сигнатуры разные: avrdude сверяет сигнатуру с типом, указанным ключом -p, и не станет прошивать другой микроконтроллер без ключа -F. В общих корпусах расположение выводов и их функции одинаковые.

Какие фьюзы у ATmega168PB с завода?

LOW 0x62, HIGH 0xDF, EXTENDED 0xF9 — тактирование: внутренний RC-генератор 8 МГц, делитель на 8 (CKDIV8) — 1 МГц. Расшифровку каждого бита и команду avrdude для своих значений даёт калькулятор фьюзов AVR.

Сколько линий ввода-вывода у ATmega168PB?

27 линий: PB0–PB7, PC0–PC6, PD0–PD7, PE0–PE3. У 26 из них есть альтернативные функции периферии — они перечислены в таблице выводов.

Как прошить ATmega168PB?

Через ISP-программатор: MOSI — PB3 (вывод 15 в TQFP32), MISO — PB4 (вывод 16 в TQFP32), SCK — PB5 (вывод 17 в TQFP32), RESET — PC6 (вывод 29 в TQFP32), плюс питание и общий провод. В avrdude микроконтроллер выбирается ключом -p m168pb. Другие интерфейсы ATmega168PB: HVPP — высоковольтное параллельное программирование, debugWIRE — отладка по выводу RESET.

В каких корпусах выпускается ATmega168PB?

TQFP32 и VQFN32. Распиновка у них одинаковая. Полный список заказных номеров с диапазонами температуры и питания — в разделе «Заказные номера».

Источники

Корпуса, выводы, память, заказные номера, фьюзы, сигнатуры и векторы прерываний — из файлов описания устройств (ATDF) в паках Microchip ATmega_DFP 3.6.299 от 22 января 2026 г., лицензия Apache 2.0. Данные преобразованы в таблицы и схемы корпусов; тексты и рисунки — GAW. Лицензии и источники данных.

Функции и расположение выводов сверены с даташитом ATmega48PB/88PB/168PB (DS40001909B).