Программирование микроконтроллеров atmel (micro chip)

Интерфейс программирования

Программатор Atmel AVRISP mkII ISP

Почти все типы могут быть запрограммированы через SPI через ISP (AVR ISP, In-System Programmer ), который может быть подключен к последовательному , параллельному или USB- интерфейсу ПК через простой адаптер для программирования . Особенность заключается в том, что не нужно удалять процессор из целевой схемы. Вместо этого его можно перепрограммировать при установке. Вы также можете запрограммировать микросхему AVR с помощью программатора HV (High-Voltage-Programmer), напряжение которого составляет 12 В. Это необходимо, если вывод сброса, необходимый для интерфейса ISP, был деактивирован путем установки битов предохранителя — например, для использования его в качестве вывода ввода / вывода из-за отсутствия свободных выводов — и микросхема больше не может быть запрограммирована через Интернет-провайдер.

Более новые типы также имеют интерфейс отладки, который в случае контроллеров меньшего размера (серия ATtiny и семейство 32-контактных ATmega) требует только линии сброса в дополнение к линиям питания ( debugWIRE ).
С другой стороны, с более крупными контроллерами семейства ATmega проще обойтись без нескольких контактов (6), поэтому здесь используется интерфейс JTAG . При этом программа, загруженная в микроконтроллер, может быть исследована в конкретной аппаратной среде с использованием дополнительного оборудования / программного обеспечения в соответствии со стандартом IEEE 1149.1 , и любые ошибки программирования могут быть удалены (отлажены).

Microchip Studio (Atmel Studio 7)

Все, кто хоть раз имел дело с разработкой программного кода для микроконтроллеров, наверняка слышали о среде Atmel Studio. После того как Microchip завершила сделку по покупке компании Atmel в 2016 году, все права на среду разработки (как и на сами микроконтроллеры) перешли к новому правообладателю, а сама IDP стала носить гордое название Microchip Studio.

Microchip Studio представляет собой интегрированную платформу разработки (IDP) для создания и отладки приложений на базе микроконтроллеров AVR и SAM. Atmel Studio влилась в широкое портфолио средств разработки от Microchip и предлагает пользователям простой в использовании функционал для написания, сборки и отладки приложений, написанных на языках C/C++ или ассемблере (Рисунок 8).

Рисунок 8. Пример работы с проектом в среде Microchip Studio.

Несмотря на то, что среда получила новое название и слегка измененный внешний вид, пользователи по-прежнему могут свободно использовать документацию, курсы и видеоуроки, созданные для Atmel Studio. То же касается и аппаратной части, в частности программаторов AVR и SAM.

Microchip Studio устанавливается вместе с компиляторами avr-gcc, avr32-gcc и arm-none-eabi-gcc, в дополнение к которым был также добавлен MPLAB XC8. Его расширенная версия MPLAB XC8 PRO включает в себя улучшенную степень оптимизации, уменьшенный размер кода и успешно конкурирует с более дорогими представленными на рынке решениями.

Ключевые особенности среды Microchip Studio:

  • Поддержка более 500 устройств AVR и SAM;
  • Встроенный компилятор MPLAB XC8;
  • Более 1600 примеров проектов с исходными кодами, доступными через Advanced Software Framework (ASF);
  • Расширение возможностей IDE через Microchip Gallery – онлайн-магазин инструментов разработки и встроенного программного обеспечения от Microchip и сторонних производителей;
  • QTouch Composer – набор инструментов для разработки и настройки емкостных сенсорных устройств, проверки производительности системы, мониторинга энергопотребления с возможностью работы в режиме реального времени;
  • Wireless Composer набор инструментов для разработки и настройки беспроводных устройств;
  • Расширенные функции отладки, включая степпинг и точки останова, поддержку трассировки (SAM3 и SAM4), статистическое профилирование кода, отслеживание/мониторинг прерываний, отслеживание значений переменных в режиме реального времени и многое другое;
  • Встроенный редактор кода, менеджер проектов, виртуальный симулятор, модуль внутрисхемной отладки и интерфейс командной строки;
  • Возможность написания кода и моделирования прерываний, работы периферийных устройств и других внешних воздействий для конкретной модели контроллера;
  • Возможность создания дизайна приложений с низким энергопотреблением;
  • Отслеживание данных о потребляемой мощности во время отладки программы при помощи Power Debugger.

Еще одной особенностью является возможность импорта в Microchip Studio проектов Arduino, что позволяет значительно упростить и ускорить процесс перехода от создания прототипа к организации полноценного производства. Microchip Studio поддерживает работу с Arduino Zero и платами расширения Arduino Shield.

Далее настройка оборудования

В Меню – Установки выбираем «Настройка оборудования»

Выбираем порт «Последовательный» в сплывающем меню выбираем тип программатора JDM API. Из четырех возможных вариантов COM портов выбираем активный, или если несколько активных портов – тот, к которому вы подключили оборудование. В моем случае – это единственный COM1.

1. Если вы хотите прошивать микросхему памяти 24CXX, то необходимо поставить галочку на «Инвертировать Reset» а остальные оставить без галочки. Вот настройки для микросхем памяти EEPROM 24CXX такие, как показано ниже на рисунке:

Важно! Смотрите как нужно соединить джампера на плате: — 5 джамперов (перемычек) — 7 джамперов (перемычек)

2. Если хотите прошивать микроконтроллеры PIC, то настройки должны быть как на рисунке:

Важно! Смотрите как нужно соединить джампера на плате:

Нажимаете Ок. Теперь программа настроена!

Для того, чтобы программатор прошивал на ура, его программная часть должна иметь приоритет реального времени, для этого:

1. нажимаете Ctrl+Alt+Delete

2. Откроется диспетчер задач, где нужно проделать следующее:

То есть задать программе PonyProg2000.exe приоритет реального времени.

PonyProg2000

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

PonyProg2000 получила большую известность благодаря простой и доступной в изготовлении аппаратной части, которая подключается к последовательному (COM) или параллельному (LPT) порту обычного компьютера. Программное обеспечение поддерживает интерфейсы оборудования JDM / Ludipipo, EasyI2C, DT-006 AVR (от Dontronics) и AVR ISP (STK200/300). В аппаратную часть программатора устанавливается микроконтроллер или микросхема EEPROM / флэш-памяти.

После предварительной настройки PonyProg2000 может считывать и записывать программный код или данные, редактировать текст программы путем модификации значений байтов, очищать память и даже программировать легендарные FUSE-биты. Для организации связи с устройством программатор поддерживает интерфейсы: SPI EEPROM, I2C, Microwire для микросхем памяти и Atmel AVR, MicroCHIP PicMicro для микроконтроллеров. Программа входит в джентльменский набор любого хакера поскольку позволяет взламывать защитные коды с автомобильных магнитол, мобильных телефонов и других устройств.

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

Программа работает во всех 32-битных операционных системах Windows, а также Linux и UNIX при установке соответствующей версии.

Распространение программы: Freeware (бесплатная)

Комментарии (2) | Подписаться

Вышла новая версия, портированная на Qt. Из новшеств:

Полностью переработано и дополнено текстовой информацией окно программирования FUSE/LOCK-битов; Программа собирается с Qt версий 4.8 и выше, совместима с Qt 5; Проект собирается с компиляторами, поддерживающими параметр c++0x и выше. В том числе возможна сборка исходников на дистрибутивах 2012 года, например, Ubuntu 12.04; Поддержка многоязычности и переключения локали интерфейса «на лету»; Файлы перевода основаны на простых текстовых файлах для облегчения тестирования новых локализаций энтузиастами, не имеющих опыта работы с Qt Linguist; Оптимизирован поиск информации при выборе микросхемы; Переработаны внутренние структуры для более простого расширения программы под новые чипы

MPLAB Harmony v3

MPLAB Harmony представляет собой фреймворк для разработки встроенного программного обеспечения на базе 32-разрядных микроконтроллеров и микропроцессоров. MPLAB Harmony предоставляет пользователю гибкие и функционально совместимые программные модули, которые выступают в роли строительных блоков при создании приложения и упрощают процесс разработки и, как следствие, способствуют сокращению времени вывода продукта на рынок (Рисунок 7).

Рисунок 7. Пример настройки проекта в MPLAB Harmony.

Модули в MPLAB Harmony делятся на четыре категории:

  • Библиотеки периферии;
  • Драйверы устройств;
  • Системные службы;
  • Промежуточное программное обеспечение (middleware).

Библиотеки периферии (PLIB) обеспечивают низкоуровневый интерфейс с периферийными модулями, позволяя разработчику не задумываться о том, что происходит на уровне регистров, чем облегчают написание драйверов для микроконтроллеров семейства PIC. Однако библиотеки не предназначены для применения непосредственно в приложении, поскольку при использовании нескольких библиотек очень высока вероятность конфликта, возникающего при распределении ресурсов. Драйверы устройства являются надстройкой над библиотеками и обеспечивают простое и высокоабстрактное взаимодействие с периферийными модулями с помощью определенных функций. Применение драйверов также позволяет избежать конфликтов между библиотеками. Middleware-модули необходимы для организации работы периферийных блоков со сложными протоколами, например, стеков TCP/IP, USB. За тем, чтобы драйверы или middleware-модули не конфликтовали между собой из-за каких-либо общих ресурсов, следят системные службы.

Исходя из всего вышесказанного, к ключевым преимуществам MPLAB Harmony можно отнести:

  • Независимая от ядра реализация, поддерживает архитектуры MIPS и Cortex Arm;
  • Переносимость кода даже в пределах разных семейств контроллеров;
  • Простой процесс настройки и работы благодаря графическому интерфейсу и конфигуратору MPLAB Harmony Configurator (MHC), который позволяет проводить конфигурацию и генерацию начального кода, периферийных библиотек и промежуточного программного обеспечения (USB, TCP / IP и т. д.);
  • Многоуровневая модульная структура, соответствующая стандартам MIRSA-C: 2012;
  • Более 1000 примеров приложений;
  • Возможность работы с 32-разрядными семействами PIC (на базе MIPS) и SAM (на базе Cortex Arm);
  • Возможность работы со сторонними решениями, такими как FreeRTOS и Micrium, возможность импортировать проекты, созданные в IAR Embedded Workbench

MPLAB Harmony доступна для загрузки из репозитория Harmony GitHub []. Также она может установлена в MPLAB X IDE через раздел плагинов.

Настройка программы ponyprog2000

Устанавливаете файл setup.exe, затем можете русифицировать, закинув файлponyprog2000.exe в установленную папку, ответив «да» на вопрос «вы хотите заменить существующий файл?».

После установки запускаем в компьютере программу PonyProg. Появляется окно приветствия (поставьте галочку «Выключить звук» чтобы жена не пугалась при последующих запусках программы!):

Появятся еще два окна по очереди по мере нажатия «Ок»:

Нажали «Ок». Всё, сейчас программа открыта!

Сейчас нужно сделать калибровку и настроить оборудование. В меню – Установки выбираем «Калибровка»

Соглашаемся. Появится сообщение «Калибровка завершена«. Нажимаем «Ок«.

Немецкоязычная литература

  • Инго Клёкль: микроконтроллер AVR. MegaAVR — разработка, применение и периферия . 1-е издание. de Gruyter-Verlag, 2015, ISBN 978-3-11-040768-6 (программирование типов MegaAVR на C и ассемблере, представление всех сборок, флагов и функций).
  • Гюнтер Шмитт: Микрокомпьютерная технология с контроллерами семейства Atmel AVR-RISC . 5. Полностью переработан. и эксп. Версия. Oldenbourg-Verlag, 2010, ISBN 978-3-486-58988-7 (введение в архитектуру AVR (Tiny и MEGA), основанную на ассемблере и C).
  • Вольфганг Трамперт: микроконтроллер AVR-RISC . Franzis-Verlag, 2000, ISBN 3-7723-5474-2 (только для классических AVR, ориентированных на аппаратное обеспечение и ассемблер).
  • Сафиназ и Франческо Вольпе: практика микроконтроллеров AVR . 3. Издание. Elektor-Verlag, 2003, ISBN 3-89576-063-3 (в основном набор инструкций ассемблера AVR на немецком языке).
  • Клаус Кюнель: Программирование микроконтроллеров AVR-RISC с помощью BASCOM-AVR . 3-й, обр. и эксп. Версия. Script-Verlag Kühnel, 2010, ISBN 978-3-907857-14-4 (систематическая книга, фокус на BASCOM, но также с подпрограммами ассемблера).
  • Питер Урбанек: Встроенные системы . HSU-Verlag, 2007, ISBN 978-3-9811230-1-2 (Введение в архитектуру AVR с примерами на языке C на основе ATmega16. Подключение внешнего контроллера CAN с примерами.).
  • Роман Миттермайр: AVR-RISC: Разработайте собственное встроенное программное обеспечение . Franzis-Verlag, 2008, ISBN 978-3-7723-4107-6 (введение в ассемблер для ATmega / ATtiny на основе различных проектов; важнейшие основы программирования на языке C).
  • Флориан Шеффер: AVR — аппаратное обеспечение и программирование на C на практике . Elektor-Verlag, 2008, ISBN 978-3-89576-200-0 .
  • Клаус Кюнель: Программирование микроконтроллера AVR RISC с помощью BASCOM-AVR . 3-е исправленное и дополненное издание. Скрипт Verlag Kühnel, 2010, ISBN 978-3-907857-14-4 .
  • Гюнтер релиз: AVR микроконтроллер программа C . 1-е издание. Францис-Верлаг, 2010, ISBN 978-3-645-65019-9 .
  • Гюнтер Шмидт, Андреас Риденауэр: Технология микроконтроллеров с AVR. 6-е издание. Де Грюйтер. 2019, ISBN 978-3-11-040384-8 .

MPLAB Code Configurator

MPLAB Code Configurator (MCC) – бесплатный графический плагин для инициализации системы, который также предоставляет драйверы для работы с компонентами. MCC имеет интуитивно понятный интерфейс и содержит в себе богатый набор периферийных устройств и функций.

К ключевым особенностям MPLAB Code Configurator можно отнести:

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

MPLAB Code Configurator поддерживает микроконтроллеры PIC и AVR и позволяет создавать рабочий код всего за несколько кликов мышкой, что значительно ускоряет процесс разработки, особенно когда дело касается прототипов (Рисунок 6).

Рисунок 6. Пример работы в MPLAB Code Configurator.

Существует 3 варианта начала работы с MPLAB Code Configurator:

  1. Использование облачной IDE MPLAB Xpress. MPLAB Xpress уже включает в себя предустановленный MPLAB Code Configurator и все, что требуется пользователю для начала работы, – это создать новый или открыть существующий проект и выбрать соответствующий раздел в шапке меню. Открытие проекта необходимо для того, чтобы MCC мог получить имя используемого контроллера и подгрузить необходимые данные, касающиеся регистров и битов конфигурации, а также настроить графический интерфейс.
     
  2. Установить плагин MCC в MPLAB X IDE. Если у вас установлена MPLAB X IDE, все, что вам нужно сделать, чтобы начать работу с MCC, – это загрузить его из библиотеки плагинов через вкладку «Plugins».
     
  3. Ручная установка плагина MCC в MPLAB X IDE. В тех случаях, когда пользователю необходимо использовать предыдущие версии MCC, он может установить требуемую версию плагина вручную, предварительно скачав соответствующий файл с сайта компании.

Среда программирования

Итак, осталось последнее — среда программирования. Есть множество различных программных продуктов, в которых можно писать программки, но нужно выбрать подходящую для себя. Для тех кто знает программирование на среднем уровне подойдёт программа Atmel Studio. Для начинающих лучше будет использовать программу CodeVision AVR версии 1.24.

Она простая в использовании, но имеет один минус — английский интерфейс. Но в интернете есть много книжек где идёт описание на русском, к тому же очень понятное. Итак, начнем с простого. Напишем простейшую программу для управления светодиодом, подключенном к одному из вывода микроконтроллера.

В меню File выбираем команду New. С помощью этой команды мы создадим наш будущий проект. После выбора этой команды откроется диалоговое окно Create New File. В этом окне нужно выбрать тип файла, который мы хотим создать. Нужно выбрать Source. Тогда в программе появится окно редактора в котором можно писать программу. Назовём этот файл LED. И пишем простую программку:

#include //библиотека для работы с микроконтроллером Аtiny2313
#include // библиотека задержки

void main(void) { // главная функция, в которой пишется сама программа
DDRB=0b11111111; // настройка порта В что б он отправлял информацию на выход

while(1){ // создаём цикл, что б наша прога работала по кругу
PORTB=0b0000001; // выставляем, чтоб 0-й бит порта В отправлял 1 на выход ножки
delay_ms(600); //задаём задержку
PORTB=0b00000000; //выставляем что б на выводы порта В подавался на выход 0
delay_ms(1000); //задаём задержку

После написания программы нужно будет сохранить файл. После этого в меню File выбираем команду:

New → Create New File → Project

Программа предложит нам воспользоваться Code Wizard AVR. Пока что не используйте его. После этого откроется чистое окно и предложит сохранить Ваш проект.

Сохраните его в какое-то место, где сами захотите. Далее меню Project выберете пункт Configure. Там выберете свой файл, в котором Вы писали свою программу и нажмите Add.

После этого действия в Ваш проект буден включён файл с программой. После этого сохраните весь проект.

Далее из программного кода нужно создать HEX-файл, который уже непосредственно загружается в память микроконтроллера. Для этого в меню Project выберете команду Make. Программа проверит Ваш код на наличие ошибок, если их не будет, то в меню Project выберете команду Compile.

После этого ваша программа будет находиться в файле LED.hex в месте, которое вы задали, во время сохранения проекта. Затем с помощью многих программ заливаем файл LED.hex на контроллер, подключаем светодиод ножкой «+» к выводу микроконтроллера, для которого мы писали программу, а « — » к общей земле и подаём питание к нашему контроллеру.

Если вы всё правильно сделали, то светодиод будет мигать.

Настройка ponyprog2000 для чипов 4200

Прошивка чипа картриджа samsung scx-4200 XEROX WorkCentre 3119 и др.

Программатор перепрограммирует чипы которые стоят в принтерах: SAMSUNG SCX4200,XEROX WorkCentre 3119 и все остальные такого типа:

Распиновка чипа(Вид со стороны контактов (барабан снизу, 2 винта для доступа к отверстию заправки — слева)):1 (левый) — VCC (+5 V)2 — Data3 — Clock4 (правый) — Gnd (Земля)

Чем программировать: Программа PonyProg2000, или любая другая, поддерживающая интерфейс SI Prog.

a. Установить и закрепить плату чипа на программаторе b. Вставить программатор в СОМ1(СОМ2) выключенного компьютераc. Включить компьютер, запустить PonyProg2000d. Настроить PonyProg2000:Меню «Установки — Настройка оборудования. » (рис.5)

Обязательно выполните проверку — должно быть «Тест Ок!»e. Установите тип микросхемы (рис.6):

f. После этого можно «считать» чип или загрузить исходную прошивку.

g. Записываем прошивку в чип. Закрываем программу, выключаем комп. Извлекаем (отпаиваем) плату чипа из (от) программатора (разъема) и устанавливаем ее в заправленный картридж.

Ремонт и модернизация

hola hola de Argentina Tengo una solicitud que es equivalente al transistor KT315A ya que aquí en Argentina no lo entiendo

ya que lo probé en protoboad sin transistores KT315A y funciona muy bien sin KT315A PIC 16F628A ¿hay algún riesgo?

привет привет из АргентиныУ меня есть запросчто эквивалентно транзистору KT315Aтак как здесь, в Аргентине, я не понимаю

так как я тестировал его в protoboad без транзисторов KT315A, и он работает очень хорошобез KT315A PIC 16F628A есть ли риск?

Спасибо за совет ! Действительно на Виндовс 7 нужно запустить совместимость с XP Service Pack 2 и всё пойдет на УРА !

источник

5. Музыкальная шкатулка — простая поделка для начинающих

Если у вас есть один из этих микроконтроллеров: ATtiny13, ATtiny44, ATmega8 или ATmega128, вы можете легко превратить его в музыкальную шкатулку или музыкальную открытку. Для этого достаточно записать в МК соответствующую прошивку — одну из тех четырех, которые размещены в папках «MusicBox_…» в одном архиве со скриптом. Коды прошивок хранятся в файлах с расширением «.hex». Использовать ATmega128 для такой поделки, конечно, «жирновато», как и ATmega8. Но это может быть полезно для тестирования или экспериментов, иначе говоря — в учебных целях. Тексты программ на Ассемблере также прилагаются. Программы создавались не с нуля — за основу была взята программа музыкальной шкатулки из книги А.В.Белова «Микроконтроллеры AVR в радиолюбительской практике». Исходная программа претерпела ряд существенных изменений:
1. адаптирована для каждого из четырех МК: ATtiny13, ATtiny44, ATmega8 и ATmega128
2. ликвидированы кнопки — к контроллеру вообще ничего не нужно подключать, кроме питания и звукоизлучателя
(мелодии воспроизводятся одна за другой в бесконечном цикле)
3. длительность каждой ноты уменьшена на длительность паузы между нотами для устранения нарушения музыкального ритма
4. подключена восьмая мелодия, незадействованная в книжной версии
5. из субъективного: некоторые «улучшайзинги» для оптимизации и более легкого восприятия алгоритма

В некоторых мелодиях слышится фальшь и даже грубые ошибки, особенно в «Улыбке» — в середине. Коды мелодий взяты из книги (а точнее — скачаны с сайта автора книги вместе с исходным asm-файлом) и не подвергались изменениям. Судя по всему, в кодировке мелодий имеются ошибки. Но это не проблема — кто «дружит» с музыкой, без труда во всем разберется и исправит.

В ATtiny13 из-за отсутствия 16-битного счетчика для воспроизведения нот пришлось использовать 8-битный, что привело к некоторому снижению точности звучания нот. Но на слух это мало заметно.

Насчет конфигурационных бит. Их настройка должна соответствовать состоянию нового микроконтроллера. Если ваш МК ранее где-то использовался, нужно проверить состояние его конфигурационных бит, и, при необходимости, привести их в соответствие настройкам нового микроконтроллера. Узнать состояние конфигурационных бит нового микроконтроллера можно из документации на этот МК (раздел «Fuse Bits»). Исключение составляет ATmega128. У этого МК имеется бит M103C, который включает режим совместимости с более старым ATmega103. Активизация бита M103C сильно урезает возможности ATmega128, причем у нового МК этот бит активен. Нужно сбросить M103C в неактивное состояние. Для манипуляций с конфигурационными битами используйте соответствующий раздел меню скрипта-программатора.

Успешных вам экспериментов!

Ссылки на архивы с необходимым программным обеспечением.Скачать программу «Перпетуум М» (6 Мб)Скачать скрипт — программатор и прошивки для музыкальной шкатулки (347 Кб)

Кроме PL-2303 существуют и другие микросхемы, на которых создаются конвертеры интерфейса, подобные использованному в данной статье. Читайте описание ещё одного преобразователя USB-UART (на микросхеме CH340G) и о его доработке до USB-RS232TTL.

Комментарии по данной статье можно оставлять в гостевой книге.

Скачивание и установка Atmel Studio

Выполните следующую последовательность действий:

1. Скачайте Atmel Studio 7.0.

2. Также вам необходимо скачать приложение WinAVR чтобы иметь возможность загружать программы в микроконтроллер AVR с помощью USBASP.

После этого вам необходимо создать тестовый проект в Atmel Studio 7.0. Для этого выполните нижеследующую последовательность действий.

3. Подсоедините USBASP v2.0 к USB порту вашего компьютера и подождите пока он правильно определится.

4. Откройте Atmel Studio.

5. Выберите пункт меню “File”, в нем “New” и выберите “project”.

6. Теперь назовите ваш проект, выберите место расположения проекта и выберите компилятор “GCC C Executable Project”. Кликните на “Ok” и продолжайте.

7. После этого вам будет необходимо выбрать ваше устройство для программирования. В нашем случае это будет микроконтроллер Atmega16A. Если вы будете программировать другие микроконтроллеры, например, Atmega8, Atmega32, то для их программирования также можно использовать программатор USBASP.

8. После этого для вас будет создан файл main.c, где вы можете писать ваш программный код.

Но после создания проекта финальный шаг, который вам необходимо выполнить – это установить внешние инструментальные средства (WinAVR).

Компоновка и загрузка программного кода в Atmega16

1. Сохраните файл main.c.

2. Подсоедините светодиод к контакту PORTA0 микроконтроллера Atmega16 как было показано на вышеприведенном рисунке.

3. Выберите пункт меню “Build” и затем выберите “Build Blink”.

4. Если программа не содержит ошибок, то вы увидите сообщение как на представленном рисунке.

5. Теперь выберите пункт меню “Tools” и выберите в ней созданные внешние инструментальные средства. В нашем случае это будет “USBasp”. Кликните по нему.

6. Если после этого вы увидите сообщение об успешности операции (как показано на рисунке ниже), то значит вы успешно загрузили программу в микроконтроллер. Если вы получили сообщение об ошибке, то проверьте правильность выполнения всех предыдущих шагов, а также проверьте исправность соединительных проводов между USBASP и Atmega16.

7. Вы успешно загрузили тестовую программу с мигающим светодиодом в микроконтроллер используя USBASP v2.0 and Atmel Studio 7.0 и можете увидеть как мигает светодиод в собранной схеме. Теперь вы можете аналогичным образом загружать в микроконтроллер любые другие программы.

Схема первая

С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.

СОМ-разъем на схеме — это «мама».

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

Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).

Как понятно из схемы, для сборки программатора потребуется ничтожно малое количество деталек:

Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.

А вот весь программатор в сборе:

Питание (+5В) я решил брать с USB-порта.

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

Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.

Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.

Заливать прошивку лучше всего с помощью программы PonyProg (скачать).

Прошивка с помощью PonyProg

Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко «Calibration OK».

Далее Setup -> Interface Setup. Выбираем «SI Prog API» и нужный порт, внизу нажимаем «Probe», должно появиться окно «Test OK». Далее выбираем микроконтроллер «Device -> AVR micro ATmega8».

Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.

После чтения появляется окно «Read successful». Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем «Открыть».

Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.

Тщательно все проверяем и жмем «OK». Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно «Write Successful».

Вот и все, МК прошит и готов к использованию!

Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку «SPIEN».

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Электрик в доме
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: