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

ATmega1284 и ATmega1284P

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

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

Ядро
AVR, 8 бит
Флеш-память
128 КБ
ОЗУ
16 КБ
EEPROM
4 КБ
Частота
до 20 МГц
Питание
1,8–5,5 В
Температура
−40…+85 °C
Линии ввода-вывода
32
Корпуса
PDIP40, TQFP44, QFN44
Программирование
ISP, HVPP, JTAG

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

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

Распиновка ATmega1284, ATmega1284P в корпусе PDIP40, вид сверхуATmega1284ATmega1284PPDIP40, вид сверхуPB0 — вывод 1: PCINT8, XCK0, T01PB0PB1 — вывод 2: PCINT9, CLKO, T12PB1PB2 — вывод 3: PCINT10, INT2, AIN03PB2PB3 — вывод 4: PCINT11, OC0A, AIN14PB3PB4 — вывод 5: PCINT12, OC0B, SS5PB4PB5 — вывод 6: PCINT13, ICP3, MOSI6PB5PB6 — вывод 7: PCINT14, OC3A, MISO7PB6PB7 — вывод 8: PCINT15, OC3B, SCK8PB7RESET — вывод 99RESETVCC — вывод 1010VCCGND — вывод 1111GNDXTAL2 — вывод 12: XTAL212XTAL2XTAL1 — вывод 13: XTAL113XTAL1PD0 — вывод 14: RXD0, PCINT24, T314PD0PD1 — вывод 15: PCINT25, TXD015PD1PD2 — вывод 16: PCINT26, RXD1, INT016PD2PD3 — вывод 17: PCINT27, TXD1, INT117PD3PD4 — вывод 18: PCINT28, XCK1, OC1B18PD4PD5 — вывод 19: PCINT29, OC1A19PD5PD6 — вывод 20: PCINT30, OC2B, ICP120PD6PD7 — вывод 21: OC2A, PCINT3121PD7PC0 — вывод 22: SCL, PCINT1622PC0PC1 — вывод 23: SDA, PCINT1723PC1PC2 — вывод 24: TCK, PCINT1824PC2PC3 — вывод 25: TMS, PCINT1925PC3PC4 — вывод 26: TDO, PCINT2026PC4PC5 — вывод 27: TDI, PCINT2127PC5PC6 — вывод 28: TOSC1, PCINT2228PC6PC7 — вывод 29: TOSC2, PCINT2329PC7AVCC — вывод 3030AVCCGND — вывод 3131GNDAREF — вывод 3232AREFPA7 — вывод 33: ADC7, PCINT733PA7PA6 — вывод 34: ADC6, PCINT634PA6PA5 — вывод 35: ADC5, PCINT535PA5PA4 — вывод 36: ADC4, PCINT436PA4PA3 — вывод 37: ADC3, PCINT337PA3PA2 — вывод 38: ADC2, PCINT238PA2PA1 — вывод 39: ADC1, PCINT139PA1PA0 — вывод 40: ADC0, PCINT040PA0
PDIP40
Распиновка ATmega1284, ATmega1284P в корпусе TQFP44, QFN44, вид сверхуATmega1284ATmega1284PTQFP44, QFN44, вид сверхуPB5 — вывод 1: PCINT13, ICP3, MOSI1PB5PB6 — вывод 2: PCINT14, OC3A, MISO2PB6PB7 — вывод 3: PCINT15, OC3B, SCK3PB7RESET — вывод 44RESETVCC — вывод 55VCCGND — вывод 66GNDXTAL2 — вывод 7: XTAL27XTAL2XTAL1 — вывод 8: XTAL18XTAL1PD0 — вывод 9: RXD0, PCINT24, T39PD0PD1 — вывод 10: PCINT25, TXD010PD1PD2 — вывод 11: PCINT26, RXD1, INT011PD2PD3 — вывод 12: PCINT27, TXD1, INT112PD3PD4 — вывод 13: PCINT28, XCK1, OC1B13PD4PD5 — вывод 14: PCINT29, OC1A14PD5PD6 — вывод 15: PCINT30, OC2B, ICP115PD6PD7 — вывод 16: OC2A, PCINT3116PD7VCC — вывод 1717VCCGND — вывод 1818GNDPC0 — вывод 19: SCL, PCINT1619PC0PC1 — вывод 20: SDA, PCINT1720PC1PC2 — вывод 21: TCK, PCINT1821PC2PC3 — вывод 22: TMS, PCINT1922PC3PC4 — вывод 23: TDO, PCINT2023PC4PC5 — вывод 24: TDI, PCINT2124PC5PC6 — вывод 25: TOSC1, PCINT2225PC6PC7 — вывод 26: TOSC2, PCINT2326PC7AVCC — вывод 2727AVCCGND — вывод 2828GNDAREF — вывод 2929AREFPA7 — вывод 30: ADC7, PCINT730PA7PA6 — вывод 31: ADC6, PCINT631PA6PA5 — вывод 32: ADC5, PCINT532PA5PA4 — вывод 33: ADC4, PCINT433PA4PA3 — вывод 34: ADC3, PCINT334PA3PA2 — вывод 35: ADC2, PCINT235PA2PA1 — вывод 36: ADC1, PCINT136PA1PA0 — вывод 37: ADC0, PCINT037PA0VCC — вывод 3838VCCGND — вывод 3939GNDPB0 — вывод 40: PCINT8, XCK0, T040PB0PB1 — вывод 41: PCINT9, CLKO, T141PB1PB2 — вывод 42: PCINT10, INT2, AIN042PB2PB3 — вывод 43: PCINT11, OC0A, AIN143PB3PB4 — вывод 44: PCINT12, OC0B, SS44PB4
TQFP44 и QFN44
  • ввод-вывод
  • питание и земля
  • сброс и выбор загрузки
  • не подключён
  • выбранная периферия

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

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

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

БлокСигналЛиния порта
USART0RXD0PD0
TXD0PD1
XCK0PB0
USART1RXD1PD2
TXD1PD3
XCK1PD4

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

БлокСигналЛиния порта
SPIMISOPB6
MOSIPB5
SCKPB7
SSPB4

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

БлокСигналЛиния порта
TWISCLPC0
SDAPC1

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

БлокСигналЛиния порта
TC0OC0APB3
OC0BPB4
T0PB0
TC1ICP1PD6
OC1APD5
OC1BPD4
T1PB1
TC2OC2APD7
OC2BPD6
TOSC1PC6
TOSC2PC7
TC3ICP3PB5
OC3APB6
OC3BPB7
T3PD0

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

БлокСигналЛиния порта
ADCADC0PA0
ADC1PA1
ADC2PA2
ADC3PA3
ADC4PA4
ADC5PA5
ADC6PA6
ADC7PA7

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

БлокСигналЛиния порта
ACAIN0PB2
AIN1PB3

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

БлокСигналЛиния порта
EXINTINT0PD2
INT1PD3
INT2PB2
PCINT0PA0
PCINT1PA1
PCINT2PA2
PCINT3PA3
PCINT4PA4
PCINT5PA5
PCINT6PA6
PCINT7PA7
PCINT8PB0
PCINT9PB1
PCINT10PB2
PCINT11PB3
PCINT12PB4
PCINT13PB5
PCINT14PB6
PCINT15PB7
PCINT16PC0
PCINT17PC1
PCINT18PC2
PCINT19PC3
PCINT20PC4
PCINT21PC5
PCINT22PC6
PCINT23PC7
PCINT24PD0
PCINT25PD1
PCINT26PD2
PCINT27PD3
PCINT28PD4
PCINT29PD5
PCINT30PD6
PCINT31PD7

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

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

JTAG — отладка и программирование по JTAG

БлокСигналЛиния порта
JTAGTCKPC2
TDIPC5
TDOPC4
TMSPC3

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

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

PDIP40TQFP44, QFN44ИмяТипФункции
140PB0ввод-выводPCINT8, XCK0, T0
241PB1ввод-выводPCINT9, CLKO, T1
342PB2ввод-выводPCINT10, INT2, AIN0
443PB3ввод-выводPCINT11, OC0A, AIN1
544PB4ввод-выводPCINT12, OC0B, SS
61PB5ввод-выводPCINT13, ICP3, MOSI
72PB6ввод-выводPCINT14, OC3A, MISO
83PB7ввод-выводPCINT15, OC3B, SCK
94RESETсброс—
105, 17, 38VCCпитание—
11, 316, 18, 28, 39GNDпитание—
127XTAL2служебныйXTAL2
138XTAL1служебныйXTAL1
149PD0ввод-выводRXD0, PCINT24, T3
1510PD1ввод-выводPCINT25, TXD0
1611PD2ввод-выводPCINT26, RXD1, INT0
1712PD3ввод-выводPCINT27, TXD1, INT1
1813PD4ввод-выводPCINT28, XCK1, OC1B
1914PD5ввод-выводPCINT29, OC1A
2015PD6ввод-выводPCINT30, OC2B, ICP1
2116PD7ввод-выводOC2A, PCINT31
2219PC0ввод-выводSCL, PCINT16
2320PC1ввод-выводSDA, PCINT17
2421PC2ввод-выводTCK, PCINT18
2522PC3ввод-выводTMS, PCINT19
2623PC4ввод-выводTDO, PCINT20
2724PC5ввод-выводTDI, PCINT21
2825PC6ввод-выводTOSC1, PCINT22
2926PC7ввод-выводTOSC2, PCINT23
3027AVCCпитание—
3229AREFпитание—
3330PA7ввод-выводADC7, PCINT7
3431PA6ввод-выводADC6, PCINT6
3532PA5ввод-выводADC5, PCINT5
3633PA4ввод-выводADC4, PCINT4
3734PA3ввод-выводADC3, PCINT3
3835PA2ввод-выводADC2, PCINT2
3936PA1ввод-выводADC1, PCINT1
4037PA0ввод-выводADC0, PCINT0

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

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

ИмяВыводыНазначение
RESETPDIP40: 9; TQFP44: 4вход сброса, активный уровень — низкий
VCCPDIP40: 10; TQFP44: 5, 17, 38напряжение питания
GNDPDIP40: 11, 31; TQFP44: 6, 18, 28, 39общий провод
XTAL2PDIP40: 12; TQFP44: 7выход генератора для кварца
XTAL1PDIP40: 13; TQFP44: 8вход генератора: кварц или внешний тактовый сигнал
AVCCPDIP40: 30; TQFP44: 27питание АЦП и части линий порта; подключают к VCC, даже если АЦП не используется, при работе АЦП — через фильтр нижних частот
AREFPDIP40: 32; TQFP44: 29вход опорного напряжения АЦП

Исполнения

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

МикроконтроллерФлешОЗУEEPROMЧастота и питаниеСигнатураavrdude
ATmega1284128 КБ16 КБ4 КБ20 МГц, 1,8–5,5 В1E 97 06m1284
ATmega1284P128 КБ16 КБ4 КБ20 МГц, 1,8–5,5 В1E 97 05m1284p

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

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

НомерКорпусЧастотаПитаниеТемпература
ATmega1284-AUTQFP44до 20 МГц1,8–5,5 В−40…+85 °C
ATmega1284-PUPDIP40до 20 МГц1,8–5,5 В−40…+85 °C
ATmega1284-MUQFN44до 20 МГц1,8–5,5 В−40…+85 °C
ATmega1284P-AUTQFP44до 20 МГц1,8–5,5 В−40…+85 °C
ATmega1284P-PUPDIP40до 20 МГц1,8–5,5 В−40…+85 °C
ATmega1284P-MUQFN44до 20 МГц1,8–5,5 В−40…+85 °C
ATmega1284P-ANTQFP44до 20 МГц1,8–5,5 В−40…+85 °C
ATmega1284P-PNPDIP40до 20 МГц1,8–5,5 В−40…+85 °C
ATmega1284P-MNQFN44до 20 МГц1,8–5,5 В−40…+85 °C

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

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

МикроконтроллерLOW (lfuse)HIGH (hfuse)EXTENDED (efuse)ТактированиеКалькулятор
ATmega12840x620x990xFFВнутренний RC-генератор, делитель на 8 (CKDIV8)открыть
ATmega1284P0x620x990xFFВнутренний RC-генератор, делитель на 8 (CKDIV8)открыть

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

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

№ВекторИсточник
1RESETсброс: включение питания, вывод RESET, BOD, сторожевой таймер
2INT0внешнее прерывание INT0
3INT1внешнее прерывание INT1
4INT2внешнее прерывание INT2
5PCINT0изменение уровня на выводах группы PCINT0
6PCINT1изменение уровня на выводах группы PCINT1
7PCINT2изменение уровня на выводах группы PCINT2
8PCINT3изменение уровня на выводах группы PCINT3
9WDTсторожевой таймер
10TIMER2_COMPAтаймер 2: совпадение с OCR2A
11TIMER2_COMPBтаймер 2: совпадение с OCR2B
12TIMER2_OVFтаймер 2: переполнение
13TIMER1_CAPTтаймер 1: захват
14TIMER1_COMPAтаймер 1: совпадение с OCR1A
15TIMER1_COMPBтаймер 1: совпадение с OCR1B
16TIMER1_OVFтаймер 1: переполнение
17TIMER0_COMPAтаймер 0: совпадение с OCR0A
18TIMER0_COMPBтаймер 0: совпадение с OCR0B
19TIMER0_OVFтаймер 0: переполнение
20SPI_STCSPI: передача завершена
21USART0_RXUSART0: приём завершён
22USART0_UDREUSART0: регистр данных пуст
23USART0_TXUSART0: передача завершена
24ANALOG_COMPаналоговый компаратор
25ADCАЦП: преобразование завершено
26EE_READYEEPROM готова к записи
27TWITWI (I²C)
28SPM_READYготовность к записи флеш-памяти (SPM)
29USART1_RXUSART1: приём завершён
30USART1_UDREUSART1: регистр данных пуст
31USART1_TXUSART1: передача завершена
32TIMER3_CAPTтаймер 3: захват
33TIMER3_COMPAтаймер 3: совпадение с OCR3A
34TIMER3_COMPBтаймер 3: совпадение с OCR3B
35TIMER3_OVFтаймер 3: переполнение

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

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

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

Чем отличаются ATmega1284 и ATmega1284P?

Память одинаковая: 128 КБ флеш, 16 КБ ОЗУ и 4 КБ EEPROM. Сигнатуры разные: avrdude сверяет сигнатуру с типом, указанным ключом -p, и не станет прошивать другой микроконтроллер без ключа -F. В общих корпусах расположение выводов и их функции одинаковые.

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

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

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

32 линии: PA0–PA7, PB0–PB7, PC0–PC7, PD0–PD7. У каждой есть альтернативные функции периферии — они перечислены в таблице выводов.

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

Через ISP-программатор: MOSI — PB5 (вывод 6 в PDIP40), MISO — PB6 (вывод 7 в PDIP40), SCK — PB7 (вывод 8 в PDIP40), RESET — вывод 9 в PDIP40, плюс питание и общий провод. В avrdude микроконтроллер выбирается ключом -p m1284. Другие интерфейсы ATmega1284: HVPP — высоковольтное параллельное программирование, JTAG — программирование и отладка.

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

PDIP40; TQFP44 и QFN44. Через точку с запятой — корпуса с разной распиновкой, внутри группы она одинаковая. Полный список заказных номеров с диапазонами температуры и питания — в разделе «Заказные номера».

Источники

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

Функции и расположение выводов сверены с даташитом ATmega164A/PA/324A/PA/644A/PA/1284/P (DS40002070B).