Подключаемся к микроконтроллерам AVR для программирования
Для начала будем работать с микроконтроллером ATmega8 и программатором AVRISP mkII.
Программатор имеет следующие разъёмы:
Схема подключения ATmega8
Для программирования микроконтроллера необходимо правильно подключить питание и линии интерфейса программирования.
Биты установок — фьюзы
Независимо от используемого программатора и среды разработки, для микроконтроллеров AVR необходимо понимать назначение конфигурационных битов — фьюзов.
В наших примерах будем использовать Microchip Studio.
- RSTDSBL (ReSeT DiSaBLe) — отключает функцию аппаратного RESET и превращает соответствующий вывод микроконтроллера в обычный порт ввода/вывода.
- CKSEL0..3 (ClocK SELect) — используются для выбора источника и режима тактирования микроконтроллера: внутренний RC-генератор, внешний кварц и другие варианты.
- CKDIV8 (ClocK DIVision 8) — при включении делит тактовую частоту на 8.
- CKOPT (ClocK OPTimization) — управляет режимом работы тактового генератора, его энергопотреблением и помехоустойчивостью.
- SUT0..1 (Start Up Time) — определяют задержку запуска микроконтроллера после подачи питания или сброса.
- SPIEN (Serial Programming Interface ENable) — разрешает или запрещает программирование через последовательный интерфейс.
- JTAGEN (JTAG ENable) — разрешает или запрещает работу интерфейса JTAG.
- EESAVE (EEPROM SAVE) — позволяет сохранить содержимое EEPROM при стирании микроконтроллера.
- WDTON (Watch Dog Timer ON) — определяет режим запуска сторожевого таймера.
- BODEN и BODLEVEL — отвечают за включение и настройку контроля напряжения питания микроконтроллера.
- BOOTRST (BOOT ReSeT) — позволяет запускать программу из области загрузчика Boot Loader.
Программирование в Microchip Studio
Программный код будем писать в Microchip Studio.
Для перехода к окну программирования микроконтроллера нажимаем Ctrl + Shift + P. В открывшемся окне выбираем программатор, микроконтроллер и необходимые параметры подключения.
Плата Arduino Nano
В дальнейших уроках мы также будем использовать готовую плату Arduino Nano на базе микроконтроллера ATmega328P.
Эту плату также можно программировать непосредственно через программатор AVRISP mkII.
Расположение выводов ATmega328P
Для дальнейшей работы пригодится схема расположения и назначения выводов микроконтроллера ATmega328P.