Наверное, если вы только начали изучать микроконтроллеры, вам тяжело сделать печатную плату и запрограммировать её usbasp, к примеру. Для этого есть много отладочных плат или ещё проще – Arduino. Но чтобы попробовать, есть совсем простые пути, и они такие же наглядные.
Попробуем некий такой hello_world на микроконтроллере – помигаем светодиодом, не имея в наличии реальной платы. Для этого понадобится Proteus – как мне кажется, лучшая программа для эмуляции электронных процессов. В 8 версии Proteus есть уже встроенные библиотеки arduino, но мне они не очень нравятся в плане удобства работы. Найти их просто, при создании нового проекта, нужно перейти на вкладку “from development board”.
![Где arduino в proteus](http://wreckage.ru/wp-content/uploads/2019/05/Снимок-экрана-340.png)
Как я уже и сказал, я использую более удобную и визуально красивую библиотеку, для которой можно создать обычный проект. Это платы от проекта theengineeringprojects. Качаем библиотеки по ссылке
На странице нужно найти жирную кнопку “Download Library for Proteus” и скачать архив. В нём будут два файла –
ArduinoTEP.LIB and ArduinoTEP.IDX. В случае с версией Proteus 8, чтобы установить библиотеки Arduino, необходимо будет пройти в папку программы, а конкретно Proteus 8 Professional\LIBRARY и туда положить эти два файла. Путь самой программы конечно у вас будет отличаться от моего
![Как установить библиотеки в proteus](http://wreckage.ru/wp-content/uploads/2019/05/arduino-в-протеус-1024x288.png)
Теперь запускаем программу, создаём новый проект и открываем библиотеку компонентов. Там в поиске, вводим название библиотеки – arduinotep и выбираем понравившийся чип.
![Nano в proteus](http://wreckage.ru/wp-content/uploads/2019/05/Платы-arduino-в-протеус-1024x348.png)
Теперь вернёмся к Arduibo IDE. Откроем самый простой пример мигания светодиода, и сделаем некоторые настройки, чтобы понять, куда программа сохраняет hex файл. Пройдём в настройки
![](http://wreckage.ru/wp-content/uploads/2019/05/arduino-настройки.png)
И выберем пункт “Компиляция” в подробно выводе. Кстати ещё тут можно включить другие полезные плюшки – например вывод номера строк или сворачивание отдельных кусков кода.
![](http://wreckage.ru/wp-content/uploads/2019/05/arduino-включить-компиляцию.png)
Я решил, что буду в Proteus использовать NANO, поэтому выбираю её в компиляторе, а в примере мигания диода заменяю вывод диода со встроенного на ножку 12. Жму компиляция, и теперь в окне информации можно увидеть, куда сохранился hex файл.
![Путь и место hex кода arduino](http://wreckage.ru/wp-content/uploads/2019/05/Путь-и-место-hex-кода-arduino.png)
Теперь мы знаем, где хранится этот файл. Соберём в Proteus схему из наших свежих добавленных плат, и подключим светодиод.
![](http://wreckage.ru/wp-content/uploads/2019/05/нано-в-протеус-1024x650.png)
Теперь, если нажать два раза по нашей плате Arduino – можно попасть в меню настроек, где и нужно указать прошивку. Также можно заметить, что частота стоит верная – фьюзы Arduino заточены под 16Мгц внешний кварц.
![](http://wreckage.ru/wp-content/uploads/2019/05/выбор-прошивки-eng-1-1024x576.png)
Как мы увидели выше, путь hex файла находится во временных пользовательских папках. Жмём на кнопку “Program File” – и ищем наш hex. Выбираем, который без bootloader’а.
![](http://wreckage.ru/wp-content/uploads/2019/05/hex-файл-ардуино-1024x812.png)
Ну теперь жмём кнопку play снизу, слева – и видим, что всё работает.
![](http://wreckage.ru/wp-content/uploads/2019/05/Ардуино-в-протеус-мигание-диода.png)
Если вы не устанавливали дополнительные библиотеки, а решили воспользоваться стандартными – рабочее поле с платой будет выглядеть так
![](http://wreckage.ru/wp-content/uploads/2019/05/стандартный-ардуино-328-протеус.png)
Можно нажать на контроллер и увидеть меню настроек. Точно также в поле Program File выбирается прошивка, работает всё аналогично.
![](http://wreckage.ru/wp-content/uploads/2019/05/Снимок-экрана-342.png)
Также здесь будет один небольшой нюанс – нужно выставить частоту 16Мгц, потому-что по-умолчанию выставлено 8Мгц от внутренней RC цепочки.
![](http://wreckage.ru/wp-content/uploads/2019/05/Настройки-16MHZ-в-протеус.png)
Естественно, можно поставить и голый МК AtMega328, и всё тоже заработает. Только нужно найти какому пину будет соответствовать на голом МК, тот, что вы выбрали в среде Arduino. Для этого смотрим распиновку Arduino Nano. Например 12, который выбрали мы, будет соответствовать 16 пину голого МК (PB4).
![](http://wreckage.ru/wp-content/uploads/2019/05/arduino_nano_pins-1024x500.jpg)
На этом же сайте, есть до кучи интересных библиотек от дисплеев до датчиков газа. Если интересно, можно добавить в папку библиотек аналогичным образом.
Пробуйте, тестируйте, пока ваши отладочные платы едут с Китая.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.