Уроки протеус: Работа в Proteus. Часть 1

Система моделирования ISIS 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, позволяющий отлаживать программу по исходному коду, не выходя из симуляции.

Отладка предыдущей версии контроллера робота
Пошаговая отладка одновременно двух процов связанных по программному i2c. МОЩЬ

Добавляем исходник.
Лезь в меню и ищи там пункт 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 года.

Proteus 7, Основы работы в программе, часть первая

Proteus 7.10 Запуск программыПоговорим о такой замечательной программе для симуляции электронных схем как Proteus 7, (а конкретнее версия 7.10). Для начала что такое симулятор, и зачем он нужен. Симулятор электронных схем Proteus 7, предназначен для моделирования составленных вами электронных схем. То есть вы рисуете схему (добавляете нужные компоненты и соединяете в нужной последовательности), а затем добавляете измерительные приборы, которые вам нужны для контроля работоспособности. Вся прелесть в том что в железе ничего собирать не нужно. Накидал схему и смотришь как она работает, измеряешь ее параметры. Иногда, конечно, случается что в железе все работает по другому. Вообще для Proteus 7 нужен компьютер по мощнее. Теперь познакомимся с самой программой. Запускаем программу и после загрузки видим: рабочее поле, панели инструментов (расположены вверху и слева), и панель свойств.

Протеус основное окно

Создадим простой проект. Добавим светодиод, резистор, кнопку, питание и соединим все это, чтобы при нажатии на кнопку светодиод горел. Нажимаем «Компоненты», на панели свойств нажимаем «P».

Протеус вход в меню компоненты Можно искать через категории нужный нам компонент, ну а можно и просто по названию. В строке поиска пишем «LED» и выбираем светодиод, например синий. Щелкаем по нему 2 раза и он добавляется в наши компоненты. Также добавим кнопку и резистор.

Протеус поиск компонента

Теперь в нашей панели есть светодиод, кнопка и резистор. Выделяем первый компонент и делаем один клик на рабочем поле. Компонент добавлен. Размещаем компоненты как удобно. Для резистора нужно задать номинал. Для этого щелкаем по нему 2 раза и в окне свойств вводим нужный нам номинал.

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

Протеус размещение и соединение компонентовТеперь нужно добавить питание. Жмем на кнопку «Terminal» и добавляем элементы Power (+) и Ground (-).

Протеус вход в панель терминал Напряжение по умолчанию здесь 5В. (добавляются на рабочее поле они точно так же как и компоненты). И соединяем их с нужными точками схемы. В итоге получается такая схема.

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

Протеус панель запуска симуляцииУбеждаемся что светодиод горит.

Протеус симуляцияТеперь останавливаем симуляцию. Если этот проект потребуется в будущем, можем его сохранить через меню Файл->Сохранить.

В следующей статье поговорим об измерительных приборах которые доступны для моделирования.

СКАЧАТЬ PROTEUS 7.10 SP0 RUS & CRACK

AVR. Урок 1 — Proteus

AVR. Урок 1 – Proteus.

Начинаем серию уроков по программированию микроконтроллеров AVR в среде CodeVision AVR.

    Что нам понадобиться для их изучения:
  • 1. Базовые знания программирования на C/C++.
  • 2. Базовые знания в электронике и электротехнике.

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — 1996.

Идея разработки нового RISC-ядра принадлежит двум студентам Norwegian University of Science and Technology (NTNU) из норвежского города Тронхейма — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, которая была известна своими чипами с Flash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью для программ на одном кристалле с вычислительным ядром.

Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в данную разработку. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997 г. корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.

Новое ядро было запатентовано и получило название AVR. Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это Advanced Virtual RISC, другие полагают, что не обошлось здесь без Alf Egil Bogen Vegard Wollan RISC.

Урок 1.

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

Как эмулировать AVR в Proteus

Как эмулировать AVR в Proteus?

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

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

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

Как эмулировать  AVR в Proteus

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

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

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

Как эмулировать  AVR в Proteus

Далее нам нужно нажать Файл => Новый проект, ввести название и выбрать в какой папке мы его сохраняем

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

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

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

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

Как эмулировать  AVR в Proteus

Также можно сохранить проект как готовый шаблон, выбрав “Сохранить проект как шаблон” и в будущем использовать его, в качестве части любой будущей схемы:

Как эмулировать  AVR в Proteus

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

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

РадиоКот :: Proteus — первое знакомство

РадиоКот >Обучалка >Программные пакеты >Proteus >

Proteus — первое знакомство

Вот был удостоен чести написать про продукт компании Labcent Electronics ( LE ) под непонятным именем Proteus. Это программный комплекс, повсей видимости, призванный облегчить работу разработчика и заменить собою монтажную плату.

Итак, что же может Proteus? Прежде всего это привычный нам дизайнер электрических схем и автоматической трассировки PCB . Во вторую очередь это калькулятор количества используемых элементов и их стоимости, последнее по заранее внесённому прайсу. И самое главное, что будет рассматриваться в этой статье – «полноценная» эмуляция собранной схемы, притом как цифровой так и аналоговой.

Для начала давайте изучим внешний вид и основные инструменты Proteus ISIS Professional . Хочу заметить, что Proteus Pro . Так просто за спасибо в Интернете не найдёшь, разве что в p 2 p сетях. LE хочет денежек за твои старания и поэтому на всеобщее обозрение выложила только Demo версию с массой ограничений. Но я использую Pro и рассказывать буду о ней.

О чём это я? Ах да! Внешний вид…. Главное окно программы состоит из 4х частей.

  1. Основное рабочее пространство.
  2. Окно навигации
  3. Список используемых устройств/свойств инструмента
  4. Панелей инструментов и функций

Я считаю, что лучший способ что-то освоить – это взять и попробовать. Ну так давайте попробуем! Как сказал Ю.А. Гагарин: «Поехали!»

Прежде чем читать эту статью вы уже прочитали обучалку по АВРам…», если ещё нет, то марш туда и читать…

Замечание. В процессе написания данной статьи было обнаружено что, модель AT90S2313 y не работает, поэтому пришлось схему переделать на ATMega 8.

 

Открываем Proteus ISIS Professional . Открывается Главное окно с чистым рабочим пространством.

Теперь, что у нас там по статье? А по какой статье? А по самой последней про матрицы и клавиатуру. Там у нас Микропроцессор от Atmel с гордым именем АТ90 S 2313 его-то нам и нужно добавить в наш проект. Для чего жмён на самую первую кнопку панели инструментов « Component » визуально ничего произойти не должно. Теперь нужно нажать на маленькую кнопочку «Р» в углу списка элементов ( Devices ) откроется окно выбора устройства « Pick Device ». Особо одарённые ручным поиском могут конечно в ручную найти нужное им устройство, но предпочитаю пользоваться поиском. Вводим в поле Keywords ключевое слово характеризующее наш микропроцессор, в частности “2313”, справа в списке результатов должен тут же остаться только 1 пункт — АТ90 S 2313. Тыкаем в него и нажимаем кнопку ОК. Окно закрывается и нам предлагается разместить его на схеме. Для чего удерживая левую кнопку мыши в области схемы перемещаем контур бедующего компонента по схеме в то место, где мы хотели его там видеть. После того как определитесь с местом, можно отпустить клавишу мышки и компонент появится на схеме. Хочу заметить, что «накидать» таких компонентов на схему можно сколько угодно.

Как работать с элементами на схеме: Для выделения элементы использует правая клавиша мышки. Для перемещения выделанного Левая клавиша. Для удаление второй клик правой кнопкой по уже выделенному элементу. Подробнее в разделе TUTORIAL справки.

Теперь по схеме у нас 2 спаренных 7 сегментных индикатора. Для этого повторяем шаги начиная с «Теперь нужно нажать на маленькую кнопочку «Р» в углу списка элементов ( Devices )» и вводим в качестве ключевого слова “ MPX 2- CC ”, нашему вниманию предлагается 2 элемента, отличаются они только цветом, один красный – другой синий. Мне нравится синий J . Выбираем его и тыкаем ОК. располагаем на схеме 2 таких элемента, по тому же принципу что и процессор. Для их подключения нам нужны резисторы. Хочу заметить, что Proteus имеет маленькое представление о силе тока в эмуляции цифровых схем, и у него по проводам ходят идеальные единички и нолики, так что спалить диоды или ножки контроллера мы не сможем, но для приличия поставим резисторы. Почему-то в базе Протеуса самый мелкий резистор мощностью на 0.6 W , его то и возьмём. Всё тем же способом что брали и предыдущие компоненты, замечу только, что ключевое слово для резистора напрашивается само 100 R . И натыкаем их на семе. О боже! Но как же их повернуть? Для того перед тем как установить элемент понажимайте на кнопку « Set Rotation » на панели инструментов. В окошке предпросмотра будет показано бедующее положение элемента. Когда добиваемся нужного результата начинаем расставлять. Дальше у нас клавиатура, опять же особо желающие могут её состряпать из кучки кнопок и проводников, а мы пойдём простым путём, открываем список устройств и вводим как ключевое слово « KEYPAD » y нам предлагают 3 клавиатуры, одна из них телефонная. Её-то и берём. Её отличие от, той что в обучалке, это направление выводов 1, 2 и 3 у нас они вверху, а в обучалке внизу. Ничего страшного. Ну и на последок это 3 подтягивающих резистора на 300 Ом, без уж точно никак, Z состояние ножки Протеус предусматривает. Для начала всё. Вы скажете, а как же кварц и конденсатор на питание? А я отвечу: хотите – ставьте. В протеусе у микроконтроллеров нет ног питания, читается, что они уже подключены. А кварцы играю чисто косметическую роль при формировании PCB , в частота задаётся в свойствах процессора, о чём мы поговорим далее.

Теперь нужно всё это соединить воедино. Жмём кнопку с диагональной линией «2 D Graphic line » и в списке устройств выбираем Wire (проволока). И начинаем соединять ножки компонентов. Для соединения 2х ножек достаточно один раз кликнуть на 1 ножку и 1 раз на другую, и Proteus сам уложит дорожку, но зачастую у него это выходит как-то не по людски, поэтому я укладываю дорожки сам – кликая на каждом повороте до самой ножки.

Пока соединяли заметили, что нам нужно RESET повесить на землю, а резисторы по 300 Ом на VCC , а из нет. Не беда! Жмём кнопку « Inter — sheet — terminal » и ставим из списка по очереди POWER и GROUD там где считаем нужным. Соединяем их с нужными выводами схемы.

Готовая схема (Интерфейс Proteus

Что касается электрической части схемы, то всё. Теперь нужно настроить процессор. Открываем его свойства, для чего нужно один раз кликнуть на нём левой кнопкой мыши предварительно выделив его правой.

В открывшемся окне указываем имя HEX файла скомпилированной прошивки для процессора в поле Program File . Ведь она у вас уже есть? Если нет, то бегом делать. И указываем частоту кварца процессора в поле Clock Frequency . И нажимаем Ок .

Всё. Теперь нажимаем на клавишу Play . После нажатия на Play можно нажимать на клавиши клавиатуры наблюдать результат. Схема становится полностью интерактивной.


Как вам эта статья?

Заработало ли это устройство у вас?

Симуляция работы микроконтроллеров ⋆ diodov.net

Программирование микроконтроллеров Курсы

Proteus – это универсальная программа, с помощью которой можно создавать различные виртуальные электронные устройства и выполнять их симуляцию. Она содержит огромную библиотеку аналоговых и цифровых микросхем, датчиков, дискретных элементов: резисторов, конденсаторов, диодов, транзисторов и т.п. Также имеется широкий набор компонентов оптоэлектроники: дисплеи, светодиоды, оптопары и др.Proteus 8

Главным преимуществом и отличием Протеус от других подобных программ для симуляции работы электрических цепей, — это возможность выполнять симуляцию работы микропроцессоров и микроконтроллеров (МК). Библиотека Proteus содержит такие основные типы МК: AVR, ARM, PIC, Cortex.

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

Также в Протеусе встроены инструменты для автоматизированной разработки печатных плат и для создания их 3D моделей.

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

Настройка Proteus 8.4

Любая настройка начинается с запуска. В появившемся окне кликаем по значку диода с конденсатором Schematic Capture (Схемотехника).

Proteus первый запуск

После этого откроется окно с пустым полем.

Proteus 8 Рабочая область

Теперь добавим микроконтроллер ATmega8, резистор и светодиод.

По умолчанию установлен подходящий режим Component Mode поэтому, чтобы попасть в меню выбора электронных и других элементов, достаточно кликнуть по кнопке P, расположенной на панели DEVICE (устройство). После этого откроется окно, в котором необходимо выбрать в меню Category (Категории) Microprocessors ICs (микропроцессоры), в Sub-Category (Подкатегории) – AVR Family. Далее в окне Results находим и выделяем МК ATMEGA8. Кликаем по кнопке OK.

Proteus 8 Добавление микроконтроллера ATmega8

После этого он появится в меню окна DEVICE и его уже можно перетягивать мышкой в рабочую область.

Proteus Симуляция работы микроконтроллера

Аналогичным образом добавляем резистор и светодиод.

Proteus Resistors

Светодиоды находятся в категории Optoelectronics (Оптоэлектроника) и далее в подкатегории LEDs. В данном примере он выбран зеленого цвета LED-GREEN.

Proteus светодиод LED

Теперь собираем схему, как показано на рисунке ниже. К выводу МК PC0 подсоединяем резистор R1, который соединяем с анодом светодиода D1. Катод светодиода соединяем с «землей». Элемент «земля» находится в меню вкладки Terminals Mode.

Proteus Земля Ground GND

Чтобы изменить значение сопротивления резистора R1 нужно дважды кликнуть мышкой по нему. В открывшемся окне устанавливаем 300 Ом в строке Resistance (сопротивление).

Proteus Изменение значения сопротивления

Обратите внимание, что выводы микроконтроллера в Proteuse для удобства объединены в отдельные группы по портам. Однако это не соответствует расположению их в реальном МК. Кроме того отсутствуют выводы, к которым подается напряжение для питания МК. Эта функция установлена по умолчанию.

Запись программы в память микроконтроллера

Теперь осталось записать наш код в виртуальный МК. Дважды кликаем по нему мышкой и в появившемся новом указываем путь к файлу с кодом. Место расположения файла находим кликнув по значку в виде открытой папки в строке Program File.

Proteus запись программы в микроконтроллер

В папке с проектом находим папку Debug и в ней выбираем файл с расширением HEX. После этого нажимаем кнопку Открыть.

Proteus добавление файла прошивки микроконтроллера

Теперь все готово. Для начала симуляции нажимаем кнопку Run the simulation треугольной формы в левом нижнем углу окна программы. Светодиод засветился, значить мы написали верный код.

Proteus

Маленький красный квадратик возле 23-вывода микроконтроллера, указывает на то, что на выводе присутствует высокий потенциал, т. е. + 5В. Обратите внимание, высокий потенциал всегда имеет 29-й вывод RESET. Поэтому, в случае необходимости, для сброса или перезапуска программы, вывод RESET нужно кратковременно соединить с землей.

На этом симуляцию в Proteus мы закончим. И теперь нам осталось записать код в реальный микроконтроллер ATmega8.

Скачать файл  Программа 1

Как читать электрические схемы и создавать электронные устройства

Еще статьи по данной теме

Proteus 7, Основы работы в программе, часть первая

Proteus 7.10 Запуск программы Поговорим о такой замечательной программе для симуляции электронных электронных средств как Proteus 7, (конкретнее версия 7.10). Для начала что такое симулятор, и зачем он нужен. Симулятор электронного Proteus 7, предназначенный для построения схем составленных вами электронных устройств. То есть вы рисуете схему (добавляете нужные компоненты и соединяете в нужную последовательность), а затем добавляете измерительные приборы, которые вам нужны для контроля работоспособности.Вся прелесть в том что в железе ничего собирать не нужно. Накидал схему и смотришь как она работает, измеряешь ее параметры. Иногда, конечно, случается что в железе все работает по другому. Вообще для Proteus 7 нужен компьютер по мощнее. Теперь познакомимся с самой программой. Запускаем программу и после загрузки видим: поле, панели инструментов (установленоу и слева), и панель вверх по свойствам.

Протеус основное окно

Создадим простой проект. Добавим светодиод, резистор, кнопку, питание и соединим все это, чтобы нажать на кнопку светодиод горел.Нажимаем «Компоненты», на панели свойств нажимаем «P».

Протеус вход в меню компоненты Можно искать через категорию нужный нам компонент, ну а можно и просто по названию. В строке поиска пишем «LED» и выбираем светодиод, например синий. Щелкаем по нему в 2 раза и он добавляется в наши компоненты. Также добавим кнопку и резистор.

Протеус поиск компонента

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

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

Протеус размещение и соединение компонентов Теперь нужно добавить питание. Жмем на кнопку «Терминал» и добавляем элементы Power (+) и Ground (-).

Протеус вход в панель терминал Напряжение по умолчанию здесь 5В. (добавляются на рабочее поле они точно так же как и компоненты).И соединяем их с нужными точками схемы. В итоге получается такая схема.

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

Протеус панель запуска симуляции Убеждаемся что светодиод горит.

Протеус симуляция Теперь останавливаем симуляцию. Если этот проект потребуется в будущем, сохранить его через меню Файл-> Сохранить.

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

СКАЧАТЬ PROTEUS 7.10 SP0 RUS & CRACK

.

AVR. Урок 1 — Proteus

АРН. Урок 1 — Протей.

Начинаем серию уроков по программированию микроконтроллеров AVR в среде CodeVision AVR.

    Что нам понадобиться для их изучения:
  • 1. Базовые знания программирования на C / C ++.
  • 2. Базовые знания в электронике и электротехнике.

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — 1996.

Идея разработки нового RISC-ядра принадлежит двум студентам Норвежский университет науки и технологий (NTNU) из норвежского города Тронхейма — Альфу Богену (Alf-Egil Bogen) и Вегарду Воллену (Vegard Wollen). В 1995 году Боген и Воллен решили американской корпорации Atmel, которая известна своими чипами с Flash-памятью, выпустила новый 8-битный RISC-микроконтроллер и снабдить его Flash-память для программ на одном кристалле с вычислительным ядром.

Идея была одобрена Atmel Corp., и было принято решение незамедлительно инвестировать в модель компьютер. В конце 1996 года был выпущен опытный микроконтроллер AT90S1200, а во второй половине 1997 г. корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.

Новое ядро ​​было запатентовано и получило название AVR . Существует несколько трактовок данной аббревиатуры. Кто-то утверждает, что это A продвинутый V виртуальный R ISC, другие полагают, что не обошлось здесь без A lf Egil Bogen V egard Wollan R ISC.

Урок 1.

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

.

РадиоКот :: Proteus — первое знакомство

РадиоКот> Обучалка> Программные пакеты> Proteus>

Proteus — первое знакомство

Вот был удостоен чести написать про продукт компании Labcent Electronics (LE) под непонятным именем Proteus. Это программный комплекс, призванный облегчить работу разработчика и заменить собою монтажную плату.

Итак, что же может Proteus? Прежде всего это привычный нам дизайнер электрических схем и автоматической трассировки печатной платы.Во вторую очередь это калькулятор количества используемых элементов и их стоимости, последнее по заранее внесённому прайсу. И самое главное, что будет рассматривать в этой статье — «полноценная» эмуляция собранной схемы, притом как цифровой так и аналоговой.

Для начала давайте изучим внешний вид и основные инструменты Proteus ISIS Professional. Хочу заметить, что Proteus Pro. Так просто за спасибо в Интернете не найдёшь, разве что в p 2 p сетей. LE хочет денежек за твои старания и поэтому на всеобщее обозрение выложила только демоверсию с массой ограничений.Но я использую Pro и рассказывать буду о ней.

О чём это я? Ах да! Внешний вид…. Главное окно программы состоит из 4х частей.

  1. Основное рабочее пространство.
  2. Окно навигации
  3. Список используемых устройств / свойств инструмента
  4. Панелей инструментов и функций

Я считаю, что лучший способ что-то освоить — это взять и попробовать. Ну так давайте попробуем! Как сказал Ю.А. Гагарин: «Поехали!»

Прежде чем читать эту статью вы уже прочитали обучалку по АВРам… «, если ещё нет, то марш туда и читать…

Замечание. В процессе написания данной статьи было обнаружено что, модель AT90S2313 y не работает, поэтому пришлось схему переделать на ATMega 8.

Открываем Proteus ISIS Professional. Открывается Главное окно с чистым рабочим пространством.

Теперь, что у нас там по статье? А по какой статье? А по самой последней про матрицы и клавиатуру. Там у нас Микропроцессор от Atmel с гордым именем АТ90 S 2313 его-то нам и нужно добавить в наш проект.Для чего кнопку жмён на первую панель инструментов «Компонент» визуально ничего произойти не должно. Теперь нужно нажать на маленькую кнопочку «Р» в списке элементов (Devices) откроется окно выбора устройства «Pick Device». Особо одарённые ручным поиском могут конечно в ручную найти нужное им устройство, но предпочитаю пользоваться поиском. Вводим в поле Ключевые слова определяют слово характеризующее наш микропроцессор, в частности «2313», справа в списке результатов должен тут же остаться только 1 пункт — АТ90 S 2313.Тыкаем в него и нажимаем кнопку ОК. Окно закрывается и нам предлагается link его на схеме. Для чего удерживать левую кнопку мыши в области перемещаем контур бедующего компонента по схеме в то место, где мы его там видеть. После того, как определитесь с местом, можно отпустить мышки и компонент будет представлен на схеме. Хочу заметить, что «накидать» таких компонентов на схему можно сколько угодно.

Как работать с элементами на схеме: Для выделения элементов используются правая клавиша мышки.Для перемещения выделенного Левая клавиша. Для удаления второй клик правой кнопкой по уже выделенному элементу. Подробнее в разделе УЧЕБНАЯ справки.

Теперь по схеме у нас 2 спаренных 7 сегментных индикатора. «Теперь нужно нажать на маленькую кнопочку« Р »в разделе списка элементов (Devices)» и ввести в качестве ключевого слова «MPX 2-CC», нашему вниманию предлагаемого 2 элемента, они отличаются только цветом, один красный — другой синий.Мне нравится синий J. Выбираем его и тыкаем ОК. располагаем на схеме 2 таких элементов, по тому же принципу что и процессор. Для их подключения нам нужны резисторы. Хочу заметить, что Proteus имеет маленькое представление о силе тока в эмуляции цифровых схем, и у него по проводам ходят идеальные единичные и нолики, так что спалить диоды или ножки контроллера, мы не сможем, но для приличия поставим резисторы. Почему-то в базе Протеуса самый мелкий резистор мощностью на 0,6 Вт, его то и возьмём. Всё тем же способом, что брали и предыдущие компоненты, замечу только, что используется для резистора напрашивается само слово 100 р.И натыкаем их на семе. О боже! Но как же их повернуть? Для того, чтобы установить элемент понажимайте на кнопку «Установить поворот» на панели инструментов. В окошке предпросмотра будет показано бедующее положение положения. Когда добиваемся нужного результата начинаем расставлять. Дальше у нас клавиатура, опять же особо желающие ее состряпать из кучки кнопок и проводников, а мы пойдём простым путём, открываем список устройств и вводим как слово слово «KEYPAD» y нам задают 3 клавиатуры, одна из них телефонная.Её-то и берём. Её отличие от той что в обучалке, это направление выводов 1, 2 и 3 у нас они вверху, а в обучалке внизу. Ничего страшного. Ну и на последок это 3 подтягивающих резистора на 300 Ом, уж точно никак, Z состояние ножки Протеус предусматривает. Для начала всё. Вы скажете, а как же кварц и конденсатор на питание? А я отвечу: хотите — ставьте. В протеусе у микроконтроллеров нет ног питания, читается, что они уже подключены. А кварцы играют чисто косметическую роль при формировании печатной платы, частота задаётся в свойствах процессора, о чём мы поговорим далее.

Теперь нужно всё это соединить воедино. Жмём кнопку с диагональной линией «2 D Graphic line» и в списке устройств выбираем Wire (проволока). И начинаем соединять ножки компонентов. Для соединений 2х ножек достаточно один раз кликнуть на 1 ножку и 1 другой, и Proteus сам уложит дорожку, но зачастую это выходит как-то не по людски, поэтому я укладываю дорожки сам — кликая на каждом повороте до самой ножки.

Пока соединяли заметили, что нам нужно RESET повесить на землю, а резисторы на 300 Ом на VCC, а из нет.Не беда! Жмём кнопку «Интер-лист — терминал» и ставим из списка по очереди POWER и GROUD там где считаем нужным. Соединяем их с нужными выводами схемы.

Готовая схема (Интерфейс Proteus

Что касается электрической части схемы, то всё. Теперь нужно процессор настроить. Открываем его свойства, для чего нужно один раз кликнуть на нём левой клик мыши выделив его свойства правой кнопкой мыши.

В открывшемся окне указываем имя HEX файла скомпилированной прошивки для процессора в поле Программа Файл .Ведь она у вас уже есть? Если нет, то бегом делать. И указываем частоту кварца процессора в поле Тактовая частота Частота . И нажимаем Ок .

Всё. Теперь нажимаем на разрешение Play. После нажатия на клавиши Play можно нажимать на клавиатуру, как результат. Схема становится полностью интерактивной.


Как вам эта статья?

Заработало ли это устройство у вас?

.

Proteus VSM. Руководство по интерактивному моделированию

Сохранить или поделиться

Введение

Цель данного руководства — показать вам пример создания простых схем, как проводить интерактивное моделирование, используя Proteus VSM. Пока мы сконцентрируемся на использовании Активных Компонентов ( активных компонентов ) и возможностях отладки редактора ISIS, мы также рассмотрим основы трассировки и основы управления схемами. Полный обзор этих тем может быть найден в справочной системе ISIS.

Схема, которую мы будем использовать для моделирования — это два светофора, соединенных с микроконтроллером PIC16F84, как показано ниже.

Пример схемы Traffic.dsn Пример схемы Traffic.dsn

Пока мы будем рисовать схему с нуля, законченную версию можно будет найти по пути «Samples \ Tutorials \ Traffic.DSN» в папке, где у вас установлен Proteus. Пользователи, которые знакомы с методами работы в ISIS, могут выбрать уже готовую схему и перейти к разделу по программе микроконтроллера.Однако, пожалуйста, обратите внимание на то, что файл этого проекта содержит предумышленную ошибку — прочитайте для более подробной информации.

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

Вычерчивание схемы

Размещение элементов

Начнем с размещения двух светофоров и PIC16F84 на новом макете схем.Начните новый проект, выберите иконку Компонент ( Component ) (все иконки всплывающие подсказки и контекстно-зависимую справку, что помогает их использованию). Затем левый клик на букве ‘P’ наверху переключателя объектов ( Object Selector ), чтобы открыть окно Браузера Библиотек ( Library Browser ), которое появится поверх окна редактора (для более подробной информации смотрите Основы Ввода Схем в справочной системе ISIS ).

Нажмите кнопку P на клавиатуре и напечатайте «Трафик» в поле «Ключевые слова» ( Ключевые слова ), и дважды кликните на результате, чтобы переместить светофоры в переключатель объектов.Сделайте то же самое для PIC16F84A.

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

Перемещение и ориентация

Мы создали узлы схемы, но не идеально разместили их.Чтобы переместить элемент, кликните на нем правой кнопкой мыши (выделите элемент), затем за курс левую мышь и перетащите элемент (вы увидите элемент «следующий» за мышью) на выбранную позицию. Когда контур будет там, где вы хотите, отпустите левую кнопку мыши, и элемент переместится на заданную позицию. Обратите внимание, что в данный момент элемент всё еще выделен — правый клик на пустом месте окна редактора вернет элементу нормальное состояние.

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

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

Для нашей цели, мы игнорируем 2D-график, чтобы не запутываться и сконцентрироваться на создании моделируемой схемы — для тех, кому интересно, полный доклад о графических возможностях ISIS можно найти в разделе 2D-графика (2D-графика).

Масштаб и захват

Как правило, при разводке схемы полезна возможность изменения масштаба требуемой территории. Нажатие клавиш F6 или иконки Увеличить ( Zoom In ) увеличивать масштаб вокруг текущей позиции мыши, в качестве альтернативы, существующей SHIFT , и зажав левую кнопку мыши, выделите область, которую нужно увеличить. Чтобы уменьшить масштаб изображения F7 или иконку Уменьшить ( Уменьшить ), или, если вы хотите уменьшить так, чтобы видеть всю схему, нажмите кнопку F8 или используйте колесо мыши, уменьшите или увеличьте требуемую территорию.Соответствующие команды могут быть доступны меню Вид ( Вид ).

ISIS имеет очень мощные возможности, называемые Real Time Snap . Когда курсор мыши находится поблизости от конца вывода или проводника, местоположение курсора захватывается этим объектомми. Это позволяет легко редактировать и управлять схемой. Эта возможность может быть найдена в меню Инструменты ( Tools ) и по умолчанию включены.

Более подробная информация о масштабе и захвате может быть найдена в справочной системе ISIS — Окно Редактора.

Трассировка соединений

Простейшие способы соединения схемы — это использовать опцию автотрассировки проводника ( Wire Auto Router ) в меню Инструменты ( Tools ). Убедитесь, что она включена (должна быть видна отметка в меню слева от опции). Для более подробной информации смотрите раздел «Автотрассировка проводника» в Инструкции ISIS. Увеличьте PIC, чтобы все выводы были видны, затем поместите курсор мыши на конец вывода 6 ( RB0 / INT ). Вы увидите маленький ‘х’ – курсор на конце мыши.Это показывает, что мышь в правильной позиции для присоединения проводника к этому выводу. Левый клик мышью, чтобы начать соединение, и затем переместите мышь к выводу, соединенному с красным фонарём одного из светофоров. Когда вы снова получите курсор ‘х’ – над этим выводом, щелкните левой кнопкой мыши, чтобы завершить соединение. Повторите этот процесс для подключения обоих светофоров как показано образце схемы.

Пара вопросов о процессе разводки, заслуживающих упоминания:

  • . Вы можете делать соединения в любом режиме — ISIS достаточно сообразителен, чтобы понять, что вы делаете.
  • Когда включена автотрассировка проводника ( Wire Auto router ), разводится вокруг препятствий и, как правило, ищется удобная траектория между соединениями. При этом способе, как правило, вам нужно сделать левый клик на обоих концах соединения и предоставить ISIS возможность позаботиться о пути между ними.
  • ISIS автоматически переместит экран, если вы включите границу окна редактора, перемещая проводник. Это, вы можете увеличить масштаб до подходящего уровня, при условии, что вы видите приблизительную установку элемента-цели.В качестве альтернативы, вы можете увеличить и уменьшить масштаб, пока перемещаете проводник (используя клавиши F6 и F7 ).

В заключение, мы должны соединить вывод 4 с клеммой питания. Выберите иконку «Клемма» ( Терминал ) и выделите «Питание» ( POWER ) в переключателе объектов. Теперь сделайте левый клик на подходящем месте и поместите клемму. Выберите подходящую настройку и присоедините клемму к выводу 4, используя тот же способ, что и раньше.

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

Написание программы

Листинг исходной программы

Для успеха нашей консультации мы подготовили программу, которая записывается в PIC для управления светофорами.Эта программа приготовлена ​​в файле TL.ASM и может быть найдена в папке «Samples \ Tutorials» .

 
    ; PIC16F844 - целевой процессор
    СПИСОК p = 16F84

    ; Включить файл заголовка
    #include "P16F84.INC"

    ; Временное хранилище
    CBLOCK 0x10
      государство
      l1, l2
    ENDC

    org 0; Вектор запуска.
    goto setports; Перейти к запуску кода.

    org 4; Вектор прерывания.остановка
    перейти к остановке; Сидеть в бесконечной петле и ничего не делать.

сетпорты
    clrw; Сосредоточьте внимание на W.
    movwf PORTA; Перед включением убедитесь, что PORTA равен нулю.
    movwf PORTB; Перед включением убедитесь, что PORTB равен нулю.
    bsf STATUS, RP0; Выберите банк 1
    clrw; Маска для всех битов как выходов.
    movwf TRISB; Установите регистр TRISB.
    bcf STATUS, RP0; Снова выберите банк 0.

инициализировать
    clrw; Начальное состояние.состояние movwf; Установить его.

петля
    вызовите getmask; Преобразуйте состояние в битовую маску.
    movwf PORTB; Пишите в порт.
    состояние incf, Вт; Состояние приращения до W.
    andlw 0x04; Оберните его.
    состояние movwf; Поместите это обратно в память.
    звонок ждать; Подождите :-)
    цикл goto; И петля :-)

    ; Функция для возврата битовой маски для порта вывода
    ; для текущего состояния.

    ; Верхний полубайт содержит биты для одного набора
    ; огней и нижнего кусочка бит для
    ; другой набор.Бит 1 красный, 2 желтый и
    ; третий бит зеленый. Бит четыре не используется.
getmask
    состояние movf, Вт; Получите статус в W.
    addwf PCL, F; Добавьте смещение в W к PCL в calc.goto.
    retlw 0x41; state == 0 - зеленый и красный.
    retlw 0x23; state == 1 - Янтарный и Красный / Янтарный

    retlw 0x14; state == 3 красный и зеленый
    retlw 0x32; state == 4 - красный / янтарный и янтарный.

    ; Функция использует два цикла для достижения задержки.
Подождите
    movlw 5
    movwf l1

w1 вызов wait2
    decfsz l1
    goto w1

    возвращение

ждать2
    clrf l2
w2
    decfsz l2
    goto w2
    возвращение
    КОНЕЦ
  

На самом деле в коде есть предумышленная ошибка, но подробнее об этом позже…

Прикрепление исходного файла

Следующий этап — присоединить программу к нашей схеме, чтобы мы могли успешно моделировать ее поведение. Сделаем это через команды меню Исходник ( Источник ). Теперь перейдите в меню Source и выберите команду «Добавить / исходные файлы» ( Добавить / удалить исходные файлы ). Нажмите кнопку «New», зайдите в папку «Samples \ Tutorials» и выберите файл TL.ASM. Нажмите «открыть» и появится файл в выпадающем списке имен файлов исходных кодов (, исходный код, имя файла ).

Теперь нужно выбрать программу формирования кода для файла. Для нашей цели подойдет программа MPASM. Эта опция доступна из выпадающего списка Code Generation Tool , выберите ее обычным способом, кликая левой кнопкой мыши (обратите внимание, что если вы планируете использовать новый ассемблер или компилятор, вам нужно зарегистрировать его, используя команду «Определить программу формирования кода») ( Определить инструменты генерации кода )).

В завершение, установить с каким файлом работает процессор.В нашем примере это будет tl.hex (шестнадцатеричный файл, генерируемый MPASM, являющийся результатом трансляции tl.asm). Чтобы прикрепить этот файл к процессу, кликните на pic-контроллере сначала правой кнопкой мыши, а потом левой. Это откроет диалоговую форму редактирования элемента, которая содержит поле «Файл программы» ( Программный файл ). Если в нем еще не установлен tl.hex, то введите в файлу либо вручную, либо путь просматривая, где находится нарушение, ‘?’ справа от поля.Установив hex-файл, нажмите ОК, чтобы выйти из диалоговой формы.

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

Отладка программы

Моделирование схемы

Чтобы смоделировать работу схем, кликните левой кнопкой мыши по кнопке Play на анимационной модели в правом нижнем углу экрана.Строка состояния покажет время, в течение которого запущена анимация. Обратите внимание на то, что один из светофоров зеленый в то время как другой красный, на схеме также можно увидеть логические выводы. Однако заметьте, что светофоры не изменяют состояния. Это из-за того, что в код внесена предумышленная ошибка. На данном этапе это подходит для того, чтобы отладить нашу программу и проблему.

Режим отладки

Чтобы удостоверить, что мы тщательны в отладке, мы остановим текущее моделирование.Покончив с этим, начать отладку нажатием CTRL + F12 . Появятся два окна — первое хранит текущие значения значений, второе показывает исходный код программы регистров. Любое из них может быть активировано из меню «Отладка» ( Debug ) вместе с совокупностью других информационных окон. Мы также хотим активировать смотровое окно ( Watch Window ), в котором мы можем наблюдать внесенные изменения в параметры состояния. Полное разъяснение этого элемента доступно в разделе, озаглавленном «Смотровое окно», в данной документации.

Установка точки останова

Взгляните на программу, можно заметить, что она замкнута в повторяющемся цикле. Поэтому будет хорошей идеей перед тем, как начать, установить точку останова в начале этого цикла. Вы можете сделать это выделением мышью строки (по адресу 0005 и 000E ), а нажатием F9 . Затем нажмите F12 , чтобы запустить прогон программы. Теперь вы видите сообщение в строке состояния, показывающее, что достигнута цифровая точка останова, а также адрес счётчика команд.Он соответствует адресу первой точки, которую мы установили.

Список клавиш отладки можно найти в меню Отладка , но мы, большей частью, будем использовать F11 , чтобы пошагово отлаживать программу. Теперь нажмите F11 и заметьте, что красная стрелка слева переместилась вниз к следующей инструкции. Мы фактически выполнили инструкцию « clrw », а затем остановились. Вы можете проверить это, взглянув на регистр W в окне регистров и обратив внимание, что он обнулен.

Теперь нужно определить, что должно произойти при следующей инструкции, а затем проверить, действительно ли это произошло. Для сообщения следующая инструкция перемещает содержимое регистра « W » в PORT A , т.е. ПОРТ A будет очищен. Выполнение этой инструкции и проверки окна регистров подтверждают, что это на самом деле так. Обратите внимание, что оба порта установлены на выход (как предписано регистром TRISB ) и установлены в нули.

И так, мы остановились на вызове функции, у нас есть опция перешагивания через функции ( Stepping Over ) (нажатием клавиш F10 ), но для полноты мы прошагаем через каждую инструкцию. Нажатие здесь F11 переносит к первой выполняемой строке функции функции getmask. Шаг вперед, мы видим, что мы попадаем в правильное место для добавления нулевого сдвига в нашей таблице соответствия. Следовательно, когда мы возвращаемся в основную программу, мы имеем «маску», которую и ожидаем.Делая следующий шаг и записывая маску в порт, мы можем видеть правильный результат по схеме. Еще один шаг для инкриментирования режима также успешен, что подтверждено окном регистров, где значение в регистре W увеличилось на 1.

Следующий шаг содержит инструкцию, предназначенную для охватывания режима нуля, когда он возрастет выше 3. Это, как можно увидеть из смотрового окна, не выполняется. Очевидно, что режим увеличился здесь до 1, что соответствует маске и верно для следующего цикла.

Поиск ошибки

Скрытый анализ показывает, что причина проблемы в побитовом И с четверкой вместо тройки. Режимы, которые мы хотим 0, 1, 2, 3 при побитовом И их с 4 дают 0. Вот почему, когда запущено моделирование, режим светофоров не меняется. Решение в простой замене проблемной инструкции на И с 3 вместо 4. Это означает, что режим увеличивается до 3, и когда регистр W увеличивается до 4, режим будет обнулен. Альтернативное решение в проверке, когда ‘ W ’ возрастет до 4, и сбросе его в ноль.

Данный переведен из Help’а Proteus’а версии 7.2

Теги

CAD CAD / САПР (система автоматизированного проектирования) ISIS MCU Proteus VSM Микроконтроллер

Сохранить или поделиться

.

Оставить комментарий

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