Как залить прошивку в протеусе
Перейти к содержимому

Как залить прошивку в протеусе

  • автор:

Основы ПО ISIS Proteus, работа с платформой Arduino

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

Начнем с информации для общего понимания.

Если всё очень сильно упростить, то Proteus Design Suite — это набор программ для проектирования электронных схем. ISIS Proteus — это одна из программ в данном пакете и именно она представляет больший интерес.

Зачем вообще нужен ISIS Proteus?

А нужен он для моделирования электронных схем. Вы, наверное, спросите — зачем мне изучать и использовать ISIS Proteus, если есть множество других программ, которые позволяют делать это. И я вам отвечу — ISIS Proteus может моделировать работу программируемых устройств: микропроцессоров, микроконтроллеров, DSP и проч. Вы только представьте, вы можете не покупая микроконтроллеры создать, проверить и отладить свой проект без малейшего вложения в покупку МК и прочих компонентов (например: резисторы, транзисторы, светодиоды, моторы, реле и т.д.).

Что понадобится для этого проекта?

Сначала — специализированное ПО. Поскольку в этом проекте я использовал Arduino, мне понадобится среда разработки Arduini IDE. https://www.arduino.cc/en/software — тут вы можете скачать его с официального сайта. Далее нам необходимо будет установить Proteus Design Suite. https://www.youtube.com/watch?v=td4D7BzbX2Q — в этом видео продемонстрировано, как правильно это сделать, всё просто и ничего лишнего.

Примечание: да, я знаю, что на данный момент вышла уже 8-я версия Proteus-а, но у меня и моих знакомых постоянно возникали проблемы с ней. Поэтому будем использовать 7-ю.

Что будем делать после установки?

7-я версия Proteus-а имеет в себе огромную библиотеку компонентов на любой вкус и цвет, но платформ Arduino в ней сначала нет. Нам необходимо это исправить. Скачать одну из таких библиотек можно на этом сайте -https://www.theengineeringprojects.com/2021/03/download-proteus-library-of-arduino-modules.html . Лучше скачивайте версию 2.0.

После скачивания вам нужно распаковать эти файлы и переместить в корневую папку Proteus-а. . \Labcenter Electronics\Proteus 7 Professional\LIBRARY — именно в эту папку нужно распаковать данную библиотеку. https://www.youtube.com/watch?v=YF13YaGg3Mo — видео по теме.

Готово, теперь в библиотеке компонентов мы можем найти основные варианты платформы Arduino.

Теперь нам необходимо написать код для нашего проекта. В свою очередь, для демонстрации возможностей Proteus-а я возьму готовый код из примера, которые хранятся в IDE Arduino, а именно — Blink.

Обязательно нужно поставить галочку «Компиляция» в настройке Arduino IDE. Таким способом мы сможем получить бинарный файл с расширением .hex.

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

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

Вот такая простая схемка у меня получилась. Также нам нужно указать путь к бинарной прошивке Arduino, для этого необходимо двойным кликом по графическому компоненту ARD1 открыть его параметры и в разделе «Program File» указать путь к .hex файлу, который мы получили в ходе компиляции кода.

После того как мы указали путь к прошивке, нажимаем кнопку «Play» и наблюдаем мигание светодиода.

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

Как залить прошивку в протеусе

У вас есть два пути: взять красную таблетку и использовать протеус, или же взять синюю, прошить микроконтроллер(мк) и спаять схему. Хотя в принципе, прежде чем паять нужно всё-таки убедиться в её правильности, мало ли что.
Качаем и устанавливаем Proteus(протеус) и повторяем за мной.
Запускаем ярлык ISIS 7 и появляется такое окно:

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Далее двойной клик на поле Devices и видим строку поиска элементов, можно найти нужные элементы по категориям, но проще по названию. Вводим Atmega8, клацаем на него что бы переместить в список.

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

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

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Следующим этапом загрузим прошивку в Atmega, двойной клик по МК и в разделе Program File нажать на папку.

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Далее жмём на зеленый треугольник запуска и танцуем. Да, прежде чем расстроится, вдруг не заработало, подождите 8 секунд, бывает если не настроено время светодиод будет мигать раз в 8сек.

Дело за практикой. Во-первых, нужен программатор, если есть хорошо, если нету — собираем или покупаем. Хотите собрать? тогда ищите программаторы AVR COM/LTP, к примеру, Громова. Я не советую собирать пятипроводку(stk200) лучше уж stk500/300 хотя он и сложнее. Да! и парадокс чтобы сделать программатор stk500 нужен будет другой программатор . На крайний случай попросите у знакомых, если таковые имеются.
А вот если у вас ноутбук или что ПК без СОМ порта, то вам стоит купить программатор, например USBASP тот же STK500 и т.п. Стоит заметить, что каждая программа «прошивальщик» имеет список программаторов с которыми она может работать. К примеру, USBASP может работать только с Khazama, AVR Dude, Bascom и тд и тп. А простые STK будут работать со штатной средой Atmel Studio (AVR Studio).

Пара слов о немаловажной части микроконтроллера, а именно о Фьюзах. FUSE биты (фьюзы), если уж совсем понятным языком, устанавливают параметры МК такие как частоту генератора, разрешение или запрет на чтение прошивки, памяти и т.д. Обязательно, прежде чем записывать FUSE биты убедитесь в их правильной установке, из-за неопытности в свое время я залочил мегу8, но в умелых руках и имея высоковольтный программатор или fuse doctor можно без проблем разблокировать МК(но опять же имея высоковольтный программатор или fuse doctor).
Запомните, запрограммированный фьюз=0, а не запрограммированный=1.
Приступим к прошивке т.к. у меня USBASP программатор я покажу метод, как прошить контроллер в CodeVision AVR и в Khazame.

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

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Далее настраиваем Фьюзы. Для этого можно использовать Калькулятор фьюзов AVR. В CodeVision галочка — это запрограммированный фьюз , т.е. 0.

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

После загружаем прошивку (*.hex) в программу и зашиваем ее в МК . Прошивку берём из предыдущей статьи или качаем Project.rar [318 b] (cкачиваний: 162) .

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

И нажимаем Program All.

Теперь как работать с Khazama. Очень простая программа, зная английский всегда можно разобраться. Но стоит запомнить, что в Казарме не запрограммированный — это галочка, привыкайте .
Итак следим за простыми действиями
Выбираем МК в списке

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Жмём Read, и выставляем(галочки) так как на скрине, и жмём Write

Изучаем микроконтроллеры AVR. Прошиваем и симулируем

Всё мы прошили,
P.S Если у вас вылетают ошибки в Казарме, скипайте (жмите ОК).

Как в Proteus 8 скомпилировать hex-файл из asm?

Как скомпилировать asm файл в проекте?
Всем привет! У меня есть Unit1.asm. В нем ассемблерный код с макросами, комментариями и так далее.

Скомпилировать файл asm
Помогите скомпилировать файл asm на ассемблере.Мне нужно получить с него два файла -exe;obj .

USI/Asm/Proteus/Глюки
Итак, здравствуйте! 🙂 Пытаюсь перенести сишный код, описаный вот тут.

Ошибка при использовании HEX в Proteus 8
Собрал схему в протеусе. скомпилил код через MPASMWIN. Вставил hex файл в протеус. а он ошибку.

PIC16 (Proteus, ASM). Передача 40 байт
Нарисовать схему снятия данных с двоичного датчика Ребята, мне надо собрать микропроцессорную.

Undefined symbol: reset (ASM, Proteus, ATMega8)
Не компилируется выдает вполне понятную ошибку но не могу исправить! Вот код программы: пишу.

Управление светодиодами с кнопок (ASM, Proteus, PIC12F675)
Добрый день! У меня вот такое задание, светодиоды HL1 и HL2 погашены, когда нажимаем на клавишу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *