Atmega328 datasheet: портал и журнал для разработчиков электроники

Содержание

ATmega328 — Микроконтроллер 8-Бит, 32 кБ флеш памяти — DataSheet

ATmega48A/PA/88A/PA/168A/PA/328/P

 

Особенности

 

  • Высокая производительность, низкое энергопотребление
  • Улучшенная RISC-Архитектура

— 131 мощная команда — большинство которых выполняется за один такт ЦПУ

— 32 x 8 регистра общего назначения

— Полностью статическая операция

— Производительность до 20 МИЛЛИОНОВ КОМАНД В СЕКУНДУ на 20 МГЦ ЦПУ

— Внутрикристальный 2-цикловый множитель


  • Энергонезависимая память данных и программ

— 4/8/16/32 кБ внутрисистемной энергонезависимой ФЛЭШ-памяти программ

— 256/512/512/1 кБ EEPROM ПЗУ

— Количество циклов запись/стирание: 10,000 Flash/100,000 EEPROM

— Хранение данных: 20 лет при температуре 85 °C/100 лет при температуре 25 °C

— Дополнительный загрузочный раздел независимыми блокировочными битами

• В системе программирования внутренних загрузочных программ

• Истинность Read-While-Write операции

— Программная блокировка для обеспечения безопасности

  • Поддержка библиотеки Atmel® QTouch®

— Емкостные сенсорные кнопки, слайдеры и колеса прокрутки

— Технологии QTouch и QMatrix®

— До 64 сенсорных канала

  • Периферийные характеристики

— Два 8-битных Таймера/Счетчика с Отдельным Предделителем частоты и Режимом сравнения

— Один 16-битный Таймер/Счетчик с Отдельным Предделителем частоты и Режимом сравнения и Режимом захвата

— Счетчик реального времени с отдельным генератором

— Шесть ШИМ-каналов

— 8-канальный 10—разрядный АЦП в корпусах TQFP и QFN/MLF

• Измерение температуры

— 6-канальный 10—разрядный АЦП в корпусе PDIP

• Измерение температуры

— Программируемый последовательный интерфейс USART

— Последовательный интерфейс  SPI Master/Slave

— Байтно-ориентированный последовательный интерфейс (совместим с I2C Philips)

— Программируемый Сторожевой Таймер со встроенным Генератором

— Встроенный аналоговый компаратор

— Прерывание и пробуждение по изменению на выводах

  • Дополнительные характеристики микроконтроллера

— Схема сброса при подаче питания и программируемое обнаружение провалов по напряжению

— Внутренний калиброванный генератор

— Шесть режимов сна: холостой ход, снижение шумов АЦП, экономии энергии, выключение питания, режим ожидания и расширенный режим ожидания

  • Ввод/вывод и типы корпусов

— 23 программируемые линии ввода/вывода

— Корпус PDIP 28 выводов, корпус TQFP 32 вывода, корпус QFN/MLF с 28 и 32 выводами

  • Рабочее напряжение:

— от 1.8 до 5.5 В

  • Температурный диапазон:

-от -40°C до 85°C

  • Производительность:

— 0 — 4 МГц при 1.8 — 5.5 В, 0 — 10 МГц  при 2.7 — 5.5 В, 0 — 20 МГц при 4.5 — 5.5 В

  • Потребляемый ток при 1 МГц, 1.8 В, 25 °C

— Активный режим: 0.2 мА

— Режим отключения: 0.1 мкА

— Режим энергосбережения: 0.75 мкА (Включая 32 кГц RTC)

Купить ATmega328 на Алиэкспресс

Скачать полную техническую документацию к ATmega328

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

ATMega328 pdf 8bit микроконтроллер с 32Kb Flash datasheet

Микроконтроллер ATMega328 содержит аж 32кБайта встроенной flash памяти, что по моим меркам ну просто оооочень много для разных поделок, разве что для файловой системы FAT или PetitFATFs при рабте с SD/MMC картами памяти.
Тем не менее у микроконтроллера так же достаточно большой объем оперативной памяти 2кБайта
Производительность микроконтроллера составляет до 20 миллионов итераций в секунду (MIPS).
К питанию микроконтроллер ATMega328 не притязателен, питается от 1,8В до 5,5В.

Тип корпуса DIP28, TQFP32, MLF28 или MLF28.

От себя:
Не смотря на то, что везде говорят о сложности приобретения микроконтроллера ATMega328 в виду его дефицита хочу сказать, что без особых проблем купил в Киеве в магазине. Правда цена немного огорчила, да и корпус только TQFP32 был.

Сложности прошивки ATMega328:
Так исторически сложилось что ATMega328 очень широко применяется в платформе Arduino.
Для Arduino как известно существует специальная программа для загрузки прошивки в микроконтроллер, называется она Bootloader. Загрузка программ для прошитой ATmega328 бутлоадером осуществляется через модуль UART. То есть никаких программаторов не нужно.
При желании прошить ATmega328 я столкнулся с проблемой, что старая версия AVR Studio 4 не работает с этим микроконтроллером, его просто нет в списке. Программа Uniprof тоже не может распознать ATmega328, так и пишет ошибку: «Выберите микроконтроллер». Так как размер страниц памяти у ATmega8 и ATmega328 разные прошить одну прошивкой вместо другой нереально.

Единственное решение которое дало возможность прошить мк: USB программатор от Prottos (AVR 910) в связке с программой AVR Prog. Время прошивки микроконтроллера составилов — 27 минут!

Скачать ATmega328 datasheet

Про Ардуино и не только: Обвязка ATmega328P

Типовая схема включения любого микроконтроллера содержит ряд компонентов и цепей, обеспечивающих его нормальное функционирование. Совокупность этих компонентов называется обвязкой микроконтроллера. Данная публикация посвящена функциям обвязки и ее особенностям в случае использования AVR микроконтроллера ATmega328P.

Распиновка ATmega328P

Прежде чем приступить к рассмотрению обвязки ATmega328P считаю нужным привести описание его выводов. Когда мы работаем с платами Ардуино, то не задумываемся о соответствии физических выводов микроконтроллера используемым в IDE Arduino обозначениям. Когда же речь идет об отдельном микроконтроллере, то под рукой всегда нужно иметь его распиновку. Поэтому советую сохранить ее: Есть еще один интересный прием — это распечатать номера выводов и наклеить получившуюся шпаргалку на микроконтроллер, как показано на следующем фото. Мелковато, но вполне читабельно. PDF файл для печати можно скачать по этой ссылке.

Подключение питания

Напряжение питания подается на выводы микроконтроллера VCC и GND и не должно превышать значение, указанное в технической документации. Для ATmega328P верхняя граница рекомендуемого напряжения питания составляет 5,5В, абсолютный максимум — 6В, продолжительная работа при таком напряжении может вывести микроконтроллер из строя.

Для подавления высокочастотных помех в цепи питания рекомендуется устанавливать керамический конденсатор емкостью 0.1мкФ между VCC и GND. Причем располагаться он должен как можно ближе к питающим выводам микроконтроллера для минимизации паразитной индуктивности и сопротивления подводящих проводников.

ATmega328P имеет двойное питание: выводы VCC и GND (выводы 7 и 8) используются для питания цифровых схем микроконтроллера; AVCC и GND (выводы 20 и 22) — для питания аналого-цифрового преобразователя. Даже если вы не собираетесь использовать АЦП, к нему должно быть подведено питание: соедините выводы VCC с AVCC, а цифровую землю с аналоговой. Если же вы планируете использовать АЦП, то в цепь питания следует добавить фильтр для уменьшения помех. Так в даташите рекомендуется соединить AVCC c VCC через индуктивность 10мкГн и с GND через емкость 0.1мкФ. Однако данная рекомендация не выполняется даже в платах Ардуино и вывод AVCC на них просто соединен с VCC.

Рекомендуемая схема подключения питания ATmega328P
при использовании встроенного АЦП


Вывод Reset и кнопка сброса

Вывод Reset используется для генерации сигнала сброса микроконтроллера. Во время сброса все регистры ввода-вывода принимают свои начальные значения и выполняется команда, расположенная в векторе сброса (по нулевому адресу). Как правило, это переход на адрес начала программы. Но, если пользовательская программа не использует прерывания, то она может располагаться сразу с нулевого адреса.


Схема начального сброса

Обвязка для предыдущих моделей микроконтроллеров обязательно включала в себя схему начального сброса, состоящую из резистора и конденсатора, которая обеспечивала постепенное нарастание сигнала на входе Reset при включении питания. Таким образом осуществлялся начальный сброс микроконтроллера. Сейчас же схема начального сброса (Power-on-Reset) присутствует, пожалуй, в каждом современном микроконтроллере. Внешняя цепь может потребоваться при наличии особых требований к длительности импульса сброса (в случае медленного нарастания напряжения питания).
Схема начального сброса микроконтроллера
Номиналы резистора и конденсатора могут отличаться от приведенных на схеме значений и зависят от требуемой длительности импульса сброса.

Обвязка Reset и защита от непреднамеренного сброса

Еще один момент, требующий внимания — это стабилизация сигнала высокого уровня на входе Reset с целью предотвращения непреднамеренного сброса микроконтроллера. В публикации о подтягивающих резисторах я уже рассказывал о проблемах, возникающих, когда цифровой вход не подсоединен ни к питанию, ни к земле: электромагнитные наводки становятся причиной изменения уровня сигнала на этом входе. При его опросе микроконтроллер будет случайным образом фиксировать то высокий, то низкий уровень сигнала. В случае со входом Reset это приведет к непреднамеренному сбросу. Данная проблема решается добавлением в схему подтягивающего резистора, который гарантирует сигнал нужного уровня на входе Reset (в случае с AVR — высокого уровня).

Востребованность подтягивающих резисторов как для входа Reset, так и для обычных линий ввода-вывода, привела к добавлению их в микроконтроллеры. В ATmega328P имеется собственный подтягивающий резистор на входе Reset номиналом 30-60кОм (конкретное значение из указанного диапазона устанавливается на заводе-изготовителе при калибровке). И тут часто возникает вопрос: нужен ли внешний подтягивающий резистор на входе Reset или можно обойтись внутренним. Всё зависит от конкретной ситуации и условий, в которых будет работать микроконтроллер: для любительских, «бытовых» проектов, возможно, будет достаточно встроенного резистора; для устройств, предназначенных для работы в промышленности, в неблагоприятных условиях номинал встроенного резистора может оказаться недостаточен. Это, что называется, слабая подтяжка, в таких случаях цифровой вход подтягивают внешним резистором номиналом в несколько кОм.

Зачастую одного только подтягивающего резистора оказывается недостаточно и для дополнительной защиты от шума в схему добавляется конденсатор. Вход Reset AVR микроконтроллеров имеет собственный фильтр нижних частот. Внешний конденсатор, установленный между выводом Reset и землей, является дополнительной защитой. Однако, его нельзя добавлять в схему, если предполагается внутрисхемное программирование с помощью PDI или DebugWIRE.

В отличие от выводов общего назначения, имеющих защитные диоды и к земле, и к питанию, для входа Reset предусмотрен единственный диод — на землю. Это объясняется тем, что Reset используется для высоковольтного программирования, когда на него подается сигнал 12В. Поэтому если микроконтроллер должен работать в условиях помех от электростатических разрядов (в англоязычной технической документации используется термин ESD — Electrostatic Discharge) и если не планируется использовать высоковольтный программатор, рекомендуется добавить в схему внешний диод между выводом Reset и линией питания.

С учетом всего сказанного рекомендуемая схема обвязки вывода Reset выглядит следующим образом:


Обвязка вывода Reset для защиты от помех

Ну и в конце концов можно обойтись совсем без внешних компонентов, если просто соединить Reset с линией питания. Правда в этом случае вы уже не сможете добавить кнопку сброса и потеряете возможность внутрисхемного программирования.

Кнопка сброса

Если для защиты от случайного сброса микроконтроллера вход Reset подтягивается к питанию (встроенным резистором или внешним для более сильной подтяжки), то для сброса при нажатии на кнопку он должен замыкаться на землю. Нет ничего проще — добавляем кнопку между входом Reset и землей. Если обвязка вывода Reset содержит конденсатор как в вышеприведенной схеме, то для предотвращения его закорачивания через кнопку (что может привести к возникновению помех) разработчики из Microchip рекомендуют добавлять в схему резистор порядка 330Ом:
Подключение кнопки сброса к микроконтроллеру

Подключение резонатора

Кварцевый или керамический резонатор обеспечивают работу встроенного тактового генератора. Резонатор подключается к выводам XTAL1, XTAL2 микроконтроллера. Для его стабильной работы в схему добавляются керамические конденсаторы, номинал которых подбирается в соответствии с рекомендациями производителя резонатора или микроконтроллера. Так в даташите на ATmega328P для резонаторов на 400кГц и выше рекомендуется использовать конденсаторы номиналом 12..22пФ:
Подключение резонатора к микроконтроллеру
При использовании резонатора на 32.768кГц можно задействовать внутренние конденсаторы, подключив их к XTAL1 и XTAL2 установкой фьюзов CKSEL.

При тактировании от внутреннего RC-генератора необходимость во внешнем резонаторе и согласующих конденсаторах отпадает.

Заключение

Итак, большинство компонентов, составляющих типовую обвязку, уже присутствуют в современных микроконтроллерах. Однако, их может оказаться недостаточно для стабильной работы в жестких условиях, в этом случае требуется принятие дополнительных мер. И здесь сложно предусмотреть все возможные ситуации и гарантировать успешную работу того или иного решения. Поэтому лучшая рекомендация — это всегда проверять работу схемы в реальных условиях.

Интересный документ по теме — рекомендации Microchip, которые необходимо соблюдать при проектировании оборудования с использованием микроконтроллеров AVR, ссылка: AN2519 AVR Microcontroller Hardware Design Considerations 

Самодельный Arduino из контроллера ATMEGA328P-PU

Платформа Arduino стала нынче практически мейнстримом.
В этой статье напишу о том, как собрать минимальную платформу на контроллере Amega 328P-PU, чтобы ее можно было программировать на платформе Arduino IDE.

Контроллер Atmega 328 от компании ATMEL является сердцем платформ Arduino UNO , Arduino Nano, Arduino Pro Mini и ряда других. Данные платы вместе с многочисленными «шилдами» и модулями удобны для создания прототипов, но довольно громоздки и избыточны для готовых устройств.

Конечное устройство можно собрать на макетной или печатной плате. Для этого приобретаем контроллеры Atmega. Я покупал наплощадке aliexpress.com.

Цена на момент покупки была $20 за 10 контроллеров, 10 панелек и 10 кварцевых резонаторов на 16МГц. (Сейчас цена стала немного дороже)

Ссылка на товар на сайте aliexpress.com

 

Буковка «P» в названии микросхемы означает низкое энергопотребление, а PU-корпус DIP28, который удобно паять обычным паяльником.


Контроллеры пришли, как их теперь готовить?

Yеобходимо установить загрузчик в наши контроллеры. Для этого используем плату Arduino Uno и купленный заранее очень дешевый программатор USBasp. Чтобы не мудрить с проводками, лучше сразу взять еще и такой переходник на 6-ти пиновый разъем ICSP.

Качаем и ставим драйвер программатора.

Описываем параметры микроконтроллера в файле c:\Program Files (x86)\Arduino\hardware\arduino\boards.txt

Для себя я сделал две конфигурации — внутренний кварц 8МГц с загрузчиком optiboot и отключенной проверкой на напряжение питания (чтобы можно было запитать микросхему вольт так от трех)

atmega328_8_33.name=Atmega328 (3.3V, 8 MHz internal)

atmega328_8_33.upload.protocol=arduino
atmega328_8_33.upload.maximum_size=30720
#atmega328_8_33.upload.speed=19200
atmega328_8_33.upload.speed=57600

atmega328_8_33.bootloader.low_fuses=0xC2
atmega328_8_33.bootloader.low_fuses=0xE2
atmega328_8_33.bootloader.high_fuses=0xDE
atmega328_8_33.bootloader.extended_fuses=0x07
atmega328_8_33.bootloader.path=optiboot
atmega328_8_33.bootloader.file=optiboot_atmega328.hex
atmega328_8_33.bootloader.unlock_bits=0x3F
atmega328_8_33.bootloader.lock_bits=0x0F

atmega328_8_33.build.mcu=atmega328p
atmega328_8_33.build.f_cpu=8000000L
atmega328_8_33.build.core=arduino
atmega328_8_33.build.variant=standard

и точная такая же с внешним кварцевым резонатором на 16МГц.

atmega328_16.name=Atmega328_16 (3.3V, 16 MHz external)

atmega328_16.upload.protocol=arduino
atmega328_16.upload.maximum_size=32256
atmega328_16.upload.speed=115200
atmega328_16.bootloader.low_fuses=0xff
atmega328_16.bootloader.high_fuses=0xde
atmega328_16.bootloader.extended_fuses=0x07
atmega328_16.bootloader.path=optiboot
atmega328_16.bootloader.file=optiboot_atmega328.hex
atmega328_16.bootloader.unlock_bits=0x3F
atmega328_16.bootloader.lock_bits=0x0F
atmega328_16.build.mcu=atmega328p
atmega328_16.build.f_cpu=16000000L
atmega328_16.build.core=arduino
atmega328_16.build.variant=standard

Аккуратно вынимаем из панельки Arduino контроллер и ставим туда наш.

Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату Atmega328 (3.3V, 8 MHz internal) или Atmega328_16 (3.3V, 16 MHz external) и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер,  в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.

В принципе, если вам не требуется низковольтное питание, можно не править фал board.txt, а пошить контроллер как Arduino Uno.

Дальнейшая работа с контроллером такая — либо шить его вставляя на плату Arduino Uno через стандартный USB порт этой платы. Прошив контроллер на работу с внутренним кварцем, можно сразу использовать его практически без всякой обвязки. Например, мигать светодиодом на 13-м порту, как на этой картинке.

Если же нужно постоянно использовать контроллер в своей плате, не переставляя его — то нужно собрать такую схему

и прошивать его через конвертер USB-RS232.

Контроллер с внешним кварцем работает быстрее и гораздо стабильнее.

Где это уже работает?
Контроллер управления вентилятором в ванной комнате

Контроллер управления светодиодной люстрой

А как же мозг не вскипел все это реализовывать?

Ну конечно же был помощник

Полезные ссылки к данной статье:

 

 

 

 

со своего сайта.

% PDF-1.6 % 664 0 объект > эндобдж xref 664 114 0000000016 00000 н. 0000003365 00000 н. 0000003500 00000 н. 0000003692 00000 н. 0000003719 00000 н. 0000003769 00000 н. 0000003805 00000 н. 0000004007 00000 н. 0000004086 00000 н. 0000004163 00000 п. 0000004242 00000 н. 0000004321 00000 п. 0000004400 00000 н. 0000004479 00000 н. 0000004558 00000 н. 0000004637 00000 н. 0000004716 00000 н. 0000004795 00000 н. 0000004874 00000 н. 0000004953 00000 п. 0000005032 00000 н. 0000005110 00000 н. 0000005188 00000 п. 0000005266 00000 н. 0000005344 00000 п. 0000005422 00000 н. 0000005500 00000 н. 0000005578 00000 н. 0000005656 00000 н. 0000005734 00000 п. 0000005812 00000 н. 0000005890 00000 н. 0000005968 00000 н. 0000006230 00000 н. 0000006400 00000 н. 0000006503 00000 н. 0000006605 00000 н. 0000007270 00000 н. 0000007881 00000 н. 0000008623 00000 п. 0000008795 00000 н. 0000009287 00000 н. 0000009857 00000 н. 0000010627 00000 п. 0000011601 00000 п. 0000012602 00000 п. 0000013574 00000 п. 0000013708 00000 п. 0000014032 00000 п. 0000014999 00000 н. 0000015403 00000 п. 0000016327 00000 п. 0000017173 00000 п. 0000021940 00000 п. 0000027286 00000 п. 0000031615 00000 п. 0000031847 00000 п. 0000032092 00000 п. 0000041887 00000 п. 0000042894 00000 п. 0000059708 00000 п. 0000059962 00000 н. 0000060511 00000 п. 0000060634 00000 п. 0000063787 00000 п. 0000063826 00000 п. 0000064316 00000 п. 0000064395 00000 п. 0000064453 00000 п. 0000064544 00000 п. 0000064717 00000 п. 0000064839 00000 п. 0000064961 00000 п. 0000065103 00000 п. 0000065256 00000 п. 0000065410 00000 п. 0000065583 00000 п. 0000065672 00000 п. 0000065763 00000 п. 0000065935 00000 п. 0000066039 00000 п. 0000066142 00000 п. 0000066282 00000 п. 0000066411 00000 п. 0000066534 00000 п. 0000066648 00000 н. 0000066795 00000 п. 0000066905 00000 п. 0000067126 00000 п. 0000067292 00000 п. 0000067430 00000 п. 0000067523 00000 п. 0000067686 00000 п. 0000067795 00000 п. 0000067903 00000 п. 0000068031 00000 п. 0000068151 00000 п. d!> 5 .mmUrNeJb6

ATMega328P Распиновка микроконтроллера, конфигурация контактов, характеристики и техническое описание

ATMEGA328P — это высокопроизводительный контроллер с низким энергопотреблением от Microchip. ATMEGA328P — 8-битный микроконтроллер на базе архитектуры AVR RISC. Это самый популярный из всех контроллеров AVR, поскольку он используется в платах ARDUINO.

Конфигурация контактов ATMega328

ATMEGA328P — это 28-контактный чип, как показано на схеме контактов выше.Многие выводы микросхемы здесь выполняют несколько функций. Мы опишем функции каждого вывода в таблице ниже.

Контактный №

Имя пина

Описание

Дополнительная функция

1

PC6 (СБРОС)

Pin6 PORTC

Вывод

по умолчанию используется как вывод сброса.PC6 может использоваться как вывод ввода / вывода, только если запрограммирован предохранитель RSTDISBL.

2

PD0 (RXD)

Pin0 PORTD

RXD (Контакт ввода данных для USART)

Интерфейс последовательной связи USART

[Может использоваться для программирования]

3

PD1 (TXD)

Контакт1 PORTD

TXD (вывод данных для USART)

Интерфейс последовательной связи USART

[Может использоваться для программирования]

INT2 (вход внешнего прерывания 2)

4

PD2 (INT0)

Контакт 2 порта PORTD

Внешний источник прерывания 0

5

PD3 (INT1 / OC2B)

Контакт 3 PORTD

Внешний источник прерывания 1

OC2B (ШИМ — выход таймера / счетчика2, выход сравнения B)

6

PD4 (XCK / T0)

Pin4 PORTD

T0 (Вход внешнего счетчика Timer0)

XCK (ввод / вывод внешних часов USART)

7

VCC

Подключен к положительному напряжению

8

ЗЕМЛЯ

Подключено к земле

9

PB6 (XTAL1 / TOSC1)

Pin6 PORTB

XTAL1 (вывод 1 генератора тактовой частоты или вход внешнего тактового сигнала)

TOSC1 (вывод 1 генератора таймера)

10

PB7 (XTAL2 / TOSC2)

Pin7 порта PORTB

XTAL2 (вывод 2 генератора тактовой частоты)

TOSC2 (вывод 2 генератора таймера)

11

PD5

(T1 / OC0B)

Контакт 5 PORTD

T1 (Вход внешнего счетчика Timer1)

OC0B (ШИМ — выход таймера / счетчика 0, выход сравнения B)

12

PD6 (AIN0 / OC0A)

Pin6 PORTD

AIN0 (положительный I / P аналогового компаратора)

OC0A (ШИМ — выход таймера / счетчика 0, выход сравнения A)

13

PD7 (AIN1)

Pin7 PORTD

AIN1 (отрицательный I / P аналогового компаратора)

14

PB0 (ICP1 / CLKO)

Pin0 порта PORTB

ICP1 (Вход захвата таймера / счетчика 1)

CLKO (разделенные системные часы.Разделенные системные часы могут выводиться на вывод PB0)

15

PB1 (OC1A)

Pin1 порта PORTB

OC1A (выход таймера / счетчика1, выход сравнения A)

16

PB2 (SS / OC1B)

Контакт 2 порта PORTB

SS (вход выбора ведомого SPI).На этом выводе низкий уровень, когда контроллер действует как ведомый.

[Последовательный периферийный интерфейс (SPI) для программирования]

OC1B (Выход таймера / счетчика1, выход сравнения B)

17

PB3 (MOSI / OC2A)

Контакт 3 PORTB

MOSI (главный выход, подчиненный вход).Когда контроллер действует как подчиненный, данные принимаются на этот вывод. [Последовательный периферийный интерфейс (SPI) для программирования]

OC2 (Выход таймера / счетчика 2, выход сравнения)

18

PB4 (MISO)

Pin4 порта PORTB

MISO (главный вход и выход подчиненного устройства). Когда контроллер действует как подчиненный, данные передаются этим контроллером мастеру через этот вывод.

[Последовательный периферийный интерфейс (SPI) для программирования]

19

PB5 (SCK)

Контакт 5 PORTB

SCK (последовательные часы шины SPI). Это часы, совместно используемые этим контроллером и другой системой для точной передачи данных.

[Последовательный периферийный интерфейс (SPI) для программирования]

20

AVCC

Питание для внутреннего преобразователя АЦП

21

AREF

Вывод аналогового опорного сигнала для АЦП

22

ЗЕМЛЯ

ЗЕМЛЯ

23

PC0 (АЦП0)

Pin0 PORTC

ADC0 (входной канал ADC 0)

24

ПК1 (АЦП1)

Контакт1 PORTC

АЦП1 (входной канал АЦП 1)

25

ПК2 (АЦП2)

Контакт 2 PORTC

АЦП2 (входной канал 2 АЦП)

26

PC3 (ADC3)

Контакт 3 PORTC

АЦП3 (входной канал АЦП 3)

27

PC4 (АЦП4 / SDA)

Pin4 PORTC

АЦП4 (входной канал АЦП 4)

SDA (линия ввода / вывода данных двухпроводной последовательной шины)

28

PC5 (ADC5 / SCL)

Контакт 5 PORTC

ADC5 (входной канал ADC 5)

SCL (Линия синхронизации двухпроводной последовательной шины)

Характеристики

ATMEGA328P — упрощенные функции

ЦП

8-битный AVR

Количество контактов

28

Рабочее напряжение (В)

+1.8 В К + 5,5 В

Количество программируемых линий ввода / вывода

23

Коммуникационный интерфейс

Главный / подчиненный последовательный интерфейс SPI (17,18,19 контактов) [Может использоваться для программирования этого контроллера]

Программируемый последовательный USART (2,3 PINS) [Может использоваться для программирования этого контроллера]

Двухпроводной последовательный интерфейс (27,28 контактов) [Может использоваться для подключения периферийных устройств, таких как сервоприводы, датчики и устройства памяти]

Интерфейс JTAG

Не доступен

Модуль АЦП

6 каналов, разрешение 10 бит АЦП

Модуль таймера

Два 8-битных счетчика с отдельным предделителем и режимом сравнения, один 16-битный счетчик с отдельным предделителем, режимом сравнения и режимом захвата.

Аналоговые компараторы

1 (12,13 PINS)

Модуль ЦАП

Нет

ШИМ каналов

6

Внешний осциллятор

0-4 МГц @ 1.От 8 В до 5,5 В

0-10 МГц при 2,7–5,5 В

0-20 МГц при 4,5–5,5 В

Внутренний осциллятор

Калиброванный внутренний осциллятор, 8 МГц

Тип памяти программ

Вспышка

Программная память или флэш-память

32 Кбайт [10000 циклов записи / стирания]

Частота процессора

1MIPS для 1 МГц

RAM

2 Кбайт внутренней SRAM

EEPROM

1 Кбайт EEPROM

Сторожевой таймер

Программируемый сторожевой таймер с отдельным встроенным генератором

Блокировка программы

Есть

Режимы энергосбережения

Шесть режимов [режим ожидания, шумоподавление АЦП, энергосбережение, отключение питания, режим ожидания и расширенный режим ожидания]

Рабочая температура

от -40 ° C до + 105 ° C (+105 — абсолютный максимум, -40 — абсолютный минимум)

Замены ATMEGA328P

АТМЕГА8

Альтернативы ATMEGA328P

ATMEGA16, ATMEGA32, ATMEGA8535

Где использовать ATMEGA328P

Несмотря на то, что у нас много контроллеров, ATMEGA328P наиболее популярен из-за своих возможностей и стоимости.Платы ARDUINO также разработаны на этом контроллере из-за его особенностей.

  • С программной памятью 32 Кбайт приложений ATMEGA328P очень много.
  • С различными режимами ЭНЕРГОСБЕРЕЖЕНИЯ он может работать на МОБИЛЬНЫХ ВСТРОЕННЫХ СИСТЕМАХ.
  • Со сторожевым таймером для сброса при ошибке его можно использовать в системах с минимальным вмешательством человека.
  • Благодаря усовершенствованной архитектуре RISC контроллер быстро выполняет программы.
  • Также с датчиком температуры в чипе контроллер может использоваться при экстремальных температурах.

Все эти функции в совокупности способствуют дальнейшему продвижению ATMEGA328P.

Как использовать ATMEGA328P

ATMEGA328 используется аналогично любому другому контроллеру. Все, что нужно сделать, это программировать. Контроллер просто выполняет предоставленную нами программу в любой момент. Без программирования контроллер просто остается на месте, ничего не делая.

Как было сказано, сначала нам нужно запрограммировать контроллер, и это делается путем записи соответствующего программного файла во флэш-память ATMEGA328P.После сброса этого программного кода контроллер выполняет этот код и дает соответствующий ответ.

Весь процесс с использованием ATMEGA328P выглядит следующим образом:

  1. Список функций, которые должны выполняться контроллером.
  2. Напишите функции на языке программирования в программах IDE.

Вы можете бесплатно скачать программу IDE на сайтах компании. Программа IDE для контроллеров AVR — ATMEL STUDIO. Ссылка на ATMEL STUDIO приведена ниже.

(обычно Atmel Studio 6.0 для Windows7 [http://atmel-studio.software.informer.com/6.0/],

Atmel Studio 7 для Windows10 [https://www.microchip.com/avr-support/atmel-studio-7])

  1. Программирование ATMEGA328P также можно выполнить в ARDUINO IDE.
  2. После написания программы скомпилируйте ее, чтобы исключить ошибки.
  3. Заставить среду IDE сгенерировать HEX-файл для написанной программы после компиляции.
  4. Этот файл HEX содержит машинный код, который должен быть записан во флэш-память контроллера.
  5. Выберите устройство программирования (обычно программатор SPI, предназначенный для контроллеров AVR), которое устанавливает связь между ПК и ATMEGA328P. Вы также можете запрограммировать ATMEGA328P, используя плату ARDUINO UNO.
  6. Запустите программное обеспечение программатора и выберите соответствующий шестнадцатеричный файл.
  7. Запишите шестнадцатеричный файл записанной программы во флэш-память ATMEGA328P с помощью этой программы.
  8. Отключите программатор, подключите соответствующие периферийные устройства для контроллера и запустите систему.

Как использовать ATMega328P с Arduino

Поскольку ATmega328P используется в платах Arduino Uno и Arduino nano, вы можете напрямую заменить плату arduino на микросхему ATmega328. Для этого сначала необходимо установить в чип загрузчик Arduino (или также можно купить чип с загрузчиком — ATMega328P-PU). Эту микросхему с загрузчиком можно разместить на плате Arduino Uno и записать в нее программу. После того, как программа Arduino записана в ИС, ее можно удалить и использовать вместо платы Arduino вместе с кварцевым генератором и другими компонентами, необходимыми для проекта.Ниже показано отображение контактов между Arduino Uno и микросхемой ATmega328P .

Приложения

Есть сотни приложений для ATMEGA328P:

  • Используется в платах ARDUINO UNO, ARDUINO NANO и ARDUINO MICRO.
  • Промышленные системы управления.
  • SMPS и системы регулирования мощности.
  • Цифровая обработка данных.
  • Измерение аналоговых сигналов и манипуляции с ними.
  • Встроенные системы, такие как кофеварка, торговый автомат.
  • Системы управления двигателями.
  • Дисплейные единицы.
  • Система периферийного интерфейса.

2D Модель

Все размеры указаны в миллиметрах.

Введение в ATmega328 — Инженерные проекты

Всем привет! Я надеюсь, что вы все будете в полном порядке и весело проведете время.Сегодня я подробно расскажу вам о Introduction to ATmega328. ATmega328 — это микроконтроллер Advanced Virtual RISC (AVR). Он поддерживает 8-битную обработку данных. ATmega-328 имеет внутреннюю флеш-память 32 КБ.

ATmega328 имеет электрически стираемую программируемую постоянную память (EEPROM) емкостью 1 КБ. Это свойство показывает, если электропитание, подаваемое на микроконтроллер, отключено, даже тогда он может хранить данные и может предоставлять результаты после подачи электропитания.Кроме того, ATmega-328 имеет 2 КБ статической оперативной памяти (SRAM). Другие характеристики будут объяснены позже. ATmega 328 имеет несколько различных функций, которые делают его самым популярным устройством на сегодняшнем рынке. Эти функции включают усовершенствованную архитектуру RISC, хорошую производительность, низкое энергопотребление, счетчик реального времени с отдельным генератором, 6 контактов PWM, программируемый последовательный порт USART, блокировку программирования для безопасности программного обеспечения, пропускную способность до 20 MIPS и т. Д. Дополнительные сведения о ATmega 328 будут приведены ниже. приводится ниже в этом разделе.

Введение в ATmega328

  • ATmega328 — это 8-разрядный 28-контактный микроконтроллер AVR, произведенный Microchip, соответствует архитектуре RISC и имеет программную память флэш-памяти объемом 32 КБ.
  • Atmega328 — это микроконтроллер, используемый в базовых платах Arduino, то есть Arduino UNO, Arduino Pro Mini и Arduino Nano.
  • Он имеет EEPROM памяти размером 1 КБ, а его память SRAM составляет 2 КБ.
  • Он имеет 8 контактов для операций АЦП, которые в совокупности образуют PortA (PA0 — PA7).
  • Он также имеет 3 встроенных таймера, два из которых — 8-битные, а третий — 16-битный.
  • Вы, должно быть, слышали об Arduino UNO, UNO основана на микроконтроллере atmega328. Это сердце ООН. 🙂
  • Он работает в диапазоне от 3,3 В до 5,5 В, но обычно мы используем стандартное напряжение 5 В.
  • Его превосходные характеристики включают экономичность, низкое рассеивание мощности, блокировку программирования в целях безопасности, счетчик реального времени с отдельным генератором.
  • Обычно используется в приложениях для встраиваемых систем.Вы должны взглянуть на эти примеры встроенных систем из реальной жизни, мы можем спроектировать их все, используя этот микроконтроллер.
  • В следующей таблице показаны полные характеристики ATmega328:
9 0021 8-битный x 2 и 16-битный x 1
Характеристики ATmega328
Количество контактов 28
CPU RISC 8-Bit AVR
Рабочее напряжение 1,8 — 5,5 В
Память программ 32 КБ
Тип памяти программ Флэш-память
SRAM 2048 байт
EEPROM 1024 байта
ADC 10-битный
Количество каналов АЦП 8
Выводы ШИМ 6
Компаратор 1
Пакеты (4) 8-контактный PDIP32-вывод TQFP28-pad QFN / MLF32-pad QFN / MLF
Генератор до 20 МГц
Таймер (3)
Расширенный сброс при включении Да
Таймер включения питания Да
Контакты ввода / вывода 23
Производитель Microchip
SPI Да
I2C Да
Сторожевой таймер Да
Обнаружение сбоев (BOD) Да
Сброс Да
USI (универсальный последовательный интерфейс) Да
Минимальная рабочая температура от -40 C до +85 C

Контакты ATmega328

  • ATmega-328 — это микроконтроллер AVR, имеющий двадцать восемь (28 ) всего контактов.
  • Все контакты в хронологическом порядке перечислены в таблице, показанной на рисунке ниже.
Теперь давайте подробно рассмотрим распиновку Atmega328:

Распиновка ATmega328

  • С помощью схемы распиновки мы можем понять конфигурации контактов любого электронного устройства, поэтому вы работаете над любым инженерным проектом, тогда вы должны сначала прочтите распиновку компонентов.
  • Распиновка
  • ATmega328 показана на рисунке ниже:

Описание выводов ATmega328

  • Функции, связанные с выводами, должны быть известны для правильного использования устройства.
  • Контакты
  • ATmega-328 разделены на разные порты, которые подробно описаны ниже.
  • VCC — цифровой источник напряжения.
  • AVCC — вывод напряжения питания для аналого-цифрового преобразователя.
  • GND обозначает землю и имеет 0 В.
    • Порт A состоит из контактов от PA0 до PA7. Эти контакты служат аналоговым входом для аналого-цифровых преобразователей. Если аналого-цифровой преобразователь не используется, порт A действует как восьмиразрядный двунаправленный порт ввода / вывода.
    • Порт B состоит из контактов от PB0 до PB7. Этот порт является 8-битным двунаправленным портом, имеющим внутренний подтягивающий резистор.
    • Порт C состоит из контактов от PC0 до PC7. Выходные буферы порта C имеют симметричные характеристики привода с возможностью источника, а также с высоким потреблением.
    • Порт D состоит из контактов от PD0 до PD7. Это также 8-битный порт ввода / вывода, имеющий внутренний подтягивающий резистор.
  • Все порты AVR показаны на рисунке ниже.
  • AREF — это аналоговый опорный вывод для аналого-цифрового преобразователя.
  • Итак, это краткое изложение всех контактов микроконтроллера AVR ATmega328.

Архитектура ATmega328

  • Архитектура устройства представляет информацию о конкретном устройстве.
  • Архитектура
  • ATmega-328 показана на рисунке ниже.

Память ATmega328

  • ATmega 328 имеет три типа памяти:
    • Флэш-память: 32 КБ. Это программируемое постоянное запоминающее устройство (ПЗУ). Это энергонезависимая память.
    • SRAM: 2 КБ. — статическая оперативная память. Это энергозависимая память, т.е. данные будут удалены после отключения источника питания.
    • EEPROM: 1 КБ. — это электрически стираемая программируемая постоянная память.
  • Ячейки памяти AVR показаны на рисунке ниже.

Регистры ATmega328

  • ATmega-328 имеет тридцать два (32) регистра общего назначения (GP).
  • Все эти регистры являются частью статической оперативной памяти (SRAM).
  • Все регистры представлены на рисунке ниже.

Пакеты ATmega328

  • Различные версии одного и того же устройства обозначаются разными пакетами этого устройства.
  • Каждая упаковка имеет разные размеры, чтобы их можно было легко различить.
  • Пакеты
  • ATmega 328 приведены в таблице, приведенной на рисунке ниже.

Блок-схема ATmega328

  • Блок-схема показывает внутреннюю схему и выполнение программы любого устройства.
  • Блок-схема
  • ATmega 328 показана на рисунке ниже.

Характеристики ATmega328

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

ATmega328 и Arduino

  • ATmega328 — это микроконтроллер, используемый в плате Arduino UNO.
  • Когда мы загружаем код в Arduino UNO, он фактически загружается в микроконтроллер Atmega328.
  • Программный драйвер, называемый загрузчиком, предварительно установлен во флэш-памяти микроконтроллера Atmega328, что делает его совместимым с Arduino IDE.
  • AVR Atmega328, подключенный к Arduino, показан на рисунке ниже:

Контакты ATmega328 и Arduino

    Контакты
  • ATmega328 подключены к соответствующим контактам Arduino.
  • Их связь друг с другом показана на схеме выводов, показанной на рисунке ниже.
  • Аналоговые выводы обведенной секции состоят из выводов Arduino, которые подключены к соответствующим выводам микроконтроллера AVR ATmega-328.
  • Я написал обе булавки друг напротив друга, это поможет легко понять.
  • Если вы хотите работать с этой платой Arduino, вы должны попробовать эти проекты Arduino для начинающих, они помогут вам заполучить Arduino.

Приложения Atmega328

  • Полный пакет, включающий ATmega 328 и Arduino, можно использовать в нескольких различных реальных приложениях.
  • Может использоваться в проектах встраиваемых систем.
  • Может также использоваться в робототехнике.
  • Квадрокоптер и даже небольшой авиалайнер тоже может быть сконструирован через него.
  • Системы контроля и управления питанием также могут быть подготовлены с помощью этого устройства.
  • Я разработал эту систему домашней безопасности с использованием Arduino UNO, вам стоит взглянуть на нее.

Как начать работать с Atmega328

  • Если вы хотите начать работать с этим микроконтроллером, я бы посоветовал вам сделать это с помощью Arduino.
  • Преимущество использования Arduino заключается в том, что вы можете использовать все его встроенные библиотеки, что значительно упростит работу.
  • После разработки вашего проекта на Arduino, затем спроектируйте базовую схему Atmega-328, которая довольно проста, и я обсуждал выше.
  • Теперь вы должны быть осторожны при использовании его контактов, контакты Atmega328 и Arduino обсуждались выше.
  • Еще одна вещь, о которой следует упомянуть, заключается в том, что перед тем, как приступить к работе с оборудованием, вы должны сначала разработать его Proteus Simulation.
  • Загрузите библиотеку Arduino для Proteus, а затем создайте на ней свой проект.
  • Как только вы убедитесь, что все в порядке, спроектируйте его схему на плате Wero или PCB (печатная плата), и ваш проект будет готов. 🙂
В учебном пособии Введение в ATmega328 представлено подробное обсуждение базового использования ATmega 328. Я полностью предоставил все необходимые сведения об использовании микроконтроллера AVR.Если у вас возникнут проблемы, вы можете в любое время задать их нам в комментариях. Наша команда всегда готова помочь вам, ребята. Я поделюсь со всеми вами другими удивительными темами в своих следующих уроках. Итак, пока позаботьтесь 🙂

Знакомство с ATmega328p Распиновка, таблица данных и спецификации

ATmega328p — однокристальный, высокопроизводительный и эффективный микроконтроллер, созданный Atmel в семействе megaAVR. Это 8-битный микроконтроллер на базе AVR RISC. В этом посте мы подробно узнаем о распиновке ATmega328p, ее техническом описании, спецификациях и методах программирования.

Atmega328p IC

Он состоит из 32 КБ флэш-памяти ISP с возможностью чтения во время записи, 2 КБ SRAM (статическое ОЗУ), 1 КБ EEPROM , 23 контакта ввода-вывода общего назначения , a Тактовая частота 16 МГц , 32 рабочих регистра общего назначения, три гибких таймера / счетчика с режимами сравнения (два 8-битных и один 16-битный), внутренние и внешние прерывания, последовательный программируемый UART, байтовый интерфейс I2C (межинтегральная схема) контакты, последовательный порт SPI, 6-канальный 10-битный аналого-цифровой преобразователь, программируемый сторожевой таймер с внутренним генератором и пять программно выбираемых режимов энергосбережения.Устройство работает в диапазоне напряжений 1,8-5,5 В.

Примечание: 328p в ATmega328p означает: 32 для 32 КБ флэш-памяти, 8 для архитектуры Bit RISC (шина данных) и p для «пикопитания» (потребляет меньше энергии при определенных обстоятельствах)

Распиновка Atmega328P: Распиновка ATmega328P
No контакта Контакт Описание Контакт Функция Контакт Описание функции
1 PC6 Сброс Этот вывод помогает сбросить микроконтроллер.
2 PD0 Цифровой вывод (RX) Это входной контакт для последовательной связи
3 PD1 Цифровой вывод (TX) Это выходной контакт для последовательной связи
4 ПД2 Цифровой вывод Используется как внешнее прерывание 0
5 PD3 Цифровой вывод (ШИМ) Используется как внешнее прерывание 1
6 PD4 Цифровой контакт Используется для источника внешнего счетчика Timer0
7 Vcc Положительное напряжение Плюс питания системы.
8 GND Земля Основание системы
9 XTAL Кристаллический осциллятор Этот вывод должен быть подключен к одному выводу кварцевого генератора для подачи внешнего тактового импульса на микросхему
10 XTAL Кристаллический осциллятор Этот вывод также должен быть подключен к другому выводу кварцевого генератора для подачи внешнего тактового импульса на микросхему
11 PD5 Цифровой вывод (ШИМ) Вывод 11 используется для источника внешнего счетчика Timer1
12 PD6 Цифровой вывод (ШИМ) Положительный аналоговый компаратор i / ps
13 PD7 Цифровой контакт Отрицательный аналоговый компаратор i / ps
14 PB0 Цифровой контакт Вывод источника входного сигнала счетчика или таймера
15 PB1 Цифровой вывод (ШИМ) Счетчик или таймер сравнивают совпадение A.
16 PB2 Цифровой вывод (ШИМ) Этот вывод действует как выбор ведомого i / p.
17 PB3 Цифровой вывод (ШИМ) Этот вывод используется в качестве вывода основных данных и ввода данных ведомого для интерфейса SPI.
18 PB4 Цифровой контакт Этот вывод действует как вход ведущего тактового сигнала и вывод ведомого тактового сигнала.
19 PB5 Цифровой контакт Этот вывод действует как выход тактовой частоты главного устройства и вход тактового сигнала подчиненного устройства для SPI.
20 AVcc Положительное напряжение Положительное напряжение для АЦП (питание)
21 AREF Аналоговый опорный сигнал Аналоговое опорное напряжение для АЦП (аналого-цифровой преобразователь)
22 GND Земля Основание системы
23 PC0 Аналоговый вход Аналоговый вход цифрового значения (канал 0)
24 PC1 Аналоговый вход Аналоговый вход цифрового значения (канал 1)
25 PC2 Аналоговый вход Аналоговый вход цифрового значения (канал 2)
26 PC3 Аналоговый вход Аналоговый вход цифрового значения (канал 3)
27 PC4 Аналоговый вход Аналоговый вход цифрового значения (канал 4).Этот вывод также можно использовать в качестве последовательного интерфейса для передачи данных.
28 PC5 Аналоговый вход Аналоговый вход цифрового значения (канал 5). Этот вывод также используется в качестве тактовой линии последовательного интерфейса.

ATmega328p Технические характеристики:
Тип памяти программ Вспышка
Размер программной памяти (КБ) 32
Скорость процессора (MIPS / DMIPS) 20
SRAM (B) 2,048
Данные EEPROM / HEF (байты) 1024
Периферийные устройства цифровой связи 1-UART, 2-SPI, 1-I2C
Периферийные устройства для захвата / сравнения / ШИМ 1 вход захвата, 1 CCP, 6PWM
Таймеры 2 x 8 бит, 1 x 16 бит
Количество компараторов 1
Диапазон температур (° C) от -40 до 85
Диапазон рабочего напряжения (В) 1.От 8 до 5,5
Счетчик выводов 32
Низкое энергопотребление Есть

ATmega328p Лист данных:

Техническое описание

Atmega328p содержит всю информацию, необходимую для начала работы с ним.

** Чтобы загрузить техническое описание Atmega328p, щелкните здесь

Платы, состоящие из ATmega328p:
  • Adafruit METRO 328 — Adafruit METRO 328 — довольно удобный микроконтроллер.Он имеет ATmega328 в ядре с 32 КБ флэш-памяти и 2 КБ оперативной памяти, работающей на частоте 16 МГц.
  • Arduino Pro Mini 328 — Arduino Pro Mini 328 — это плата микроконтроллера, в основе которой лежит чип ATmega328. Он состоит из 14 цифровых входов / выходов (из которых 6 являются выходами ШИМ), 6 аналоговых входов, встроенного резонатора на 8 МГц, кнопки сброса и отверстий для монтажных разъемов. Шестиконтактный разъем можно подключить к кабелю FTDI или последовательному адаптеру TTL для питания платы, а также для целей программирования.
  • Arduino Uno R3 — Arduino Uno — это плата микроконтроллера с открытым исходным кодом, основанная на микрочипе ATmega328P. Он состоит из 6 аналоговых входных контактов, 14 цифровых входных / выходных контактов (из которых 6 имеют ШИМ), керамического кварцевого резонатора 16 МГц, порта USB-B, разъема ICSP, разъема питания и кнопки сброса.

Метод программирования для ATmega328p:

  • Программирование микроконтроллеров может быть до некоторой степени трудным, поскольку для этого требуются специальные программисты и.шестнадцатеричные файлы, а также знание языка программирования C, необходимое для написания кода.
  • Чтобы упростить задачу, Arduino создал файл .hex, который может быть установлен на микросхемах AVR, что позволяет нам программировать плату через последовательный порт, гарантируя, что все, что необходимо для программирования микроконтроллера (после установки шестнадцатеричного файла), является последовательным. соединение между микроконтроллером и компьютером, которое может быть достигнуто с помощью адаптера USB-UART. Этот шестнадцатеричный файл называется загрузчиком Arduino .
  • В процессе производства электронных устройств микроконтроллеры обычно программируются после того, как они были установлены на печатной плате. Этот метод программирования называется In-System Programming (ISP), и он требует, чтобы на печатной плате были определенные выводы заголовка, через которые можно получить доступ к микроконтроллеру для программирования.
  • Большинство плат Arduino поставляются с 2×3-контактными разъемами, которые используются для внутрисистемного программирования, известного как внутрисхемное последовательное программирование (ICSP).Контакты заголовка Arduino ICSP состоят из 3 контактов SPI (MOSI (D11), MISO (D12), SCK (D13)), VCC, GND и контакта сброса. Подключив микроконтроллер Atmega328p к контактам ICSP, мы можем прошить микроконтроллер Atmeg328p с помощью загрузчика Arduino.

Необходимые компоненты

Для прошивки загрузчика в микросхеме ATmega328p требуются следующие компоненты:

  1. Arduino Uno
  2. Провода перемычки
  3. Макет
  4. Микроконтроллер Atmega328p
  5. кварцевый генератор 16 МГц
  6. Конденсаторы 22pf

Процедура записи загрузчика на ATmega328p-

** Первоисточник темы: electronics-lab

  1. Подготовьте Arduino в качестве программиста ISP

В среде Arduino IDE на вкладке «Файл»> Примеры одним из примеров является «Arduino as ISP», который при загрузке на плату Arduino превращает плату в программатора ISP.Откройте этот пример и загрузите его на плату Arduino Uno.

  1. Электропроводка

Затем подключите Atmega328p, подлежащий прошивке, к Arduino через макетную плату, как показано на рисунке ниже.

Схема записи загрузчика

Ниже приведена схема контактов, показанная на рисунке выше:

Arduino — Atmega328P D13 — Контакт 19D12 — Контакт 18D11 — Контакт 17D10 — Сброс контакта 1 (конденсатор не требуется) .VCC — 5VGND — GND

  1. Записать загрузчик

Теперь, когда соединения выполнены, как показано на рисунке, мы можем записать загрузчик на микросхему микроконтроллера.В среде Arduino IDE на вкладке инструментов> Платы выберите Arduino Uno в качестве типа платы. Следующим шагом является переход к инструментам> программист и выбор « Arduino как ISP » в качестве программиста. Последний шаг для записи загрузчика на чип — перейти к инструментам и выбрать опцию записи загрузчика.

Как программировать ATmega328p с помощью Arduino IDE:

Чтобы запрограммировать микроконтроллер ATmega328p с помощью Arduino IDE, микроконтроллер может быть подключен к компьютеру через какое-то оборудование.Обычно это делается двумя основными способами:

  1. Использование адаптера USB — последовательный / TTL
  2. Использование платы Arduino

Использование переходника USB — последовательный / TTL:

Адаптер USB — последовательный / TTL используется для преобразования сигналов данных с USB на компьютере в последовательный / TTL для микроконтроллера и наоборот. Это обеспечивает связь микроконтроллера (последовательного интерфейса) с Arduino IDE, работающей на ПК (USB).

Необходимые компоненты: —

Для этого подхода требуются следующие компоненты;

  1. Микроконтроллер Atmega328P с установленным загрузчиком Arduino
  2. Макет
  3. Адаптер USB — последовательный / TTL
  4. кварцевый генератор 16 МГц
  5. 22pf конденсаторы x2
  6. 100nf конденсатор
  7. Провода перемычки
  8. Резистор 100 Ом
  9. светодиод
Схема: —

Подключите адаптер USB к последовательному / TTL к микросхеме ATmega328p, как показано на рисунке ниже.

ATmega328p для подключения адаптера serialTTL

** Источник изображения: программирование ATmega328p

Код загрузки

Загрузка кода в микроконтроллер — простая задача. После ввода кода выберите порт, к которому подключен адаптер, затем , тип платы «ATmega328p» и нажмите кнопку загрузки. Загрузка завершится всего через несколько секунд, и микросхема ATmega328 будет готова к использованию.

Использование платы Arduino:

Второй способ предполагает использование платы Arduino одним из двух аналогичных методов:

  1. Заменив микроконтроллер на Arduino Uno на программируемый
  2. Используя любую из плат Arduino в качестве внутрисистемного программиста.

Первый способ — это более простой способ загрузки кода в микросхему ATmega328p, поскольку он включает в себя простую замену микроконтроллера, присутствующего на Uno, на тот, который нам нужно запрограммировать. Просто поменяйте местами микроконтроллеры и нажмите кнопку загрузки.

Второй способ включает использование Arduino Uno в качестве внутрисистемного программатора . Подобно тому, как мы записываем загрузчик в чип, мы также можем использовать заголовок Arduino ICSP для загрузки кода в чип ATmega328.

Необходимые компоненты
  1. Arduino Uno
  2. Макет
  3. Адаптер USB — последовательный / TTL
  4. кварцевый генератор 16 МГц
  5. 22pf конденсаторы x2
  6. Провода перемычки
  7. 10к резистор
  8. Резистор 100 Ом
  9. светодиод
Схема:

Подключите компоненты, как показано на рисунке ниже.

Подключение Arduino к ATmega328p для загрузки кода

Примечание: При использовании этого подхода важно удалить микроконтроллер платы Arduino, чтобы предотвратить помехи.

Код загрузки

Процесс загрузки кода такой же, как уже описанный. Выберите файл кода, который будет загружен на ATmega328p, затем выберите тип платы (ATmega328p), а также правильный порт и нажмите кнопку «Загрузить». Код будет загружен в микроконтроллер.

Проекты и приложения ATmega328p:

В реальном мире есть много применений Atmega328P.Микросхема ATmega328P совместима с большим набором инструментов разработки программ и систем, таких как компиляторы C, макроассемблеры, программный отладчик / симуляторы, внутрисхемные эмуляторы и оценочные комплекты. Режим быстрого ШИМ также обеспечивает генерацию высокочастотного сигнала ШИМ. Это позволяет использовать его для регулирования мощности, выпрямления и применения ЦАП (цифро-аналогового преобразователя). Некоторые основные области применения чипа перечислены ниже:

  • Системы управления промышленным оборудованием
  • Оборудование и приложения, работающие на солнечной энергии
  • Приложения на основе Интернета вещей
  • Источники питания и зарядные устройства
  • Метеорологические системы
  • Приложения беспроводной связи
  • Приложения на основе безопасности
  • Медицинские проекты и системы, связанные со здоровьем
  • Приложения, связанные с автомобилем

Читайте похожие статьи:

| Распиновка и спецификации Arduino UNO в деталях

| Распиновка и спецификации Arduino Nano в деталях

| Arduino Pro Mini Распиновка и подробные характеристики

СЛОВ в примечании

к техническому описанию ATmega328

Обозначение используется для обозначения того, что 16-битный адрес (сформированный центральными байтами инструкции записи страницы памяти программ) является адресом слова программной памяти, а не байт памяти программ. .

Размер программной памяти указывается в байтах, но часто к нему обращаются как к словам. Например, регистр ПК (счетчика программ) содержит адреса слов.

Для некоторых инструкций, когда регистр Z используется для адресации памяти программ, он содержит номер слова и селектор байтов:

Z-регистр в файле регистров используется для доступа к программной памяти. Эта 16-битная регистровая пара используется как 16-битный указатель на программную память. 15 старших битов выбирают адрес слова в памяти программ.Из-за этого адрес слова умножается на два перед помещением в Z-регистр. … Младший бит регистра адреса Z выбирает либо младший байт (0), либо старший байт (1) слова памяти программы. — AVR108: Настройка и использование инструкции LPM, стр. 1

Примечание: Некоторые младшие биты адреса слова в инструкции последовательного программирования «Запись страницы памяти программы» обрабатываются как не требующие внимания. Количество неважных битов зависит от размера страницы флэш-памяти, который в устройствах Atmel AVR составляет 32, 64 или 128 слов, в зависимости от серии устройства.

Например (как показано в таблице 129 на странице 304 документа doc2467.pdf) ATmega128 со 128-словными (256-байтовыми) страницами флэш-памяти имеет семь неважных битов в младшем байте адреса.

  Таблица 129. Набор команд последовательного программирования SPI
                 ----------- Формат инструкции ----------
 Инструкция Байт 1 Байт 2 Байт 3 Байт 4 Операция

Запись программы 0100 1100 aaaa aaaa bxxx xxxx xxxx xxxx
Страница памяти Запись в память программ
                                                         Страница по адресу a: b. 
Руководство по техническому описанию

ATMEGA328 — Docsity

8-разрядный микроконтроллер с 4/8/16/32 Кбайт внутрисистемной программируемой флэш-памятью ATmega48P / V ATmega88P / V ATmega168P / V ATmega328P Предварительное резюме Rev. 8025FS – AVR – 08/08 , 8-разрядный микроконтроллер AVR® с низким энергопотреблением • Усовершенствованная архитектура RISC — 131 мощная инструкция — Выполнение большей части за один тактовый цикл — 32 x 8 рабочих регистров общего назначения — Полностью статическая работа — Пропускная способность до 20 MIPS на частоте 20 МГц — На кристалле 2- множитель цикла • Сегменты энергонезависимой памяти с высокой износостойкостью — 4/8/16/32 Кбайт внутрисистемной самопрограммируемой флэш-памяти программ (ATmega48P / 88P / 168P / 328P) — EEPROM 256/512/512 / 1 Кбайт (ATmega48P / 88P / 168P / 328P) — Внутренняя SRAM 512 / 1K / 1K / 2K байт (ATmega48P / 88P / 168P / 328P) — Циклы записи / стирания: 10 000 флэш-памяти / 100 000 EEPROM — Срок хранения данных: 20 лет при 85 ° C / 100 лет при 25 ° C (1) — Дополнительная секция загрузочного кода с независимыми битами блокировки Внутрисистемное программирование с помощью встроенной программы загрузки Истинное чтение во время записи Эксплуатация — Блокировка программирования для безопасности программного обеспечения • Периферийные функции — Два 8-битных таймера / счетчика с отдельным предварительным делителем и режимом сравнения — Один 16-битный таймер / счетчик с отдельным предварительным делителем, режимом сравнения и режимом захвата — Счетчик реального времени с отдельным генератором — Шесть каналов ШИМ — 8-канальный 10-разрядный АЦП в корпусе TQFP и QFN / MLF Измерение температуры — 6-канальный 10-разрядный АЦП в корпусе PDIP Измерение температуры — Программируемый последовательный USART — Последовательный интерфейс SPI Master / Slave — Байт-ориентированный 2- проводной последовательный интерфейс (совместимый с Philips I2C) — Программируемый сторожевой таймер с отдельным встроенным генератором — Аналоговый компаратор на кристалле — Прерывание и пробуждение при смене контакта • Специальные функции микроконтроллера — Сброс при включении и программируемое обнаружение пониженного напряжения — Внутренний Калиброванный осциллятор — внешние и внутренние источники прерываний — шесть режимов сна: холостой ход, шумоподавление АЦП, энергосбережение, отключение питания, режим ожидания и расширенный режим ожидания • Ввод / вывод и блоки — 23 программируемых линии ввода / вывода — 28- PDIP, 32-контактный TQFP, 28-контактный QFN / MLF и 32-контактный QFN / MLF • Рабочее напряжение: — 1.8 — 5,5 В для ATmega48P / 88P / 168PV — 2,7 — 5,5 В для ATmega48P / 88P / 168P — 1,8 — 5,5 В для ATmega328P • Диапазон температур: — от -40 ° C до 85 ° C • Класс скорости: — ATmega48P / 88P / 168PV: 0 — 4 МГц при 1,8 — 5,5 В, 0 — 10 МГц при 2,7 — 5,5 В — ATmega48P / 88P / 168P: 0 — 10 МГц при 2,7 — 5,5 В, 0 — 20 МГц при 4,5 — 5,5 В — ATmega328P: 0–4 МГц при 1,8–5,5 В, 0–10 МГц при 2,7–5,5 В, 0–20 МГц при 4,5–5,5 В • Низкое энергопотребление при 1 МГц, 1,8 В, 25 ° C для ATmega48P / 88P / 168P: — Активный режим: 0,3 мА — Режим пониженного энергопотребления: 0,1 мкА — Режим энергосбережения: 0.8 мкА (включая RTC 32 кГц) 1. Конфигурация контактов Рисунок 1-1. Распиновка ATmega48P / 88P / 168P / 328P 1 2 3 4 5 6 7 8 24 23 22 21 20 19 18 17 (PCINT19 / OC2B / INT1) PD3 (PCINT20 / XCK / T0) PD4 GND VCC GND VCC (PCINT6 / XTAL1 / TOSC1 ) PB6 (PCINT7 / XTAL2 / TOSC2) PB7 PC1 (ADC1 / PCINT9) PC0 (ADC0 / PCINT8) ADC7 GND AREF ADC6 AVCC PB5 (SCK / PCINT5) 32 31 30 29 28 27 26 25 9 10 11 12 13 14 15 16 ( PC IN T 21 / OC 0B / T 1) PD 5 (PC IN T 22 / OC 0A / A IN 0) PD 6 (PC IN T 23 / A IN 1) PD 7 (PC IN T 0 / C LK O / IC P 1) PB 0 (PC IN T 1 / OC 1A) PB 1 (PC IN T 2 / SS / OC 1B) PB 2 (PC IN T 3 / OC 2A / MOSI) PB 3 (PC IN T 4 / M IS O) PB 4 PD 2 (INT 0 / PC IN T 18) PD 1 (TXD / PC IN T 17) PD 0 (RXD / PC IN T 16) PC 6 (RESET / PC IN T 14) PC 5 (ADC 5 / SCL / PC IN T 13) PC 4 (ADC 4 / SDA / PC IN T 12) PC 3 (ADC 3 / PC IN T 11) PC 2 (ADC 2 / PC IN T 10) TQFP Вид сверху 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 (PCINT14 / RESET) PC6 (PCINT16 / RXD) PD0 (PCINT17 / TXD) PD1 (PCINT18 / INT0) PD2 ( PCINT19 / OC2B / INT1) P D3 (PCINT20 / XCK / T0) PD4 VCC GND (PCINT6 / XTAL1 / TOSC1) PB6 (PCINT7 / XTAL2 / TOSC2) PB7 (PCINT21 / OC0B / T1) PD5 (PCINT22 / OC0A / AIN0) PD6 (PCINT23 / AIN1) PD7 PCINT0 / CLKO / ICP1) PB0 PC5 (ADC5 / SCL / PCINT13) PC4 (ADC4 / SDA / PCINT12) PC3 (ADC3 / PCINT11) PC2 (ADC2 / PCINT10) PC1 (ADC1 / PCINT9) PC0 (ADC0 / PCINT8) GND AREF AVCC PB5 (SCK / PCINT5) PB4 (MISO / PCINT4) PB3 (MOSI / OC2A / PCINT3) PB2 (SS / OC1B / PCINT2) PB1 (OC1A / PCINT1) PDIP 1 2 3 4 5 6 7 8 24 23 22 21 20 19 18 17 32 31 30 29 28 27 26 25 9 10 11 12 13 14 15 16 32 MLF Вид сверху (PCINT19 / OC2B / INT1) PD3 (PCINT20 / XCK / T0) PD4 GND VCC GND VCC (PCINT6 / XTAL1 / TOSC1) PB6 ( PCINT7 / XTAL2 / TOSC2) PB7 PC1 (ADC1 / PCINT9) PC0 (ADC0 / PCINT8) ADC7 GND AREF ADC6 AVCC PB5 (SCK / PCINT5) (PC IN T 21 / OC 0B / T 1) PD 5 (PC IN T 22 / OC 0A / A IN 0) PD 6 (PC IN T 23 / A IN 1) PD 7 (PC IN T 0 / C LK O / IC P 1) PB 0 (PC IN T 1 / OC 1A) PB 1 (ПК IN T 2 / SS / OC 1B) PB 2 (PC IN T 3 / OC 2A / MOSI) PB 3 (PC IN T 4 / M IS O) PB 4 PD 2 (INT 0 / PC IN T 18) PD 1 ( TXD / P C IN T 17) PD 0 (RXD / PC IN T 16) PC 6 (RESET / PC IN T 14) PC 5 (ADC 5 / SCL / PC IN T 13) PC 4 (ADC 4 / SDA / PC IN T 12 ) ПК 3 (ADC 3 / PC IN T 11) PC 2 (ADC 2 / PC IN T 10) ПРИМЕЧАНИЕ. Нижнюю площадку следует припаять к земле.1 2 3 4 5 6 7 21 20 19 18 17 16 15 28 27 26 25 24 23 22 8 9 10 11 12 13 14 28 MLF Вид сверху (PCINT19 / OC2B / INT1) PD3 (PCINT20 / XCK / T0) PD4 VCC GND (PCINT6 / XTAL1 / TOSC1) PB6 (PCINT7 / XTAL2 / TOSC2) PB7 (PCINT21 / OC0B / T1) PD5 (PC IN T 22 / OC 0A / A IN 0) PD 6 (PC IN T 23 / A IN 1) PD 7 (PC IN T 0 / C LK O / IC P 1) PB 0 (PC IN T 1 / OC 1A) PB 1 (PC IN T 2 / SS / OC 1B) PB 2 (PC IN T 3 / OC 2A / MOSI) PB 3 (PC IN T 4 / M IS O) PB 4 PD 2 (INT 0 / PC IN T 18) PD 1 (TXD / PC IN T 17) PD 0 (RXD / PC IN T 16) PC 6 ( СБРОС / PC IN T 14) PC 5 (ADC 5 / SCL / PC IN T 13) PC 4 (ADC 4 / SDA / PC IN T 12) PC 3 (ADC 3 / PC IN T 11) PC2 (ADC2 / PCINT10) PC1 (ADC1 / PCINT9) PC0 (ADC0 / PCINT8) GND AREF AVCC PB5 (SCK / PCINT5) ПРИМЕЧАНИЕ. Нижнюю площадку следует припаять к земле.2 8025FS – AVR – 08/08 ATmega48P / 88P / 168P / 328P ATmega48P / 88P / 168P / 328P2. Обзор ATmega48P / 88P / 168P / 328P — это маломощный 8-разрядный КМОП-микроконтроллер, основанный на архитектуре RISC, улучшенной AVR. Выполняя мощные инструкции за один тактовый цикл, ATmega48P / 88P / 168P / 328P достигает пропускной способности, приближающейся к 1 MIPS на МГц, что позволяет разработчику системы оптимизировать энергопотребление в зависимости от скорости обработки. 2.1 Блок-схема Рисунок 2-1. Блок-схема Ядро AVR объединяет богатый набор инструкций с 32 рабочими регистрами общего назначения.Все 32 регистра напрямую подключены к арифметико-логическому устройству (ALU), что позволяет получить доступ к двум независимым регистрам в одной инструкции, выполняемой за один такт. Результирующий ПОРТ C (7) ПОРТ B (8) ПОРТ D (8) USART 0 8 бит T / C 2 16 бит T / C 18 бит T / C 0 A / D Conv. Аналоговая компенсация внутренней запрещенной зоны. SPI TWI SRAMFlash EEPROM Watchdog Oscillator Watchdog Timer Oscillator Circuits / Clock Generation Power Control POR / BOD & RESET V C C G N D PROGRAM LOGIC debugWIRE 2 GND AREF AVCC D AT A B U S ADC [6..7] PC [0..6] PB [0..7] PD [0..7] 6 RESET XTAL [1..2] CPU5 Архитектура 8025FS-AVR-08/08 более эффективна с точки зрения кода при увеличении пропускной способности до десяти раз быстрее, чем обычные микроконтроллеры CISC. ATmega48P / 88P / 168P / 328P обеспечивает следующие функции: 4 К / 8 К / 16 К / 32 Кбайт внутрисистемной программируемой флэш-памяти с возможностью чтения во время записи, 256/512/512 / 1 Кбайт EEPROM, 512/1 К / 1 Кбайт. / 2 Кбайт SRAM, 23 линии ввода-вывода общего назначения, 32 рабочих регистра общего назначения, три гибких таймера / счетчика с режимами сравнения, внутренними и внешними прерываниями, последовательным программируемым USART, двухпроводным последовательным интерфейсом с байтовой ориентацией, последовательный порт SPI, 6-канальный 10-разрядный АЦП (8 каналов в пакетах TQFP и QFN / MLF), программируемый сторожевой таймер с внутренним генератором и пять программно выбираемых режимов энергосбережения.В режиме ожидания процессор останавливается, позволяя продолжать работу SRAM, таймеру / счетчику, USART, 2-проводному последовательному интерфейсу, порту SPI и системе прерывания. Режим пониженного энергопотребления сохраняет содержимое регистра, но останавливает осциллятор, отключая все другие функции микросхемы до следующего прерывания или аппаратного сброса. В режиме энергосбережения асинхронный таймер продолжает работать, позволяя пользователю поддерживать базу таймера, пока остальная часть устройства находится в спящем режиме. Режим шумоподавления АЦП останавливает ЦП и все модули ввода / вывода, кроме асинхронного таймера и АЦП, чтобы минимизировать коммутируемый шум во время преобразования АЦП.В режиме ожидания кварцевый / резонаторный генератор работает, в то время как остальная часть устройства находится в спящем режиме. Это обеспечивает очень быстрый запуск в сочетании с низким энергопотреблением. Устройство изготовлено с использованием технологии энергонезависимой памяти высокой плотности Atmel. Встроенная флэш-память ISP позволяет перепрограммировать программную память внутри системы через последовательный интерфейс SPI, с помощью обычного программатора энергонезависимой памяти или программы загрузки на кристалле, работающей на ядре AVR. Программа загрузки может использовать любой интерфейс для загрузки прикладной программы во флэш-память приложения.Программное обеспечение в разделе загрузочной флэш-памяти будет продолжать работать, пока обновляется раздел флэш-памяти приложения, обеспечивая истинную операцию чтения-во время записи. Комбинируя 8-битный ЦП RISC с внутрисистемной самопрограммируемой флеш-памятью на монолитном чипе, Atmel ATmega48P / 88P / 168P / 328P представляет собой мощный микроконтроллер, который обеспечивает очень гибкое и экономичное решение для многих встраиваемых приложений управления. . AVR ATmega48P / 88P / 168P / 328P поддерживается полным набором инструментов для разработки программ и систем, включая: компиляторы C, сборщики макросов, программный отладчик / симуляторы, внутрисхемные эмуляторы и оценочные комплекты.2.2 Сравнение ATmega48P, ATmega88P, ATmega168P и ATmega328P ATmega48P, ATmega88P, ATmega168P и ATmega328P различаются только размерами памяти, поддержкой загрузчика и размерами векторов прерываний. Таблица 2-1 суммирует различные размеры памяти и векторов прерываний для трех устройств. ATmega88P, ATmega168P и ATmega328P поддерживают настоящий механизм самопрограммирования чтения во время записи. Существует отдельный раздел загрузчика, и инструкция SPM может выполняться только оттуда. В ATmega48P нет поддержки чтения во время записи и отдельной секции загрузчика.Инструкция SPM может выполняться со всей Flash. Таблица 2-1. Суммарный размер памяти Устройство Flash EEPROM RAM Размер вектора прерывания ATmega48P 4 Кбайт 256 байтов 512 байтов 1 командное слово / вектор ATmega88P 8 Кбайт 512 байтов 1 Кбайт 1 командное слово / вектор ATmega168P 16 Кбайт 512 байтов 1 Кбайт 2 командных слова / вектор ATmega328P 32 Кбайт 1 КБ Байт 2 Кбайта 2 командных слова / вектор6 8025FS – AVR – 08/08 ATmega48P / 88P / 168P / 328P ATmega48P / 88P / 168P / 328P3. Ресурсы Полный набор инструментов разработки, заметки по применению и таблицы данных доступны для загрузки на http: // www.atmel.com/avr. Примечание: 1. 4. Результаты аттестации на надежность хранения данных показывают, что прогнозируемая частота отказов при хранении данных намного меньше 1 PPM в течение 20 лет при 85 ° C или 100 лет при 25 ° C.7 8025FS – AVR – 08/08 (0x7D ) Зарезервировано — — — — — — — — (0x7C) ADMUX REFS1 REFS0 ADLAR — MUX3 MUX2 MUX1 MUX0 263 (0x7B) ADCSRB — ACME — — — ADTS2 ADTS1 ADTS0 266 (0x7A) ADCSRA ADEN ADSC ADATE ADIF ADIE ADPS0 26 AD4 0x79) ADCH ADC Data Register старший байт 266 (0x78) ADCL ADC Data Register младший байт 266 (0x77) Зарезервировано — — — — — — — (0x76) Зарезервировано — — — — — — — — (0x75) Зарезервировано — — — — — — — — (0x74) Зарезервировано — — — — — — — — (0x73) Зарезервировано — — — — — — — — (0x72) Зарезервировано — — — — — — — — (0x71) Зарезервировано — — — — — — — — (0x70) TIMSK2 — — — — — OCIE2B OCIE2A TOIE2 163 (0x6F) TIMSK1 — — ICIE1 — — OCIE1B OCIE1A TOIE1 139 (0x6E) TIMSK0 — — — — — OCIE0B PCIE0A2 PCIEDINT0111 (PCIE0B PCIE0MS6INT01) PCINT19 PCINT18 PCINT17 PCINT16 74 (0x6C) PCMSK1 — PCINT14 PCINT13 PCINT12 PCINT11 PCINT10 PCINT 9 PCINT8 74 (0x6B) PCMSK0 PCINT7 PCINT6 PCINT5 PCINT4 PCINT3 PCINT2 PCINT1 PCINT0 74 (0x6A) Зарезервировано — — — — — — — — (0x69) EICRA — — — — ISC11 ISC10 ISC01 ISC00 71 (0x68) PCICR — — — — — PCIE2 PCIE1 PCIE0 (0x67) Зарезервировано — — — — — — — — (0x66) Регистр калибровки осциллятора OSCCAL 37 (0x65) Зарезервировано — — — — — — — — (0x64) PRR PRTWI PRTIM2 PRTIM0 — PRTIM1 PRSPI PRUSART0 PRADC 42 (0x63 ) Зарезервировано — — — — — — — — (0x62) Зарезервировано — — — — — — — — (0x61) CLKPR CLKPCE — — — CLKPS3 CLKPS2 CLKPS1 CLKPS0 37 (0x60) WDTCSR WDIF WDIE WDP3 WDCE WDE WDP2 WDP1 WDP0 54 0x3F ( 0x5F) SREG ITHSVNZC 9 0x3E (0x5E) SPH — — — — — (SP10) 5.SP9 SP8 12 0x3D (0x5D) SPL SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0 12 0x3C (0x5C) Зарезервировано — — — — — — — — 0x3B (0x5B) Зарезервировано — — — — — — — — — 0x3A (0x5A) Зарезервировано — — — — — — — — 0x39 (0x59) Зарезервировано — — — — — — — — 0x38 (0x58) Зарезервировано — — — — — — — — 0x37 (0x57) SPMCSR SPMIE (RWWSB) 5. — (RWWSRE) 5. BLBSET PGWRT PGERS SELFPRGEN 293 0x36 (0x56) Зарезервировано — — — — — — — — 0x35 (0x55) MCUCR — BODS BODSE PUD — — IVSEL IVCE 44/68/92 0x34 (0x54) MCUSR — — — — WDRF BORF EXTRF PORF 54 0x33 (0x53) SMCR — — — — SM2 SM1 SM0 SE 40 0x32 (0x52) Зарезервировано — — — — — — — — 0x31 (0x51) Зарезервировано — — — — — — — — 0x30 (0x50) ACSR ACD ACBG ACO ACI ACIE ACIC ACIS1 ACIS0 248 0x2F (0x4F) Зарезервировано — — — — — — — — 0x2E (0x4E) SPDR Регистр данных SPI 175 0x2D (0x4D) SPSR SPIF WCOL — — — — — SPI2X 174 0x2C (0x4C) SPCR SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 173 0x2B (0x4B) GPIOR2 Регистр ввода-вывода общего назначения 2 25 0x2A (0x4A) GPIOR1 Регистр ввода-вывода общего назначения 1 25 0x29 (0x49) Зарезервировано — — — — — — — — 0x28 (0x48) OCR0B Таймер / Регистр сравнения выходов счетчика B 0x27 (0x47) OCR0A Регистр сравнения выходов таймера / счетчика A 0x26 (0x46) TCNT0 Таймер / счетчик0 (8-бит) 0x25 (0x45) TCCR0B FOC0A FOC0B — — WGM02 CS02 CS01 CS00 0x24 (0x440) TCCR0 COM0B1 COM0B0 — — WGM01 WGM00 0x23 (0x43) GTCCR TSM — — — — — PSRASY P SRSYNC 143/165 0x22 (0x42) EEARH (старший байт регистра адреса EEPROM) 5.21 0x21 (0x41) Младший байт регистра адреса EEARL EEPROM 21 0x20 (0x40) EEDR Регистр данных EEPROM 21 0x1F (0x3F) EECR — — EEPM1 EEPM0 EERIE EEMPE EEPE EERE 21 0x1E (0x3E) GPIOR0 Регистр ввода / вывода общего назначения 0 0x3D) EIMSK — — — — — — INT1 INT0 72 0x1C (0x3C) EIFR — — — — — — INTF1 INTF0 72 Адрес Имя Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0 Страница 10 8025FS – AVR – 08 / 08 ATmega48P / 88P / 168P / 328P ATmega48P / 88P / 168P / 328P Примечание: 1. Для совместимости с будущими устройствами зарезервированные биты должны быть записаны в ноль при доступе.Запрещается записывать зарезервированные адреса памяти ввода-вывода. 2. Регистры ввода-вывода в диапазоне адресов 0x00 — 0x1F доступны напрямую по битам с использованием инструкций SBI и CBI. В этих регистрах значение отдельных битов можно проверить с помощью инструкций SBIS и SBIC. 3. Некоторые из флагов состояния очищаются путем записи в них логической единицы. Обратите внимание, что, в отличие от большинства других AVR, инструкции CBI и SBI будут работать только с указанным битом и, следовательно, могут использоваться в регистрах, содержащих такие флаги состояния.Инструкции CBI и SBI работают только с регистрами от 0x00 до 0x1F. 4. При использовании специальных команд ввода / вывода IN и OUT необходимо использовать адреса ввода / вывода 0x00 — 0x3F. При адресации регистров ввода-вывода как пространства данных с использованием инструкций LD и ST к этим адресам необходимо добавить 0x20. ATmega48P / 88P / 168P / 328P — это сложный микроконтроллер с большим количеством периферийных устройств, чем может поддерживаться в 64 ячейках, зарезервированных в коде операции для инструкций IN и OUT. Для расширенного пространства ввода-вывода от 0x60 до 0xFF в SRAM можно использовать только инструкции ST / STS / STD и LD / LDS / LDD.5. Действительно только для ATmega88P / 168P. 0x1B (0x3B) PCIFR — — — — — PCIF2 PCIF1 PCIF0 0x1A (0x3A) Зарезервировано — — — — — — — — 0x19 (0x39) Зарезервировано — — — — — — — — — 0x18 (0x38) Зарезервировано — — — — — — — — 0x17 (0x37) TIFR2 — — — — — OCF2B OCF2A TOV2 163 0x16 (0x36) TIFR1 — — ICF1 — — OCF1B OCF1A TOV1 140 0x15 (0x35) TIFR0 — — — — — OCF0B OCF14) Зарезервировано — 0x034 — — — — — — 0x13 (0x33) Зарезервировано — — — — — — — — 0x12 (0x32) Зарезервировано — — — — — — — — 0x11 (0x31) Зарезервировано — — — — — — — — 0x10 (0x30) Зарезервировано — — — — — — — — 0x0F (0x2F) Зарезервировано — — — — — — — — 0x0E (0x2E) Зарезервировано — — — — — — — — 0x0D (0x2D) Зарезервировано — — — — — — — — 0x0C (0x2C ) Зарезервировано — — — — — — — — 0x0B (0x2B) PORTD PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0 93 0x0A (0x2A) DDRD DDD7 DDD6 DDD5 DDD4 DDD3 PIND2 DDD1 DDD0 PIN (0 0 0 PIN PIND0 93 0x08 (0x28) PORTC — PORTC6 PORTC5 PORTC4 PORTC3 PORTC2 PORTC1 PORTC0 92 0x07 (0x27) DDRC — DDC6 DDC5 DDC4 DDC3 DDC2 DDC1 DDC0 92 0x06 (0x26) PINC5 — PINC6 PINC4 PINC3 PINC2 PINC1 PINC0 92 0x05 (0x25) PORTB PORTB7 PORTB6 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0 92 0x04 (0x24) DDRB DDB7 DDB6 DDB5 DDB4 PIN0 PIN (PIN-код 92 DDB2 DDB0 PIN 0 PIN 0 PIN (PIN 0 PIN) 0x22) Зарезервировано — — — — — — — — 0x01 (0x21) Зарезервировано — — — — — — — — 0x0 (0x20) Зарезервировано — — — — — — — — Имя адреса Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0 Страница 11 8025FS – AVR – 08/08 6.Сводка набора команд Мнемоника Операнды Описание Флаги операций #Clocks АРИФМЕТИЧЕСКИЕ И ЛОГИЧЕСКИЕ ИНСТРУКЦИИ ADD Rd, Rr Добавить два регистра Rd ← Rd + Rr Z, C, N, V, H 1 ADC Rd, Rr Добавить с переносом двух регистров Rd ← Rd + Rr + CZ, C, N, V, H 1 ADIW Rdl, K Добавить сразу в слово Rdh: Rdl ← Rdh: Rdl + KZ, C, N, V, S 2 SUB Rd, Rr Вычесть два регистра Rd ← Rd — Rr Z , C, N, V, H 1 SUBI Rd, K Вычесть константу из регистра Rd ← Rd — KZ, C, N, V, H 1 SBC Rd, Rr Вычесть с двумя регистрами переноса Rd ← Rd — Rr — CZ, C, N, V, H 1 SBCI Rd, K Вычесть с константой переноса из рег.Rd ← Rd — K — CZ, C, N, V, H 1 SBIW Rdl, K Вычесть сразу из слова Rdh: Rdl ← Rdh: Rdl — KZ, C, N, V, S 2 AND Rd, Rr Логические регистры AND Rd ← Rd • Rr Z, N, V ​​1 ANDI Rd, K Регистр логического И и константа Rd ← Rd • KZ, N, V ​​1 OR Rd, Rr Регистры логического ИЛИ Rd ← Rd v Rr Z, N, V ​​1 ORI Rd, K Регистр логического ИЛИ и константа Rd ← Rd v KZ, N, V ​​1 EOR Rd, Rr Регистры исключающего ИЛИ Rd ← Rd ⊕ Rr Z, N, V ​​1 COM Rd Дополнение до единицы Rd ← 0xFF — Rd Z, C, N, V 1 NEG Rd Два дополнения Rd ← 0x00 — Rd Z, C, N, V, H 1 SBR Rd, K Установить бит (ы) в регистре Rd ← Rd v KZ, N, V ​​1 CBR Rd, K Очистить бит (ы) в регистре Rd ← Rd • (0xFF — K) Z, N, V ​​1 INC Увеличение Rd Rd ← Rd + 1 Z, N, V ​​1 DEC Rd Уменьшение Rd ← Rd — 1 Z, N, V ​​1 TST Rd Проверка нуля или минус Rd ← Rd • Rd Z, N, V ​​1 CLR Rd Очистить регистр Rd ← Rd ⊕ Rd Z, N, V ​​1 SER Rd Установить регистр Rd ← 0xFF Нет 1 MUL Rd, Rr Умножить беззнаковый R1: R0 ← Rd x Rr Z, C 2 MULS Rd, Rr Умножение знака R1: R0 ← Rd x Rr Z, C 2 MULSU Rd, Rr Умножение знака без знака R1: R0 ← Rd x Rr Z, C 2 FMUL Rd, Rr Дробное Умножение без знака R1: R0 ← (Rd x Rr) << 1 Z, C 2 FMULS Rd, Rr Дробное умножение со знаком R1: R0 ← (Rd x Rr) << 1 Z, C 2 FMULSU Rd, Rr Дробное умножение со знаком и без знака R1: R0 ← (Rd x Rr) << 1 Z, C 2 ИНСТРУКЦИИ ПО РАЗВЕТКЕ RJMP k Относительный прыжок ПК ← ПК + k + 1 Нет 2 Непрямой переход IJMP на (Z) ПК ← Z Нет 2 JMP (1) k Прямой переход PC ← k Нет 3 RCALL k Относительный вызов подпрограммы PC ← PC + k + 1 Нет 3 ICALL Косвенный вызов (Z) ПК ← Z Нет 3 CALL (1) k Прямой вызов подпрограммы ПК ← k Нет 4 RET подпрограмма Возврат PC ← STACK Нет 4 RETI Прерывание Возврат PC ← STACK I 4 CPSE Rd, Rr Сравнить, Пропустить, если равно, если (Rd = Rr) PC ← PC + 2 или 3 Нет 1/2/3 CP Rd, Rr Сравнить Rd - Rr Z, N, V, C, H 1 CPC Rd, Rr Сравнить с переносом Rd - Rr - CZ, N, V, C, H 1 CPI Rd, K Регистр сравнения с непосредственным Rd - KZ, N, V, C, H 1 SBRC Rr, b Пропустить, если бит в регистре очищен, если (Rr (b) = 0) PC ← PC + 2 или 3 Нет 1/2/3 SBRS Rr, b Пропустить, если бит в регистре установлен, если (Rr (b) = 1) PC ← PC + 2 или 3 Нет 1/2/3 SBIC P, b Пропустить, если бит в регистре ввода / вывода очищен if (P (b) = 0) PC ← PC + 2 или 3 Нет 1/2/3 SBIS P, b Пропустить, если установлен бит в регистре ввода / вывода if (P (b) = 1) PC ← PC + 2 или 3 Нет 1/2/3 BRBS s, k Переход, если установлен флаг состояния if (SREG (s) = 1) then PC ← PC + k + 1 Нет 1/2 BRBC s, k Переход, если флаг состояния сброшен, если (SREG (s) = 0), то PC ← PC + k + 1 Нет 1/2 BREQ k Переход, если Равно, если (Z = 1), то PC ← PC + k + 1 Нет 1/2 BRNE k Переход, если Не равно if (Z = 0), то PC ← PC + k + 1 Нет 1/2 BRCS k Переходить, если переносить Set if (C = 1) then PC ← PC + k + 1 None 1/2 BRCC k Переходить при переносе очищен, если (C = 0 ), то PC ← PC + k + 1 Нет 1/2 BRSH k Ветвь, если То же или выше, если (C = 0), то PC ← PC + k + 1 Нет 1/2 BRLO k Разветвление, если Меньше, если (C = 1), то PC ← PC + k + 1 Нет 1/2 BRMI k Переход, если Минус, если (N = 1), то PC ← PC + k + 1 Нет 1/2 BRPL k Переход, если Плюс, если (N = 0), то PC ← PC + k + 1 Нет 1/2 BRGE k Ветвь, если больше или равно, со знаком, если (N ⊕ V = 0), то PC ← PC + k + 1 Нет 1/2 BRLT k Ветвь, если меньше нуля, со знаком, если (N ⊕ V = 1), то PC ← PC + k + 1 Нет 1/2 BRHS k Разветвление, если флаг полупереноса установлен, если (H = 1), то PC ← PC + k + 1 Нет 1/2 BRHC k Ветвление, если флаг полупереноса сброшен, если (H = 0), то PC ← PC + k + 1 Нет 1/2 BRTS k Переход, если T Флаг Установлен, если (T = 1), то PC ← PC + k + 1 Нет 1/2 BRTC k Переход, если T Флаг Сброшен, если (T = 0), то PC ← PC + k + 1 Нет 1/2 BRVS k Переход, если установлен флаг переполнения, если (V = 1), то PC ← PC + k + 1 Нет 1/2 BRVC k Переход, если флаг переполнения сброшен, если (V = 0), то PC ← PC + k + 1 Нет 1 / 212 8025FS – AVR – 08/08 ATmega48P / 88P / 168P / 328P ATmega48P / 88P / 168P / 328P7.Информация для заказа 7.1 ATmega48P Примечание: 1. Это устройство также может поставляться в форме пластины. Пожалуйста, свяжитесь с вашим местным торговым представительством Atmel для получения подробной информации о заказе и минимальных количествах. 2. Упаковка, не содержащая свинца, соответствует требованиям Европейской директивы по ограничению использования опасных веществ (директива RoHS). Также не содержит галогенидов и полностью экологична. 3. См. Рисунок 28-1 на странице 317 и Рисунок 28-2 на странице 318. Скорость (МГц) Код заказа блока питания (2) Упаковка (1) Рабочий диапазон 10 (3) 1,8 - 5,5 ATmega48PV-10AU ATmega48PV-10MMU ATmega48PV -10MU ATmega48PV-10PU 32A 28M1 32M1-A 28P3 Промышленный (от -40 ° C до 85 ° C) 20 (3) 2.7 - 5.5 ATmega48P-20AU ATmega48P-20MMU ATmega48P-20MU ATmega48P-20PU 32A 28M1 32M1-A 28P3 Промышленный (от -40 ° C до 85 ° C) Тип корпуса 32A 32-выводной, тонкий (1,0 мм) пластиковый четырехканальный плоский корпус (TQFP ) 28M1 28 контактных площадок, корпус 4 x 4 x 1,0, шаг выводов 0,45 мм, четырехконтактный плоский корпус без выводов / микро выводов (QFN / MLF) 32M1-A 32 контактных площадки, корпус 5 x 5 x 1,0, шаг выводов 0,50 мм Корпус с четырьмя плоскими без выводами / микро выводами (QFN / MLF) 28P3 28-выводный пластиковый двухрядный корпус шириной 0,300 дюйма (PDIP) 15 8025FS – AVR – 08/08 7.2 ATmega88P Примечание: 1.Это устройство также может поставляться в виде вафли. Пожалуйста, свяжитесь с вашим местным торговым представительством Atmel для получения подробной информации о заказе и минимальных количествах. 2. Упаковка, не содержащая свинца, соответствует требованиям Европейской директивы по ограничению использования опасных веществ (директива RoHS). Также не содержит галогенидов и полностью экологична. 3. См. Рисунок 28-1 на странице 317 и Рисунок 28-2 на странице 318. Скорость (МГц) Код заказа блока питания (2) Упаковка (1) Рабочий диапазон 10 (3) 1,8 - 5,5 ATmega88PV-10AU ATmega88PV-10MU ATmega88PV -10PU 32A 32M1-A 28P3 Промышленный (от -40 ° C до 85 ° C) 20 (3) 2.7 - 5,5 ATmega88P-20AU ATmega88P-20MU ATmega88P-20PU 32A 32M1-A 28P3 Промышленный (от -40 ° C до 85 ° C) Тип корпуса 32A, 32-выводной, тонкий (1,0 мм) пластиковый четырехканальный плоский корпус (TQFP) 28P3 28- Вывод, ширина 0,300 дюйма, пластиковый двухрядный корпус (PDIP) 32M1-A, 32 контактных площадки, корпус 5 x 5 x 1,0, шаг выводов 0,50 мм, четырехканальный плоский корпус без выводов / микро выводов (QFN / MLF) 16 8025FS – AVR –08/08 ATmega48P / 88P / 168P / 328P ATmega48P / 88P / 168P / 328P7.3 ATmega168P Примечание: 1. Это устройство также может поставляться в форме пластины. Пожалуйста, свяжитесь с вашим местным торговым представительством Atmel для получения подробной информации о заказе и минимальных количествах.2. Упаковка, не содержащая свинца, соответствует требованиям Европейской директивы по ограничению использования опасных веществ (директива RoHS). Также не содержит галогенидов и полностью экологична. 3. См. Рисунок 28-1 на странице 317 и Рисунок 28-2 на странице 318. Скорость (МГц) (3) Код заказа блока питания (2) Упаковка (1) Рабочий диапазон 10 1,8 - 5,5 ATmega168PV-10AU ATmega168PV-10MU ATmega168PV -10PU 32A 32M1-A 28P3 Industrial (от -40 ° C до 85 ° C) 20 2,7 - 5,5 ATmega168P-20AU ATmega168P-20MU ATmega168P-20PU 32A 32M1-A 28P3 Industrial (от -40 ° C до 85 ° C) Тип корпуса 32A 32-выводной, тонкий (1.0 мм) Пластиковый четырехрядный плоский корпус (TQFP) 28P3, 28 выводов, ширина 0,300 дюйма, пластиковый двухрядный корпус (PDIP) 32M1-A, 32 контактных площадки, корпус 5 x 5 x 1,0, шаг вывода 0,50 мм Quad Flat без вывода / Пакет Micro Lead Frame (QFN / MLF) 17 8025FS – AVR – 08/08 8,2 28M1 2325 Orchard Parkway, Сан-Хосе, Калифорния 95131 НАЗВАНИЕ ЧЕРТЕЖИ № R REV. A28M1 9/7/06 28M1, 28 контактных площадок, корпус 4 x 4 x 1,0 мм, шаг вывода 0,45 мм, открытая площадка 2,4 мм, корпус Micro Lead Frame Package (MLF) ВИД БОКОВОЙ Штырь 1 ID ВИД СНИЗУ ВИД ВЕРХУ Примечание: клемма №1 ID - это объект с лазерной маркировкой.DE e K A1 CA D2 E2 y L 1 2 3 b 1 2 3 0,45 ОБЩИЕ РАЗМЕРЫ (Единица измерения = мм) СИМВОЛ МИН НОМ МАКС ПРИМЕЧАНИЕ A 0,80 0,90 1,00 A1 0,00 0,02 0,05 b 0,17 0,22 0,27 C 0,20 REF D 3,95 4,00 4,05 D2 2,35 2,40 2,45 E 3,95 4,00 4,05 E2 2,35 2,40 2,45 e 0,45 L 0,35 0,40 0,45 y 0,00 - 0,08 K 0,20 - - R 0,2020 8025FS – AVR – 08/08 ATmega48P / 88P / 168P / 328P ATmega48P / 88P / 168P / 328P8. 3 32M1-A 2325 Orchard Parkway, Сан-Хосе, Калифорния, 95131 НАЗВАНИЕ ЧЕРТЕЖА № R REV. 32M1-A, 32 контактных площадки, корпус 5 x 5 x 1,0 мм, шаг вывода 0,50 мм, E32M1-A 5/25/06 3.Открытая площадка 10 мм, корпус Micro Lead Frame Package (MLF) ОБЩИЕ РАЗМЕРЫ (Единица измерения = мм) СИМВОЛ МИН. НОМ. МАКС. ПРИМЕЧАНИЕ D1 D E1 E eb A3 A2 A1 A D2 E2 0,08 CL 1 2 3 PP 0 1 2 3 A 0,80 0,90 1,00 A1 - 0,02 0,05 A2 - 0,65 1,00 A3 0,20 REF b 0,18 0,23 0,30 D D1 D2 2,95 3,10 3,25 4,90 5,00 5,10 4,70 4,75 4,80 4,70 4,75 4,80 4,90 5,00 5,10 E E1 E2 2,95 3,10 3,25 e 0,50 BSC L 0,30 0,40 0,50 P - - 0,60 - - 12o Примечание: стандарт JEDEC MO-220, рис. 2 (вставка наковальни), VHHD-2. ВИД СТОРОНА ВИД СТОРОНЫ ВИД СНИЗУ 0 Контакт 1 ID Контакт # 1 Паз (0.20 R) K 0,20 - - K K 21 8025FS – AVR – 08/08 8,4 28P3 2325 Orchard Parkway, Сан-Хосе, Калифорния 95131 НАЗВАНИЕ ЧЕРТЕЖА № R REV. 28P3, 28-выводный (ширина 0,300 дюйма / 7,62 мм) пластиковый двухрядный корпус (PDIP) B 28P3 28.09.01 КОНТАКТ 1 E1 A1 B REF E B1 CL ПЛОСКОСТЬ СИДЕНИЯ A 0º ~ 15º D e eB B2 (4 МЕСТА) ОБЩИЕ РАЗМЕРЫ (Единица измерения = мм) СИМВОЛ МИН. НОМ. МАКС.ПРИМЕЧАНИЕ A - - 4,5724 A1 0,508 - - D 34,544 - 34,798 Примечание 1 E 7,620 - 8,255 E1 7,112 - 7,493 Примечание 1 B 0,381 - 0,533 B1 1,143 - 1,397 B2 0,762 - 1,143 L 3,175 - 3,429 С 0.203 - 0,356 eB - - 10,160 e 2,540 ТИП Примечание: 1. Размеры D и E1 не включают заусенец или выступ пресс-формы. Выступ или выступ пресс-формы не должны превышать 0,25 мм (0,010 дюйма). 22 8025FS – AVR – 08/08 ATmega48P / 88P / 168P / 328P ATmega48P / 88P / 168P / 328P10.5 Rev. 2545B-01/08 10.6 Rev. 2545A- 07/07 1. Обновлены «Функции» на стр. 1. 2. Добавлено «Сохранение данных» на стр. 7. 3. Обновлена ​​таблица 8-2 на стр. 28. 4. Из таблицы «Емкость внутренней нагрузки низкочастотного кварцевого генератора» удалена ”Низкочастотный кварцевый генератор” на стр. 32.5. Удален бит JTD из «MCUCR - Регистр управления MCU» на странице 44. 6. Обновлены типичные и общие настройки программы для адресов сброса и вектора прерывания в разделах «Векторы прерывания в ATmega168P» на странице 62 и «Векторы прерываний в ATmega328P» на странице 65. 7. Обновлен начальный адрес векторов прерывания в Табл. 11-5 на стр. 63 и Табл. 11-7 на стр. 66. 8. Обновлен «Измерение температуры» на стр. 262. 9. Обновлены «Биты предохранителя ATmega328P» на стр. 296. 10 • Удалены строки VOL3 / VOh4 из «Характеристики постоянного тока» на странице 314.11. Обновлено условие для VOL в разделе «Характеристики постоянного тока» на странице 314. Обновлено максимальное значение VIL2 в разделе «Характеристики постоянного тока» на странице 314. 12. Добавлены «Характеристики постоянного тока ATmega48P» на странице 315, «Характеристики постоянного тока ATmega88P» на странице 316 и «Характеристики постоянного тока ATmega168P» на странице 316. 13. Обновлены «Характеристики системы и сброса» на странице 320. 14. Добавлены «Типичные характеристики ATmega48P» на странице 329, «Типовые характеристики ATmega88P» на странице 353 и «Типовые характеристики ATmega168P» Характеристики »на странице 377.15. Обновлено примечание в разделе «Краткое описание набора команд» на странице 12. 1. Первоначальная редакция.25 8025FS – AVR – 08/08 Штаб-квартира International Atmel Corporation 2325 Orchard Parkway San Jose, CA 95131 USA Tel: 1 (408) 441-0311 Fax : 1 (408) 487-2600 Atmel Asia Room 1219 Chinachem Golden Plaza 77 Mody Road Tsimshatsui East Kowloon Hong Kong Тел .: (852) 2721-9778 Факс: (852) 2722-1369 Atmel Europe Le Krebs 8, Rue Jean-Pierre Timbaud BP 309 78054 Saint-Quentin-en-Yvelines Cedex France Тел: (33) 1-30-60-70-00 Факс: (33) 1-30-60-71-11 Atmel Japan 9F, Tonetsu Shinkawa Bldg.1-24-8 Шинкава Тюо-ку, Токио 104-0033 Япония Тел .: (81) 3-3523-3551 Факс: (81) 3-3523-7581 Веб-сайт для связи с продуктами www.atmel.com Техническая поддержка avr @ atmel. com Контактная информация по продажам www.atmel.com/contacts Запросы на литературу www.atmel.com/literature Заявление об ограничении ответственности: Информация в этом документе предоставляется в связи с продуктами Atmel. Настоящий документ или в связи с продажей продуктов Atmel не дает никаких лицензий, явных или подразумеваемых, путем эстоппеля или иным образом, на какие-либо права интеллектуальной собственности.ЗА ИСКЛЮЧЕНИЕМ ИЗЛОЖЕНИЙ, ИЗЛОЖЕННЫХ В УСЛОВИЯХ ПРОДАЖИ ATMEL, РАЗМЕЩЕННЫХ НА ВЕБ-САЙТЕ ATMEL, ATMEL НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ И ОТКАЗЫВАЕТСЯ ОТ ЛЮБЫХ ЯВНЫХ, ПОДРАЗУМЕВАЕМЫХ ИЛИ ЗАКОНОДАТЕЛЬНЫХ ГАРАНТИЙ, ОТНОСЯЩИХСЯ К СВОЕЙ ПРОДУКЦИИ, НЕ ВКЛЮЧАЯ В СВОЮ ПРОДУКЦИЮ ПРИГОДНОСТЬ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ ИЛИ НЕ НАРУШЕНИЯ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ATMEL НЕ НЕСЕТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЙ ПРЯМЫЙ, КОСВЕННЫЙ, КОСВЕННЫЙ, КАРАТЕЛЬНЫЙ, СПЕЦИАЛЬНЫЙ ИЛИ СЛУЧАЙНЫЙ УБЫТК (ВКЛЮЧАЯ, БЕЗ ОГРАНИЧЕНИЙ, УБЫТКИ, ПОЛУЧЕННЫЕ ПОТЕРИ ПРИБЫЛИ, ПРЕРЫВАНИЕ БИЗНЕСА ИЛИ ПОТЕРЯ ИНФОРМАЦИИ ИЛИ ИСПОЛЬЗОВАНИЕМ) ДЛЯ ИСПОЛЬЗОВАНИЯ ДАННОГО ДОКУМЕНТА, ДАЖЕ ЕСЛИ ATMEL ПРЕДУПРЕЖДЕНИЕ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ.Atmel не делает никаких заявлений или гарантий относительно точности или полноты содержания этого документа и оставляет за собой право вносить изменения в спецификации и описания продуктов в любое время без предварительного уведомления. Atmel не берет на себя никаких обязательств по обновлению информации, содержащейся в данном документе. Если специально не указано иное, продукты Atmel не подходят и не должны использоваться в автомобильной промышленности. Продукция Atmel не предназначена, не санкционирована и не подлежит гарантии для использования в качестве компонентов в приложениях, предназначенных для поддержки или поддержания жизни.© 2008 Atmel Corporation. Все права защищены. Atmel®, логотип и их комбинации, AVR® и другие являются зарегистрированными товарными знаками или товарными знаками Atmel Corporation или ее дочерних компаний. Другие термины и названия продуктов могут быть товарными знаками других компаний. 8025FS – AVR – 08/08

Atmega328 datasheet

Мы используем файлы cookie, чтобы вам было удобнее пользоваться нашим сайтом. Используя наш веб-сайт и услуги, вы прямо соглашаетесь на размещение наших файлов cookie производительности, функциональности и рекламных файлов.Пожалуйста, смотрите нашу Политику конфиденциальности для получения дополнительной информации. Цель Образца приложения — помочь пользователям избежать любых убытков, претензий, исков или расходов, возникших в результате такого использования.

Arduino остается собственностью команды Arduino. Все ссылки на слово Arduino и Arduino Hardware находятся под лицензией. Имеет 14 плат. См. Также сопоставление контактов Arduino и портов Atmega. Ардуино. Программное обеспечение Arduino включает в себя провод, см. Техническое описание ATmega. Arduino Duemilanove можно запрограммировать с помощью загрузки программного обеспечения Arduino.Он имеет 14 портов digitalAtmega. Arduino Uno имеет ряд средств для связи с компьютером, еще одним Arduino или другими микроконтроллерами.

Arduino Uno можно запрограммировать с помощью загрузки программного обеспечения Arduino. Он имеет более или менее ту же функциональность, что и. Ардуино Нано 3.

Arduino Nano 2. Arduino Nano можно запрограммировать с помощью программного обеспечения Arduino, загрузив справочник и учебные пособия. Это позволит вам использовать код Arduino в вашем собственном встроенном проекте без необходимости использовать настоящую плату Arduino.Чтобы этот чип работал с Arduino IDE, вам понадобится внешний кристалл или резонатор на 16 МГц, плата Arduino Duemilanove с напряжением 5 В, в которой все это встроено в плату. Пакет может быть запрограммирован в цепи. Atmel Atmega Datasheet 1. Uno и версия 1.

Аннотация: абстрактный текст недоступен. Текст: .Если вы вообще какое-то время работали с Arduino, вы знаете, как написать для него программу.

Описание выводов Atmega 328

Мы используем Arduino Uno для программирования микросхемы ATmegap, которая подключена к плате в гнезде интегральной схемы IC.Но после того, как вы закончите программировать чип, нет смысла оставлять его прикрепленным к плате Arduino Uno. Плата занимает много места и действительно используется для упрощения программирования микросхемы. Вы можете увидеть гнездо, из которого я удалил чип, и вы можете видеть, что сам чип намного меньше, чем плата.

Это означает, что ваш конечный продукт может быть намного меньше. Все очень просто. Это один провод 5 В, идущий от шины макетной платы к контакту 7 ATmegap. ATmegap на самом деле запитан на картинке, но по какой-то причине он не запускает наш скетч.Почему бы нет? Все это связано с тем, как ATmegap настроен для работы на Uno. Когда производитель настраивает чип для использования с UNO, он должен установить некоторые внутренние переключатели на ATmegap, называемые битами предохранителя, чтобы он работал должным образом с соответствующим оборудованием Arduino Uno.

ATmegap может работать на различных тактовых частотах.

ATmega328 Atmel Corporation, ATmega328 Datasheet

Он может работать на частоте 1 МГц, один миллион циклов в секунду, 8 МГц и 16 МГц. Однако он может работать на частоте 16 МГц только в том случае, если к нему подключен внешний кристалл.Если вы посмотрите на таблицу и спуститесь к разделу 5. Но теперь нам нужно найти место, где мы должны установить кристалл. Если вы присмотритесь, вы увидите, что контакт 9 обозначен как xtal1, а вывод 10 — как xtal2. Однако, глядя на эту диаграмму, вы не узнаете, что вам также нужно добавить к этим контактам два керамических неполяризованных конденсатора 22 пФ.

Подключите один вывод одной крышки к выводу 9, а другой вывод — к земле. Затем вы подключите один контакт другой крышки к контакту 10, а другой контакт — к земле.Затем вы подключите кристалл 16 МГц так, чтобы один контакт был на контакте 9, а один контакт был на контакте. Вот его быстрый снимок на макетной плате, а затем в конце этой статьи я предоставлю вам схему, чтобы вы могли легче увидеть, как все взаимосвязано. Хорошая статья.

Вы всегда можете повысить уровень членства и опередить толпу. Предметы, перечисленные в Add Hunters, включают электронику, домашних животных, автомобили, транспортные средства и другие категории, включая землю и имущество. Для получения более подробной информации посетите наш веб-сайт www.Комментарии 4. Добавить комментарий Предварительный просмотр комментария. Уведомлять меня, когда добавляются новые комментарии. Amazon FBA — это услуга, которую мы предлагаем продавцам, которая позволяет им хранить свои продукты в центрах выполнения Amazon, и мы непосредственно упаковываем, отправляем и обеспечиваем обслуживание клиентов для этих продуктов.

Если вы продавец, Fulfillment by Amazon может помочь вам в развитии вашего бизнеса. Узнать больше о программе. На ваш вопрос могут ответить продавцы, производители или покупатели, которые приобрели этот товар, которые являются частью сообщества Amazon.Убедитесь, что вы публикуете сообщение в форме вопроса. Пожалуйста, введите вопрос. Перейти к основному содержанию. Бесплатная дневная доставка в пределах США. Цены могут отличаться для AK и HI. Верните этот товар бесплатно. Возможен бесплатный возврат для выбранного вами адреса доставки.

Вы можете вернуть товар по любой причине в новом и неиспользованном состоянии и получить полную компенсацию: доставка отсутствует. Узнайте больше о бесплатном возврате. Как вернуть товар? Перейдите к своим заказам и начните возврат. Выберите способ доставки. Отправьте!

В наличии.Добавить в корзину.

Безопасная транзакция. Ваша транзакция безопасна. Мы прилагаем все усилия, чтобы защитить вашу безопасность и конфиденциальность. Наша система безопасности платежей шифрует вашу информацию во время передачи. Выучить больше. Продано jekewin и выполнено Amazon. ATmega Atmegap-pu D Добавить варианты подарков. Есть в продаже? Аппарат работает с 1.

Выполняя мощные инструкции за один такт, устройство достигает пропускной способности, приближающейся к 1 MIPS на МГц, балансируя энергопотребление и скорость обработки.

Для сравнения продуктов, пожалуйста, обратите внимание: ATmegaPB. IAR предлагает полностью интегрированную среду разработки, включающую компилятор, ассемблер, компоновщик и отладчик. Найти подходящий компилятор для поддержки вашего устройства очень просто: В эту коллекцию входят компилятор, ассемблер, компоновщик, а также стандартные библиотеки C и математические библиотеки. Большинство этих инструментов основаны на усилиях GNU www.

Дополнительную информацию см. В примечаниях к выпуску.

Atmel Atmel START — это инновационный онлайн-инструмент для интуитивно понятного графического конфигурирования проектов встроенного программного обеспечения.Он позволяет вам выбирать и настраивать программные компоненты, драйверы и промежуточное ПО, а также полные примеры проектов, специально адаптированные к потребностям вашего приложения.

Этап конфигурации позволяет вам просматривать зависимости между программными компонентами, конфликты и аппаратные ограничения. Скоро ожидается AVR! Наш самый доступный отладчик может произвести впечатление. Оценочный комплект поставляется с полностью интегрированным отладчиком, который обеспечивает бесшовную интеграцию с Atmel Studio. Комплект обеспечивает доступ к функциям ATmegaP, позволяя легко интегрировать устройство в индивидуальную конструкцию.

Кроме того, Power Debugger имеет два независимых канала измерения тока для измерения и оптимизации энергопотребления. Полный стартовый комплект и система разработки для 8-битных и битовых микроконтроллеров AVR, которая дает разработчикам быстрый старт для разработки кода для AVR, с расширенными функциями для создания прототипов и тестирования новых проектов.

Устройство AVR подключается к STK с помощью инновационной системы маршрутизации и сэндвич-карт с сокетными картами, которая направляет сигналы от устройства к подходящему. Для получения информации о ценах и наличии обратитесь в местный отдел продаж Microchip.Среда разработки. Подобные устройства. Перейти к: Выберите тип. Таблицы данных. Примечания по применению Загрузить все. Исходный код Appnote. Файлы дизайна платы. Белые бумаги. Интегрированные среды разработки. Выучить больше. Добавить в корзину. Комплект обеспечивает доступ к функциям ATmegaP, позволяя легко интегрировать устройство в индивидуальную конструкцию. Узнать больше.

Кроме того, Power Debugger имеет два независимых канала измерения тока для измерения и оптимизации энергопотребления по номеру детали.Активный режим: 0. Конфигурации контактов Рисунок Описание контактов 1.

Выходные буферы порта B имеют симметричный привод. Различные особенности порта D подробно описаны в. Он должен быть подключен к V извне через фильтр нижних частот. Микроконтроллеры CISC. Инструкция SPM может выполняться со всей Flash. Примечание. 4. Результаты аттестации на надежность хранения данных показывают, что прогнозируемая частота отказов при сохранении данных намного меньше, чем на 1 PPM. Основная функция ядра ЦП — обеспечение правильного выполнения программы.

Следовательно, ЦП должен иметь возможность доступа к памяти, выполнения вычислений, управления операцией ALU, два операнда выводятся из файла регистров, операция выполняется, а результат сохраняется обратно в файл регистров — за один такт. Шесть из 32 регистров могут использоваться как три справочника набора команд. Во многих случаях это устраняет необходимость использования специальных инструкций сравнения, что приводит к более быстрому и компактному коду.

Регистр состояния не сохраняется автоматически при входе в программу обработки прерывания, и R31 имеет некоторые дополнительные функции для их общего использования.Эти регистры представляют собой указатели битовых адресов для косвенной адресации пространства данных. Каждый из трех регистров косвенного адреса X, Y, Эти прерывания и отдельный вектор сброса имеет отдельный программный вектор в области памяти программ.

Всем прерываниям назначаются отдельные биты разрешения, которые должны быть памятью AVR 8. Рисунок Время доступа к памяти данных В этом разделе описываются общие концепции времени доступа для доступа к внутренней памяти. Эти регистры могут использоваться для хранения любой информации, и они особенно полезны для хранения глобальных переменных и флагов состояния.В примерах предполагается, что прерывания управляются таким образом, что прерывания не возникают во время выполнения этих функций.

Системные часы и параметры тактовой частоты 9. Чтобы снизить энергопотребление, тактовую частоту неиспользуемых модулей можно остановить, используя тактовую частоту флэш-памяти, которая обычно активна одновременно с тактовой частотой процессора. Таблица Typ Time-out V Основная цель задержки — удерживать AVR в состоянии сброса до тех пор, пока на него не поступит минимальное напряжение V, задержка не будет контролировать фактическое напряжение. Генератор малой мощности может работать в трех различных режимах, каждый из которых оптимизирован для определенной частоты. диапазон производительности.

Диапазон частот Примечания: Хотя эти часы зависят от напряжения и температуры, эти часы могут быть очень точно откалиброваны пользователем. См. Условия питания. BOD включен. Быстрый рост мощности. Медленный рост мощности. При применении внешнего тактового сигнала, необходимого для предотвращения резких изменений применяемой тактовой частоты для обеспечения стабильной работы MCU.

Вариант в При переключении между настройками предварительного делителя, предварительный масштабатор системных часов обеспечивает отсутствие сбоев в системе синхронизации.Это также гарантирует, что никакая промежуточная частота не будет выше, чем ни тактовая частота, соответствующая предыдущей настройке, ни clockOne, которые включают меньше частей, меньше частей и меньше долларов.

Создание автономной Atmega намного проще, чем вы могли представить, и может открыть широкий спектр возможностей для новых проектов. Лист данных Atmega:.

Вы использовали это руководство в своем классе? Добавьте заметку для учителя, чтобы рассказать, как вы использовали ее в своем уроке.Список покупок содержит части, полностью готовые к работе. Никакой конфигурации или настройки не требуется! Эти части поставляются Sparkfun, использующими их части, но широко доступны на других электронных веб-сайтах. Sparkfun достаточно любезен, чтобы наклеить на чип небольшую наклейку, чтобы вы знали, чему соответствует каждый вывод.

Parts: Atmega DEV — убедитесь, что на нем установлен загрузчик. Вы можете надеть его, но у этого он есть, и он делает все намного проще. Средняя нога идет к земле, а две другие ноги идут к выводу 9 и, возможно, стабилитрону, если вы можете потратить немного энергии на тепло?

Если вы используете керамический кристалл, подключите кристалл между контактами 9 и 10, идущими к GND, и подключите конденсаторы 22pf между GND и контактами.

Кнопка сброса: с контакта 1 RST создайте соединение с вашей кнопкой.

ATmega328P

На другой ноге с той же стороны кнопки подключите резистор 10 кОм к GND. Теперь, когда вы нажимаете на нее, Atmega перезагружается. Вы также можете добавить различные светодиоды, чтобы проверить, например, поступает ли мощность. В этот момент вам может быть интересно, как это будет когда-либо запрограммировано?

USB-разъема нигде нет. Поищите на сайте. Навигация домой. Выставка Леонарда Бирчелла.ПЛК [Аппаратный проект]. Контроллер портфеля [в разработке].

Проекты SolidWorks.

Подписаться на RSS

Крепления для седельных сумок Shadow RS. Отказ системы безопасности Viper. Библиотека данных. Учебники для друзей. Полезные инженерные материалы. Ресурсы Sparkfun. Справочник по Arduino. Проекты Fritzing. Ада Фрут. Техническое описание Atmega8. Ссылки на программное обеспечение. Никто EE не любит Minecraft !!! Текущая история новой музыки.

White Wolf Ent. Таймеры — это сердце автоматизации. В предыдущих главах мы видели, как мы можем принимать входные данные, выполнять математические функции с данными и выполнять действия.

Таймеры дают нам дополнительный уровень контроля, давая нам контроль не только над тем, что происходит, но и когда это происходит. Мы можем установить временную задержку для самоуничтожения в нашем логове зла, мы можем контролировать частоту вспышек нашего робота, вызывающего припадки, и мы можем гарантировать, что наш луч смерти не сработает до того, как он полностью зарядится. Источник синхросигнала от внутренних часов или внешнего источника отправляет импульсы на предварительный делитель, который делит импульсы на определенную величину.

Этот вход отправляется в схему управления, которая увеличивает регистр TCNTn.К сожалению, таймер AVR обрабатывает время в часах, минутах или секундах, к которому мы привыкли. Однако, будучи злыми вдохновителями, у нас есть решение, оно требует лишь немного математики и нашего старого друга, предделителя.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *