Proteus | Симуляция работы микроконтроллеров
Proteus – это универсальная программа, с помощью которой можно создавать различные виртуальные электронные устройства и выполнять их симуляцию. Она содержит огромную библиотеку аналоговых и цифровых микросхем, датчиков, дискретных элементов: резисторов, конденсаторов, диодов, транзисторов и т.п. Также имеется широкий набор компонентов оптоэлектроники: дисплеи, светодиоды, оптопары и др.
Главным преимуществом и отличием Протеус от других подобных программ для симуляции работы электрических цепей, — это возможность выполнять симуляцию работы микропроцессоров и микроконтроллеров (МК). Библиотека Proteus содержит такие основные типы МК: AVR, ARM, PIC, Cortex.
Как и в любом другом аналогичном софте, предназначенном для симуляции работы электрических цепей, данный софт имеет ряд виртуальных измерительных приборов: амперметры, вольтметры, ваттметр, осциллограф, логический анализатор, счетчик и т.п.
Также в Протеусе встроены инструменты для автоматизированной разработки печатных плат и для создания их 3D моделей.
Для симуляции нашей первой программы, из библиотеки нам понадобится только микроконтроллер ATmega8, резистор и светодиод.
Настройка Proteus 8.4
Любая настройка начинается с запуска. В появившемся окне кликаем по значку диода с конденсатором Schematic Capture (Схемотехника).
После этого откроется окно с пустым полем.
Теперь добавим микроконтроллер ATmega8, резистор и светодиод.
По умолчанию установлен подходящий режим Component Mode поэтому, чтобы попасть в меню выбора электронных и других элементов, достаточно кликнуть по кнопке P, расположенной на панели DEVICE (устройство). После этого откроется окно, в котором необходимо выбрать в меню Category (Категории) Microprocessors ICs (микропроцессоры), в Sub-Category (Подкатегории) – AVR Family. Далее в окне Results находим и выделяем МК ATMEGA8. Кликаем по кнопке OK.
После этого он появится в меню окна DEVICE и его уже можно перетягивать мышкой в рабочую область.
Аналогичным образом добавляем резистор и светодиод.
Светодиоды находятся в категории Optoelectronics (Оптоэлектроника) и далее в подкатегории LEDs. В данном примере он выбран зеленого цвета LED-GREEN.
Теперь собираем схему, как показано на рисунке ниже. К выводу МК PC0 подсоединяем резистор R1, который соединяем с анодом светодиода D1. Катод светодиода соединяем с «землей». Элемент «земля» находится в меню вкладки Terminals Mode.
Чтобы изменить значение сопротивления резистора R1 нужно дважды кликнуть мышкой по нему. В открывшемся окне устанавливаем 300 Ом в строке Resistance (сопротивление).
Обратите внимание, что выводы микроконтроллера в Proteuse для удобства объединены в отдельные группы по портам. Однако это не соответствует расположению их в реальном МК. Кроме того отсутствуют выводы, к которым подается напряжение для питания МК. Эта функция установлена по умолчанию.
Запись программы в память микроконтроллера
Теперь осталось записать наш код в виртуальный МК. Дважды кликаем по нему мышкой и в появившемся новом указываем путь к файлу с кодом. Место расположения файла находим кликнув по значку в виде открытой папки в строке Program File.
В папке с проектом находим папку Debug и в ней выбираем файл с расширением HEX. После этого нажимаем кнопку Открыть.
Теперь все готово. Для начала симуляции нажимаем кнопку Run the simulation треугольной формы в левом нижнем углу окна программы. Светодиод засветился, значить мы написали верный код.
Маленький красный квадратик возле 23-вывода микроконтроллера, указывает на то, что на выводе присутствует высокий потенциал, т. е. + 5В. Обратите внимание, высокий потенциал всегда имеет 29-й вывод RESET. Поэтому, в случае необходимости, для сброса или перезапуска программы, вывод RESET нужно кратковременно соединить с землей.
На этом симуляцию в Proteus мы закончим. И теперь нам осталось записать код в реальный микроконтроллер ATmega8.
Скачать файл Программа 1
все отлично, только у меня не хотел гореть светодиод, пока в его настройках не изменил «analog» на «digital» в строке Model type
Скачал все программы, но к сожалению при работе с Протеусом у меня отсутствуют библиотеки. При нажатии на кнопку «P» у меня программа выдает ошибку и пишет что отсутствуют библиотеки. Объясните пожалуйста как их установить, а то уж очень мне хочется у Вас поучиться программировать…. Заранее благодарен за ответ.
С уважением, Алексей.
Разобрался с программой. Если кто сталкивается с аналогичной проблемой, то смотрим вот это видео:
https://www.youtube.com/watch?v=QFVi5xY9OH4
у меня сразу все заработало, хотелось бы увидеть продолжение уроков
Спасибо вам огромное за ваши труды! Пожалуйста поделитесь ссылочкой на рабочую версию Proteus’а. Я скачал одну версию, поставил, а Касперский на неё так матерился, что в итоге удалил. Я не стал ему сопротивляться, добавлять в исключения, подумал, а вдруг и правду народные умельцы в него какую-то вирусню закинули.
Поделитесь ссылочкой на рабочую версию. Спасибо.
Выдаёт ошибку: Не удалось авторизовать смешанную модель AVR2.DLL — отсутствует или недействителен ключ клиента. [U1] Что делать?
Разрыв шаблона, однозначно. Учиться программировать копеечные микроконтроллеры и вложиться в софт за 6-8 кило вечнозеленых? Я понимаю, что существуют таблЭтки, но все же…
Вообще то я бы для начала удалил навечно Касперского(хуже дерьма , напрягающего машину не видел) и в винде типа 10 отключил защиту в реальном времени + добавил в исключения прогу , все эти долбаные «антивирусники» кряки и т.п. воспринимают как вирусы , и нах не нужны они , просто нефиг лазить где попало и запускать неизвесные exe ,cmd и прочеедо хрена ссылок таких , которые вместе с нужным софтом натыкают разных яндексов(я бы вместе с каперским долбаный яндекс сразу прибил) или еще чего
Согласен с Вами полностью Валентин. То же самое!!!