Windows. Вирусы. Ноутбуки. Интернет. Office. Утилиты. Драйверы

Наверняка, многие из читателей данного сайта хотели бы самостоятельно разработать и собрать какое-нибудь устройство на МК AVR. Но причин, по которым это затруднительно сделать в железе, может быть масса. Например, проживание в сельской местности, где нет радиомагазинов с большим выбором радиодеталей. Хотя в таком случае, как всегда, нам приходит на помощь сайт Али экспресс . Либо ограниченность бюджета. Особенно это актуально для школьников и студентов, еще не имеющих постоянного источника дохода.

Так как же быть в таком случае? Здесь на помощь нам приходят специальные программы-симуляторы, специально созданные для отладки схем.

Одну из них, Proteus версию 7.7, мы и разберем в этой статье применительно к нашему проекту.

Что же нам дает эта программа? Начинающие подумают, что она слишком сложная для освоения. Нет, это не так. Просто всеми функциями программы при эмуляции наших первых проектов мы пользоваться не будем. Освоить её основы реально за один-два вечера. Что она дает нам в плане изучения работы с микроконтроллера ми? Там, например, есть визуальное представление работы светодиодов, дисплеев в реальном времени. Можно выбрать для эмуляции работы множество типов МК AVR, в том числе и те, на которых будут основаны наши уроки: Tiny2313 и Mega8. Что это означает и как это осуществляется? Мы пишем код нашей прошивки, компилируем его, получаем нужный нам HEX-файл и виртуально прошиваем наш МК в программе Proteus. Причем мы также можем изменить и фьюз биты нашего виртуального МК.

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

Вот такое окно у нас открывается сразу после запуска программы (кликните для увеличения):


Затем нам нужно выбрать из библиотеки те радиодетали, которые нам нужны для проекта и поместить их в список деталей. Их мы затем сможем выбрать и установить на рабочее поле. В нашем проекте мы будем использовать МК Attiny2313, желтый светодиод LED-YELLOW (он хорошо “светится” в Протеусе) и резистор RES для ограничения тока, протекающего через светодиод. Иначе мы, как бы это смешно не звучало, “спалим” виртуальный светодиод:-).

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

После того, как кликнули, выйдет вот такое окошко:


В поле “Маска” вбиваем то, что хотим найти, а именно, наш МК, светодиод и резистор


Набираем в поле Маска “Tiny2313” и кликаем по найденному нами МК в графе “Результаты(1)”:


Затем повторяем то же самое с резистором. Вбиваем “res”:


и точно также ищем светодиод:


Ну вот, теперь все эти три элемента у вас должны отобразиться в графе “Устройства”:

Теперь кликаем по черной стрелочке, и потом уже в списке выбираем нужный нам радиоэлемент:

Слева в вертикальной колонке мы видим значок “Терминал”. Нас там интересуют две строчки: Power и Ground. Это соответственно в нашей схеме +5 вольт питания и земля. На МК питание подавать не надо, оно подается автоматически. Для схемы мы берем только значок “земля”.

Вытаскиваем все радиоэлементы на рабочее поле


Затем нам нужно соединить их линией-связью, после этого они у нас будут все равно, что соединены проводником, например дорожкой на плате или проводком


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

Нам также нужно изменить номинал резистора. По умолчанию он не подходит для нашей схемы. Как это сделать?

Нажимаем правой кнопкой мыши на резисторе, выбираем Правка свойств


А потом меняем значение на 200 Ом. Вполне хватит, что наш виртуальный светодиод не помер)


Иногда рабочее поле у нас пытается убежать с экрана, тогда нам нужно, используя скроллинг колесика мыши изменить масштаб, и кликнуть, установив зеленую рамку в левом верхнем углу так, чтобы весь наш проект оказался внутри нее

Кстати, хочу сразу сказать, если мы совершили какое-то ошибочное действие, нам достаточно нажать кнопку “Отменить” и последнее действие будет отменено. Думаю, многие это знают из сторонних программ, но мало ли).

Итак, мы собрали схему. Теперь надо залить прошивку в наш микроконтроллер и посмотреть, как же это выглядит в действии. Для этого нам нужно кликнуть правой кнопкой мыши по МК и нажать иконку с изображением желтой папки в графе Program Files. Кстати, здесь же можно при необходимости выставить фьюз биты (кликните для увеличения картинки):


Затем нужно выбрать файл прошивки с расширением *.HEX и нажать “Открыть”. Все готово, можно эмулировать проект.

(для увеличения кликните по картинке)


Для начала эмуляции нужно нажать кнопочку “треугольник” в нижнем левом углу программы “Протеус”:


У нас начнется эмуляция. Мы увидим, как мигает светодиод. В какой-то момент времени наш светодиод будет светиться. Смотрите как ярко горит желтым цветом:-)


А потом он снова будет тухнуть:


Теперь мы можем при желании сохранить наш проект под любым названием, выбрав “Cохранить проект как”, а также если требуется открыть готовый файл другого проекта, выбрав “Открыть проект”

Так выглядит иконка сохраненного проекта на рабочем столе:

Надеюсь, у вас, читатели, не составит труда собрать этот проект самостоятельно и в дальнейшем, прокачав скилл, вы легко сможете самостоятельно собрать любой более сложный проект. Готовый проект для программы Proteus 7.7 и прошивку прикрепил в архиве.

Ну вот и все! Ниже видео работы схемы, а также всех этапов эмуляции:

Теперь, когда мы выбрали элементы, необходимо перейти к следующему - к их размещению на области расположения рисунка - в окне редактирования. Начнем с самого простого - буфера, показанного в левом верхнем углу схемы руководства. Более подробно он показана ниже:

Законченный вид первого блока схемы,
которую необходимо нарисовать.

Удостоверьтесь, что Вы находитесь в режиме элемента (то есть, что выбран значок элемента ) и начните, кликнув мышью на 741 в переключателе объектов. Вы должны будете увидеть, что окон краткого обзора над переключателем изменилось на окно предварительного просмотра выбранного устройства. Скриншоты ниже показывают состояние переключателя объектов и окна краткого обзора после выделения элемента 741.

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

Теперь переместите указатель мыши в середину окна редактирования и нажмите левую кнопку. Контур операционного усилителя появится под указателем мышью и будет следовать за ним, когда Вы перемещаетесь по окну редактирования. Когда Вы снова нажмете левую кнопку, элемент будет помещен на схему и прорисуется полностью. Пробуйте это, поместив операционный усилитель где-нибудь в середине окна редактирования.


Контур элемента двигается всед
за указателем мыши в режиме размещения.

Выберите устройство MINRES1K и разместите один резистор над операционным усилителем, как показано на схеме выше. Нажмите один раз левую кнопку на иконке вращения против часовой стрелки (показано ниже); заметьте, что предварительный вид резистора в окне краткого обзора показывает, что он повернут на 90°. Наконец, разместите второй (вертикальный) резистор R2.


Иконки вращения
(выбрано вращение против часовой стрелки).

Если Вы недостаточно опытны, Вы вряд ли с первой попытки разместите элементы так, как это необходимо, поэтому рассмотрим, как их переместить. Объекты в ISIS для дальнейшего редактирования выбираются ‘выделением’. Есть несколько способов выделить объект в ISIS:


Контейнер выделения, окружающий ОУ.

Точно так же Вы можете снять выделение (или совокупность выделений) или левым кликом на пустом месте, или правым кликом на пустом месте и выбором пункта Очистить Выделение (Clear Selection ) в появившемся контекстном меню.


Снятие выделения со всех объектов
через контекстное меню.

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


Перемещение выделенного ОУ.

В качестве альтернативы, Вы можете кликнуть правой кнопкой на объекте и использовать действие перетаскивания объекта из появившегося контекстного меню.

Всё вышеупомянутое может показаться запутанным при первом прочтении, но окажется чрезвычайно простым на практике. Хотя мы и склоняемся к тому, что безрежимный механизм выделения - самый простой для работы, Вы должны выбирать способ для работы, исходя из собственных предпочтений. Следующие простые эксперименты помогут Вам ознакомиться с различными доступными методами и очистят ваши сомнения:

Этот способ является и простым и интуитивным и его стоит выбрать для того, чтобы в дальнейшем размещать и поворачивать устройства в ISIS. Чтобы закрепить изложенное выше, поэкспериментируйте немного над повторной обработкой схемы так, чтобы объекты были размещены так же, как на скриншоте в начале этого раздела.

Вообще существует масса систем моделирования электронных схем. Из всех, что я видел мне наиболее понравились Multisim и ISIS Proteus . Multisim обладает очень удобным интерфейсом, и в нем удобно отлаживать аналоговые девайсы, т.к. он позволяет использовать виртуальные (т.е. параметры ты указываешь сам) транзисторы и усилители, но совершенно не поддерживает сложные системы, вроде микроконтроллеров или разного рода драйверов. Точнее поддерживает, но крайне вяло. Только недавно в нем появилась поддержка древних АТ89C2051 и нескольких PIC ‘ов

Напротив, Proteus умеет замечательно работать с контроллерами, но ограничен своей библиотекой реальных элементов, поэтому без знания какая тебе именно деталь нужна ты там мало что сделаешь, а ещё обладает ну просто убожеским интерфейсом, однако это лучшая система моделирования, что я когда либо видел. А потому буду описывать именно её.

Весит порядка тридцати метров в архиве, самая поздняя версия которая мне известна это 7.2 Учти только, что крякнутая версия Proteus работает порой ну очень странно , например код процессора ты видишь, а отладка не идет и в регистрах левые значения. Потому ищи тщательно;))))

Предлагаю сразу же взять быка за рога и по быстрому смоделировать какую-нибудь несложную схему на микроконтроллере. Объяснять где что я буду по ходу процесса.

Запускай Proteus , сразу же должно отрыться бежевое окно в точечках. Это рабочее поле. Тут мы и будем строить нашу схему. Для примера сварганим схему на моем любимом контроллере АТ89С51 она не будет делать ничего путного, будет просто отсылать в окошко терминала буковки по нажатиям кнопок приделанных к портам контроллера.

Чтобы добавить компонент нужно выбрать вначале черную стрелку в левом верхнем углу, а потом нажать кнопочку с лупой и треугольничком она расположена на верхней панели инструментов в середине.

Откроется огроменный список элементов которые знает Proteus . Библиотеки постоянно дополняются и обновляются, поэтому пошарь по инету в поисках новых деталек.
В списке найди контроллер АТ89С51 , чтобы не возиться заюзай поиск по ключевым словам – набери просто «АТ89 » увидишь все семейство MSC-51 известные Proteus’у .

Выбирай нужный и тыкай «ОК ». После чего размещай микросхему в удобное тебе место. Сразу оговорюсь, что модели процов в Proteus несколько упрощенные, поэтому они не требуют наличия в виртуальной схеме кварца, системы сброса (подтяжка RESET до нужного уровня), наличия сигнала на использования внутренней памяти (+5 на EA, особенность процов С51 , умеющих работать от внешней ПЗУ ) и об этом не стоит забывать когда в итоге будем делать реальную схему, а то, в итоге, искать причину неработающей схемы можно очень долго.

Хоть они и не нужны, но детали обвески мы все же добавим. Опять тыкай на лупу с треугольником и ищи там кварц, буржуи зовут его «crystal » вот его и ставь на схему рядом с выводами XTAL .

Главная убогость интерфейса Proteus в том, что всегда правый клик сначала выделяет, а потом удаляет компонент, а левый ставит новый такой же. Ужасно напрягает, в Multisim все сделано в разы удобней и традиционней, но, увы, Multisim не столь могуч.

Теперь наведи курсор на вывод кварца и соедини его с выводом XTAL1 процессора, то же проделай с второй ногой кварца, только на XTAL2 . Теперь нам нужны кондеры, опять лезь в библиотеку и ищи там Capacitors . Будет огромный список реальных кондеров, выбери какой нибудь SMT конденсатор емкостью порядка 33pF . В верхнем окошке справа будет его обозначение в схеме, а внизу габаритные размеры, а точнее контактные площадки под его запайку.

Кстати, обрати взгляд в окошко чуть ниже строки поиска. Видишь там строку Modeling Primitive ? Вот там есть виртуальные примитивы. Они не имеют корпуса, потому при разводке печатной платы выскочат с ошибкой, но если ты не собираешься разводить плату, а лишь хочешь смоделить схему, то возьми лучше его – его значения можно менять как угодно.

Воткни пару кондеров рядом с кварцем и повесь их на ноги кварца одним выводом, а второй объедини и повесь на землю. Где взять землю ? Хороший вопрос:). Ищи в левой панели инструментов такие две фиговины похожие на бирки, зовется Terminal mode . Тыкай в неё, откроется тут же рядом, слева, панелька где нужно выбрать строку GROUND это и есть земля. Установи ее где тебе удобно. Power там же — это напряжение питания схемы. Обычно оно общее, но иногда могут быть замороки с тем, что у схемы множественное питание (как, например, в компе, там и 5 и 12 и 3.3 вольта и вообще тьма разных напряжений).

Далее надо собрать схему сброса. Протеусу это не требуется, он и так будет нормально отрабатывать, но реальной схеме это нужно. Делается это просто. Ставим резистор и конденсатор. При включении, когда конденсатор не заряжен, то его сопротивление равно нулю и на вывод RST подается +5 вольт, т.е. логическая 1, а как только кондёр зарядится, произойдет это через пару миллисекунд, то ножка через резистор будет лежать на земле, а это уже самый настоящий логический нуль и проц запустится в штатном режиме.

Сделай всё как на картинке и приступай к навеске кнопок на наш девайс. Вешать лучше на порт 1. Почему? А резисторы дополнительные не нужны. Дело в том, что у С51 порт 0 сделан с возможностью работы на шину данных, а это значит имеет так называемое Z состояние. Это когда на выходе не 1 и не 0, высокое сопротивление (импенданс), почти обрыв, но порт может без палева в это время снифферить шину на предмет пролетающих там значений, ничуть не выдавая себя и не мешая другим устройствам.

Порт 3 обвешан всякой дополнительной периферией, а порт 2 не очень удобно расположен в модели протеуса. Поэтому юзаем порт 1:))))) . Ищи в библиотеке какой нибудь switch или button. Мне нравится компонент button, потому я заюзаю именно его. Поставлю четыре кнопочки и повешу их на выводы P1.0, P1.2, P1.4, P1.6, а другие выводы кнопки приложу всем скопом на землю. Как это будет работать?

Да просто! Вначале вывожу в порт единичку на все выводы. Ножки изнутри сразу же подтягиваются к логической единице. Теперь, чтобы считать данные, достаточно забрать значение из регистра порта P1, а если мы нажимаем какую-либо из кнопок, то эта ножка жестко сажается на землю, пересиливая внутренний подтяг до единицы. Т.е. нажатая кнопка дает в порту нуль на своем бите. Такой принцип определения нажатия кнопки во всех микроконтроллерах. Также настоятельно рекомендую шунтировать кнопки конденсаторами на 40pF – не будет ложных срабатываний от импульсных помех.

Но это только в реальных устройствах, в Proteuse это все равно не имеет значения, но я добавлю. Всё, ввод данных готов. Теперь надо сделать вывод. Для вывода можно тупо повесить на ножки виртуальные светодиоды и также виртуально ими помигать, но это моветон, хотя, не спорю, помогает зачастую отлаживать программу.

Я же предпочитаю побаловаться моим любимым UART ом. Проще говоря, терминалкой. Лезем в раздел виртуальных приборов. Ищи на левой панели инструментов пиктограмму с нарисованным стрелочным прибором и лезь туда. Тебе будет список всякого хлама который ты можешь юзать. Тут тебе и вольтметр, и амперметр, и осциллограф, цифровой анализатор и разные узкоспециализированные приблуды вроде монитора протокола SPI или I2C . Для прикола возьми осциллограф (oscilloscope ) и повесь его одним каналом на вывод TxD . Еще нам нужен Virtual Terminal . Выбирай его и вставляй на схему. А теперь соединяй его выходы с выходами проца, крест накрест. Rx c Tx, Tx с Rx.

Готово! Ну и, для полного счастья, поставь еще светодиод на порт Р2 . Как подключать светодиоды к портам проца? Да очень просто! Вешаешь плюс светодиода на питание, а минус на резистор, а этот резистор уже на выход процессора. Чтобы зажечь диод надо на эту ногу выдать 0.

Тогда разница напряжений между напряжением питания и напряжением нуля на ножке будет максимальной и диод будет гореть. Ищи в компонентах LED ну и втыкай его как я тебе сказал. Обратил уже наверное внимание, что чаще мы событие определяем или устанавливаем по нулю, а не по единице. Это связано с тем, что ноль легче получить принудительно, чем подтягивать ножки вверх. Но далеко не всегда так, например, контроллеры семейства AVR умеют свои ножки сажать наглухо и на нуль и на напряжение питания, так что там диод зажечь можно и единичкой. Для этого его надо будет перевернуть и вторым концом через резистор повесить не на Power , а на землю.

Так, аппаратную часть мы нарисовали. Пора приступать к настройке и отладке.

Выдели микроконтроллер и кликни на нем дважды, откроется окно свойств.
PCB Packadge — это тип корпуса, он важен при разводке печатной платы. Пусть стоит DIL40

Program File – это собственно файл прошивки. Вот сюда нужно прописать путь к hex файлу.

Clock Frequency – частота на которой будет работать проц.

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

Жми кнопку с значком Play , как на магнитофоне. Тут всё просто, никаких сложностей. Отмечу только, что пошаговый режим это просто прерывистый запуск с небольшой временной задержкой. Для отладки нужно юзать дебаг по коду.

Теперь твоя схема работает. Можешь понаблюдать процессы, происходящие в ней. Если выберешь в панели инструментов вольтметр, то увидишь напряжение, или можно измерить ток, если заюзать амперметр. Цветные квадратики, что зажглись на ножках процессора это логические уровни. Синий – ноль, он же земля. Красный – логическая единица, а серый это высокий импенданс, он же Hi-Z .

В принципе уже этого достаточно, чтобы отладить работу дейвайса. А что, прогу отлаживаем в Keil uVision (если речь идет о С51) или в AVR Studio , компилим и смотрим что получилось. Это отлично работает на простых девайсах с одним управляющим контроллером и обвязкой.

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

Добавляем исходник.
Лезь в меню и ищи там пункт Source и смело тычь в него недрогнувшей рукой. Выбирай Add/Remove source и добавляй исходник. Советую сразу, чтобы компилятор не тупил, исходники ныкать по простым путям, без пробелов и русских букв. Например, как у меня: “d:\coding\C51\hack_2.asm ” Добавляя исходник не забудь указать компилятор которым его надо будет компилить. Для данного случая в “Code generation tools” надо указать “ASEM51 ”, то есть компилятор архитектуры MCS-51 .

Жми ОК и в меню Source появится еще один пункт – добавленный исходный файл, выбрав который автоматом открывается редактор и можно по быстрому подправить текст программы.

Настройка компилятора.
Опять же лезь в меню Source и ищи там пункт “Define Code Generation Tools ” это опции компилера. Изначально настроены они криво — в разделе “Make rules ” тычь в строку “Command Line ” и выноси оттуда весь мусор, что там есть. Оставь только “%1 ” без кавычек. ASEM51 умная зараза, он сам добавит нужные файлы с описаниями регистров и переменных, тем более, что у всего семейства MСS-51 все адреса одинаковые.

Компиляция
Жми в том же меню Source пункт Build All и получай на выходе hex файл , но уже местной выделки. Там же моргнет окно комплиятора, в котором будут сведения об ошибках и ряд служебных данных.

Запуск
Запускай схему кнопкой Play в нижней панельке и сразу же нажимай либо паузу, либо пошаговый режим. Сразу же должно открыться окно с кодом программы как в уже привычном тебе отладчике. Если не открылось, то ты его найдешь в меню Debug -> 8051CPU -> Source Code — U1

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

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


При добавлении в проект второго проца его код, регистры и память будут там же, но называться будет уже Source Code – U2 и так далее.
Кроме того, в директории Proteus’a есть папка SAMPLES вот в ней куча разных примеров, весьма сложных, показывающих возможности системы ISIS Proteus .

З.Ы.
Эту статью я писал для журнала Хакер. В несколько ином виде (чуть более подробном) она была опубликована в журнале за декабрь 2007 года.

Если нужно быстро собрать несложную схему, и проверить её работоспособность, то можно сделать это в симуляторе, например в таком как . В этой небольшой статье я познакомлю вас основными возможностями этой программы.

Достоинства протеуса
Протеус идеальная программа для новичков недавно начавших изучать микроконтроллеры. В программе есть куча разнообразных измерительных приборов: Генераторы сигналов, осциллографы, анализатор шины i2c и еще много чего. Эти приборы позволят быстро отладить программу для МК. В отличии от реального железа, заменить резистор в схеме это дело 4-х секунд! Интерфейс интуитивно понятен и разобраться в нем не составляет труда. обладает почти всеми необходимыми моделями (лично мне не хватило модели дисплея от нокии 3310 но и она потом нашлась). Кстати модели можно создавать самому, но я не вникал в подробности как это делается. Вместе с программой для симуляции электронных схем, в комплект входит программа разводки печатных плат — ARES . Пожалуй самая удобная из всех увиденных мной. Схему нарисованную в протеусе можно легко перенести в ARES. Буквально одним нажатием кнопки. В ARES есть авторазводчик плат, но я им не пользуюсь ибо он так себе. Короче достоинств очень много, но стоит добавить ложку дёгтя.

Недостатки протеуса
Увы ни что не идеально в том числе и . Протеус ужасно симулирует аналоговые схемы! Поэтому если у вас в протеусе не работает мультивибратор, то это вовсе не значит что он не заработает в настоящем железе. Справедливо и обратное утверждение. Если работает в симуляторе, то есть вероятность того что в железе ничего не заработает. Поэтому увлекаться симуляторами не стоит. Если уж хочется посимулировать аналоговые схемы, то к вашим услугам Multisim. У него дела обстоят с точностью до наоборот. Аналоговые схемы симулирует неплохо, а с цифрой непорядок (главным образом из-за того что нет нужных моделей микроконтроллеров). Еще один недостаток протеуса это его платность и цена.

Как собрать схему в Proteus

Для начала нужно добавить в проект необходимые нам элементы. В демонстрационном примере мы попробуем собрать бегущие огни на микроконтроллере Tiny2313. Для данного проекта нам потребуются:

  • Микроконтроллер tiny2313
  • Восемь светодиодов
  • восемь токоограничивающих резисторов на 220 Ом

Для добавления щёлкнем на кнопку на панели инструментов слева. После нажатия жмём на кнопку P слева от надписи DEVICES. Откроется окно, в котором необходимо выбрать нужный нам элемент. Поиск можно осуществить двумя способами: Просто выбрать элемент из нужной категории Microprocessor ICs -> AVR Family -> ATTINY2313 а можно поступить проще, просто написав нужное название в строке поиска сверху. Должно получится что то вроде этого:

После добавления элемента его название появится в списке DEVICES. Аналогичным образом добавим резистор (слово для поиска RES) и светодиод (Led-green). После добавления приступим к объединению элементов в схему. Из списка DEVICES выбираем микроконтроллер и помещаем его в рабочую область. Потом добавляем аналогичным образом 8 светодиодов и 8 резисторов. Резисторы имеют сопротивление по умолчанию 10 кОм, а нам нужно 220. Для изменения сопротивления щёлкнем по резистору двойным щелчком и в открывшемся окне найдем поле «Resistance» и внесем туда число 220. Катоды светодиодов потребуется подключить к земле. Чтобы получить вывод «Земля» нужно щёлкнуть на кнопке и в списке выбрать «GROUND». Аналогичным способом можно получить вывод +5 вольт (POWER). Теперь когда земля добавлена, соединим детали по схеме ниже:

Теперь нужно «прошить» виртуальный микроконтроллер. Для этого щёлкаем дважды на нем и находим поле для ввода текста под названием Program File. В нем нужно указать путь к HEX файлу. Так же в этом окне можно задать частоту работы контроллера, содержимое EEPROM памяти, фьюзы итд. Прошивку для данного демонстрационного примера можно скачать . Теперь когда всего готово можно приступать к самому интересному — запуску симуляции! Жмем кнопочку Play снизу (треугольничек направленный вправо) , после этого светодиоды должны по очереди загораться! Аналогично собираются другие схемы на микроконтроллерах. Все вопросы по протеусу можно задать в комментах.

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: