Распиновка ATmega328 — первое, что нужно проверить, когда скетч залит, а схема молчит: чаще всего проблема оказывается в перепутанных выводах порта D или в отсутствии подтяжки линии RESET. Этот микроконтроллер в корпусе DIP-28 лежит в основе популярной платы Arduino Uno, и знание назначения каждого из 28 выводов избавляет от типичных ошибок при сборке схем на макетке.
В статье разберём полную карту выводов ATmega328P, функции портов B, C и D, альтернативные режимы пинов — от ШИМ до аппаратных интерфейсов SPI и I2C, а также типовые ошибки подключения питания и сброса.
Общая структура выводов ATmega328
Микроконтроллер выпускается в нескольких корпусах, но чаще всего в DIY-проектах встречается DIP-28 — выводной корпус с 28 ножками, удобный для макетных плат. Выводы сгруппированы в три порта ввода-вывода: Port B (PB0–PB7), Port C (PC0–PC6) и Port D (PD0–PD7). Каждый пин может работать как цифровой вход или выход, а часть выводов имеет альтернативные функции.
Отдельно выделены служебные линии: питание VCC и GND, аналоговое питание AVCC, опорное напряжение АЦП AREF, вход сброса RESET и выводы для подключения кварцевого резонатора XTAL1/XTAL2. Нумерация ножек идёт против часовой стрелки от ключа (выемки) на корпусе.
💡ATmega328 в корпусе DIP-28 имеет 23 программируемых линии ввода-вывода, объединённых в порты B, C и D, плюс служебные выводы питания, сброса и тактирования.