Подключаемся к микроконтроллерам фирмы Atmega, для программирования и написания программного кода.

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

Подключаться мы будем к микроконтроллеру Atmega8, через программатор AVRISP mkII, он имеет следующие разъемы:

 

Схема подключение микроконтроллера:

Каким бы Вы не пользовались программатором и средой разработки, Вам обязательно понадобиться настроить биты установок (Мы будем использовать Microchop Studio):

Биты установок (фьюзы):

  • RSTDSBL (ReSeT DiSaBLe) — «запретить ресет», превращает пин для сброса МК в обычный порт ввода/вывода;
  • CKSEL0..3 (ClocK SELect) — четыре бита для установки параметров и источника тактового сигнала МК (внешний кварц, внутренний RC-генератор, делитель частоты и т.п.);
  • CKDIV8 (ClocK DIVision 8) — если этот бит установлен то тактовая частота от внутреннего RC-генератора будет делиться на 8;
  • CKOPT (ClocK OPTimization) — задает размах сигнала (амплитуду) с выходного тактового генератора, оптимизация потребляемого тока, влияет на помехоустойчивость;
  • SUT0..1 (Start Up Time) — установка временной задержки запуска программы после подачи питания или перезапуска МК;
  • SPIEN (Serial Programming Interface ENable) — разрешение/запрещение программирования МК через последовательный программный интерфейс;
  • JTAGEN (JTAG ENable) — разрешает/запрещает использование JTAG интерфейса;
  • EESAVE (EEprom SAVE) — если этот бит установлен, то содержимое энергонезависимой памяти будет сохранено после стирания кристалла (опция -e в AVRDude);
  • WDTON (Watch Dog Timer ON) — отключение программного управления сторожевым таймером, запуск таймера автоматически при подаче питания на МК;
  • BODEN (Brown-Out Detection ENabled), BODLEVEL (Brown-Out Detection LEVEL) — биты для включения и настройки мониторинга за напряжением питания МК;
  • BOOTRST (BOOT ReSeT) — выполнять запуск через загрузчик (Boot Loader), микроконтроллер начнет выполнение программы не с адреса 0x0000 (по умолчанию), а с адреса где расположен загрузчик.

Программный код будем писать в программе  Microchip Studio. Для заливки ПО в микроконтроллер необходимо нажать Ctrl+Shift+P. В окне появиться надстроечное меню где мы будем настраивать наш контроллер перед программированием (Ваши настройки будут зависит от микроконтроллера):


Так же мы будем использовать готовую плату Arduino Nano (на микроконтроллера Atmega 328P):

Так же данную плату можно программировать с помощью программатора AVRISP mkII:

Единственно, при программировании платы Arduino Nano через программатор AVRISP mkII, Вы скорей всего сотрете внутренний загрузчик, который использует среда программирования Arduino IDE.  Как восстановить загрузчик у меня будет отдельный урок.
Расположение выходов микроконтроллера Atmaga328P: