Продолжим. После того, как мы ознакомились с процессом отладки написанной нами программы в "atmel studio" и виртуально собрали схему с одним светодиодом в "proteus", пришло время собрать схему в "железе" и прошить микроконтроллер.
Для программирования опытного экземпляра (atmega 8) будем использовать программатор USBASP. Он выглядит следующим образом:
К разъему будет подключатся шлейф, в который подключаются джамперы, что в свою очередь будут подключены к гнездам макетной платы, на которой установлен микроконтроллер:
Первый вывод отмечен на разъеме стрелочкой.
После того, как разобрались с программатором. Переходим к сбору схемы в "железе". Монтируем микроконтроллер на макетную плату. Напоминаю - первая ножка отмечена на МК маленьким кружком.
Задача состоит в том, чтобы соединить выводы программатора с выводами "камня".
Подключаем джамперы в 10 контактный разъем. Задействуем следующие выводы MOSI, RST, SCK, MISO, VTG (VCC), GND.
Надеюсь вы уже скачали datasheet на atmega8. Если нет, его можно скачать здесь. Смотрим на распиновку выводов микроконтроллера.
Соединяем джамперы со следующими выводами:
- VCC к 7 выводу МК;
- SCK к 19 выводу МК;
- MISO к 18 выводу МК;
- MOSI к 17 выводу МК;
- GND (10 вывод программатора) к 8 выводу МК;
- RST к 1 выводу МК;
Для дальнейшем успешной работы, операционная система при первом запуске шайтан-машины (программатора) предложить установить необходимые для работы устройства драйвера.
При работе с экспишкой проблем возникнуть не должно. Скачиваем драйвер. Создаём папку, в которую распаковываем скаченный архив. После чего в мастере установки оборудования указываем путь на папку с разархивированным драйвером.
Если вы работаете в windows 7 или выше, могут возникнуть небольшие трудности. Драйвера для программатора достаточно старые, поэтому у них нет цифровой подписи. При попытке установить такой драйвер операционка выдаст, что-то на подобии этого *
"Не удается проверить цифровую подпись драйверов, необходимых для данного устройства. При последнем изменении оборудования или программного обеспечения могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного происхождения. (Код 52)".
Чтобы исправить ситуацию нужно отключить проверку цифровой подписи драйвера. Описывать способы отключения не буду (у каждого своя операционная система), их можно найти в интернете.
После того, как отключите проверку подписи, в мастере установки оборудования укажите путь на папку с разархивированным драйвером.
Надеюсь у вас всё получилось и программатор готов к работе.
Переходим к сбору схемы со светодиодом.
Для прошивки микроконтроллера будем использовать программу "avrdudeprog". Она лежит в общем архиве.
Выбираем atmega8 из списка микроконтроллеров. После того, как выбрали МК появиться окошко, которое известит о том, что фьюзы и Lock биты установлены по умолчанию.
Следующим шагом будет нужно считать калибровочные ячейки. Если вы подключили всё правильно, то увидите следующее сообщение.
Затем открываем вкладку фьюзы (Fuses). Простыми словами Fuses — это конфигурационные настройки МК, с которыми лучше не играть. Для случая, когда вы приобрели такой же контроллер, как я и у вас нет внешнего кварцевого резонатора (вы используете внутренний генератор тактовой частоты), выставляете точно такие галочки, как представлены на картинке. Обязательно возле пункта «инверсные» должна стоять галочка.
Выставленные настройки "командуют" Atmega8A выполнять свою работу при условии тактирования от внутреннего генератора (частота тактирования 8 МГц). Для того, чтобы настройки вступили в силу нужно нажать кнопку "Программирование". Но перед нажатием еще два раза проверьте все ли выставили должным образом.
Возвращаемся на страницу "Program".
После того, как мы уже сообщили программе, какой именно микроконтроллер будем шить, выбираем файл прошивку, которую написали в прошлом уроке. Она имеет расширение HEX. Находится в папке «Debug»
Перед тем, как прошивать "камушек" нажимаем на кнопку "Стереть все". Это обезопасит вас от непонятных ошибок (вдруг камень уже шили):
Нажимаем "Программирование". Если все прошло успешно программа выдаст
Картотека программирования
Наслаждаемся результатом своей работы :-) Продолжение следует...