Proteus учебник на русском

Электроника для всех

Блог о электронике

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

Напротив, 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.

Читать еще:  Fusion back основа что это

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

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

Добавляем исходник.
Лезь в меню и ищи там пункт Source и смело тычь в него недрогнувшей рукой. Выбирай Add/Remove source и добавляй исходник. Советую сразу, чтобы компилятор не тупил, исходники ныкать по простым путям, без пробелов и русских букв. Например, как у меня: “d:codingC51hack_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

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

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

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

Post navigation

140 thoughts on “Система моделирования ISIS Proteus. Быстрый старт.”

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

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

Прога реально нужная.

p.s. В добавок к исходникам добавляю руководство по MSC-51 на русском языке.
http://rapidshare.com/files/143361973/mcs51_full_guide_rus.zip.html

О пасиб. А у меня есть какая то русская дока по С51 но там на примере нашего клона. ВМ что то там, на 100% совместимо с классическим 8051

Добрый день, Dmin.
Если руководство сохранилось, можно его выложить куда-нибудь?
Ссылка не работает.

Протеус порой бывает очень полезен, но ничто не сравнится с отладкой прошивки на реальном микроконтроллере — протеус симулирует далеко не идеально, порой на экране микроконтроллер работает совсем не так, как в реале. Например, он не учиывает, что в МК многое отключается в спящем режиме. Да и скорость симуляции всегда не совпадает с реальной.

Proteus VSM — русское руководство

Скачать книгу в формате:

Русское руководство по системе виртуального моделирования Proteus.

Популярные книги

  • 31556
  • 1

В магазинчике «Народный промысел» в селе Сокольничьем найдена задушенной богатая дама. Она частен.

Селфи с судьбой

  • 50067
  • 2
  • 5

Третье издание «Библии бармена» – это не просто обновленная версия ее второго издания. Это совершенн.

Библия бармена. Всё о напитках. Барная культура. Коктейльная революция

  • 41405
  • 4
  • 5

Всемирно известный психолог Эрик Берн — создатель трансакционного анализа и основанной на нем знаме.

Люди, которые играют в игры

  • 35058
  • 2

В ОЖИДАНИИ МАЛЫША Уильям и Марта Сирс Как пользоваться этой книгой Чтобы составить представление.

В ожидании малыша

  • 35928
  • 1

Дуглас Адамс Автостопом по Галактике (сборник) Автостопом по Галактике Посвящается Джонни Б.

Автостопом по Галактике (сборник)

  • 34705
  • 3
  • 1

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

Облачный атлас

Дорогие читатели, есть книги интересные, а есть — очень интересные. К какому разряду отнести «Proteus VSM — русское руководство» Гололобов В. Н. решать Вам! Периодически возвращаясь к композиции каждый раз находишь для себя какой-то насущный, волнующий вопрос и незамедлительно получаешь на него ответ. Развязка к удивлению оказалась неожиданной и оставила приятные ощущения в душе. Казалось бы, столь частые отвлеченные сцены, можно было бы исключить из текста, однако без них, остроумные замечания не были бы столь уместными и сатирическими. Умелое и красочное иллюстрирование природы, мест событий часто завораживает своей непередаваемой красотой и очарованием. Возникает желание посмотреть на себя, сопоставить себя с описываемыми событиями и ситуациями, охватить себя другим охватом — во всю даль и ширь души. Благодаря уму, харизме, остроумию и благородности, моментально ощущаешь симпатию к главному герою и его спутнице. Долго приходится ломать голову над главной загадкой, но при помощи подсказок, получается самостоятельно ее разгадать. Запутанный сюжет, динамически развивающиеся события и неожиданная развязка, оставят гамму положительных впечатлений от прочитанной книги. На протяжении всего романа нет ни одного лишнего образа, ни одной лишней детали, ни одной лишней мелочи, ни одного лишнего слова. Попытки найти ответ откуда в людях та или иная черта, отчего человек поступает так или иначе, частично затронуты, частично раскрыты. «Proteus VSM — русское руководство» Гололобов В. Н. читать бесплатно онлайн очень интересно, поскольку затронутые темы и проблемы не могут оставить читателя равнодушным.

  • Понравилось: 0
  • В библиотеках: 0

— Это врачебная тайна! — Какая ещё тайна, Энджи, черт возьми! Я что, стану папочкой? — Нет, ты как.

Химия страсти

— Это врачебная тайна! — Какая ещё тайна, Энджи, черт возьми! Я что, стану папочкой? — Нет, ты как.

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

Элементарно о развитии человеческого языка. Конспективное изложение

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

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

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

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

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

Пока мы будем рисовать схему с нуля, законченную версию можно будет найти по пути “SamplesTutorialsTraffic.DSN” в папке, где у вас установлен Proteus. Пользователи, которые знакомы с основными способами работы в ISIS, могут выбрать уже готовую схему и перейти к разделу о программе микроконтроллера. Однако, обратите пожалуйста внимание на то, что файл этого проекта содержит предумышленную ошибку – прочитайте для более подробной информации.

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

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

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

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

Нажмите кнопку P на клавиатуре и напечатайте ‘Traffic’ в поле “Ключевые слова” (Key words), и дважды кликните на результате, чтобы переместить светофоры в переключатель объектов. Сделайте то же самое для PIC16F84A.

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

Читать еще:  Elica elite 14 lux bl a 50

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для успеха нашей консультации мы подготовили следующую программу, которая записывается в PIC для управления светофорами. Эта программа приготовлена в файле TL.ASM и может быть найдена в папке “SamplesTutorials”.

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

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

Следующий этап – присоединить программу к нашей схеме, чтобы мы могли успешно моделировать ее поведение. Сделаем это через команды меню Исходник (Source). Теперь перейдите в меню Source и выберите команду “Добавить/удалить исходные файлы” (Add/Remove Source Files). Нажмите кнопку New, зайдите в папку “SamplesTutorials” и выберите файл TL.ASM. Нажмите “открыть” и файл появится в выпадающем списке имен файлов исходных кодов (Source Code Filename).

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать еще:  A3120 datasheet на русском

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

Поиск ошибки

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

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

Proteus учебник на русском

Итак, скачав Proteus с почты, приступил к установке — здесь всё очень просто, но всё равно у новичков могут возникнуть некоторые проблемы, потому поэтапно буду описывать саму установку:

Установка программы Proteus

1) Скачиваем саму программу, здесь 2 варианта — или скачать её самому с интернета, или написать мне на почту.

2) Предположим вы скачали Proteus, далее идёт распаковка архива.

3) В самом архиве список полезных программ, какими сейчас пользуюсь, здесь и АВР Студио, и Казарма и Сина Прог — все они сгодятся, вот увидите.

4) Находим файл [1] Proteus setup 7.7, жмем «установить», в процесе установки он попросить ключ, жмем «выкачать с сервера», дальше (на английском Next), и через некоторое время программа завершит установку.

5) Теперь от ИМЕНИ АДМИНИСТРАТОРА запускаем программку [2] Crack Proteus 7.7, если не от администратора — то нечего не выйдет.

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

Работа с Proteus

Начнём с простейшей модели — возьмём микроконтроллер ATMEGA-8 и на С++ напишем для него программу которая будет моргать одним светодиодом, для этого выполним следующие шаги:

1) В архиве с Протеусом есть файл AvrStudio4Setup, запускаем его, он не требует никакого ключа, но есть одно условие для нормальной роботы этой программы — о нём далее.

2) При установке программы она автоматически даст запрос на установку дополнительных драйверов на USB — это действие надо подтвердить, потом поймёте почему.

3) Затем установите программу под названием Win AVR, её установка интуитивно понятна, поэтому подробно описывать не буду.

4) Далее запускаем AvrStudio 4.

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

6) Запускаем программу, выбираем новый проект.

7) Внизу вводим имя проекта и дерикторию, куда он будет сохранён.

8) Дальше должно выскочить окошко с типами контроллеров, находим наш, выбираем.

9) Водим текст программы, жмём F7-отладка, дальше F5-создание.

10) У меня текст такой:

_BV(PD1); // установить «0» (низкий уровень) на выводе PD1,
26) //погасить светодиод
27)
28) _delay_ms(500); // ждем 0.5 сек.
29)
30) PORTD |= _BV(PD1); // установить «1» (высокий уровень) на выводе PD1,
31) //зажечь светодиод
32)
33) _delay_ms(500); // ждем 0.5 сек.
34)
35) PORTD &=

_BV(PD1); // установить «0» (низкий уровень) на выводе PD1,
36) //погасить светодиод
37)
38) > // закрывающая скобка основной программы

41) Переходим к протеусу. Открываем Isis.

42) В строке сбоку выбираем Component Mode.

43) Microprocesors

44) Выбираем наш контроллер.

45) Строим схему.

46) Дальше жмём по самому контролеру 2 раза, видим окно, ищем строку пустую, с изображением папки.

47) Теперь указываем папку где сохранили программный код, он должен иметь разширение hex.

48) Програмируем контроллер, затем жмём запуск, видим мигание самого светодиода.

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

Для примера выбрал готовую модель.

Но также программа имеет возможность создавать новые проекты. После построения платы выбираем Output, 3D visualization, и вуаля: трёхмерная плата готова. Надеюсь данной статьёй хоть немного помог в освоении этой полезной радиолюбительской программы. С вами был Колонщик.

Proteus Professional для Windows последняя версия: 8.5 , обновление от 17.01.2019

Данный урок будет посвящен установке системы автоматизированного проектирования электронных схем Proteus, разработанной компанией Labcenter Electronics. САПР используется для моделирования на микроконтроллерах работы схем. Мы займемся выбором микроконтроллера и подключением к нему требуемых элементов. Далее будем производить в него запись созданных программ.

Описание возможностей, предоставляемых САПР.

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

Система схемотехнического моделирования основывается на моделях электронных компонентов, которые приняты в PSpice. Особенность пакета PROTEUSVSM — возможность моделировать работу программируемых устройств (микропроцессоров, микроконтроллеров и др.). Справочные данные содержатся в библиотеке компонентов. Дополнением в пакете PROTEUS VSM является система для проектирования печатных плат. Proteus содержит две программы:

— ARES (программа для разработки печатных плат);

— ISIS (непосредственно программа моделирования и синтеза электронных схем).

После установки вы также получите несколько демонстрационных ознакомительных проектов. Важным преимуществом ARES является возможность 3D-визуализации модели печатной платы. Это позволяет на стадии разработки произвести оценку устройства.

Первым делом скачиваем Proteus Professional 7.10. Это коммерческий пакет, существует бесплатная версия для ознакомления, которая полнофункциональна, однако в ней отсутствует возможность сохранять файлы. В интернете есть Proteus Professional 7.10 и ключи к нему, что позволяет пользоваться программой без каких-либо ограничений.

Скачанный архив нужно распаковать. После этого получаем две папки «Patch» и «Help», а также файл «p710sp0.exe» и текстовый файл «Установка». Файл с расширением .exe нужно запустить.

После запуска данного файла появится окно:

Кликаем по «Next»

Соглашаемся с условиями лицензии, нажимая кнопку Yes. Это обязательное условие.

Далее необходимо указать место хранения лицензионного ключа.

Для использования ключа становим пометку возле «Use a locally installed Licence Key». Он находится в папке Patch. Кликаем Next.

На экране появится сообщение, что лицензионный ключ не установлен.

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

Кликаем по Browse For Key File.

Далее в папке Patch ищем файл с названием Grassington North Yorkshire.lxk (ключ). Открываем его.

Слева Available Keys можно увидеть информацию о ключе, который используется в данный момент.

Кликаем на Grassington North Yorkshire. Это активирует кнопку Install. Нажимаем на нее.

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

Данное действие приведет к появлению в правом окне Installed Keys такого же списка, что и в левом окне Available Keys.

В установочном окне должна быть информация о ключе, который вы установили.

На следующем этапе выбираем путь, которому будем устанавливать программу.

Установка происходит по умолчанию в папку Program FilesLabcenter ElectronicsProteus 7 Professional на диске C. Можете выбрать для установки другое место, например, диск Е. Жмем кнопку Browse. В открывшемся окне нужно указать место установки.

В примере – это папка на диске Е под названием Proteus. Жмем ОК.

Далее идет выбор инструментов, которые необходимо установить. Все инструменты, за исключением Converter Files, выбраны по умолчанию. Он нам не нужен, поэтому оставляем как есть. Если он вам потребуется, то его легко установить. Ниже можно будет ознакомиться с информацией по количеству места на диске, которое необходимо для установки программного обеспечения Proteus (371.02 MB), а также по наличию свободного места на диске Е (9060.38 MB).

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

Пошел процесс установки программы.

При завершении появится окно, где кликаем Finish.

Пакета программ Proteus 7 Professional установлен.

Далее нужно активировать программу.

В папке Patch запускаем программу LXK Proteus 7.10 SP0 ENG v1. exe.

Откроется следующее окно

Жмем кнопку Browse. Это нужно для ввода пути установки Proteus.

В Destination Folder отобразится новый путь.

Производим обновления путем нажатия Update.

На экране сообщение о завершении операции.

Жмем кнопку Close.

Все работы по установке полностью завершены.

Запускаем программу ISIS. Идем Пуск – Программы – Proteus 7 Professional — ISIS 7 Professional). Перед вами должно появиться нечто похожее на рисунок.

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

Другие программы

Определения информации о системе и компьютере

Диагностики и анализа компьютера.

Сведения об установленном процессоре.

System Monitor II показ параметров компьютера

Измерение частоты FPS

SIW- информация о компонентах компьютера.

Тестирование всех компонентов компьютера.

Контроль темпетаруты и скорости вентиляторов.

Предназначена для диагностики.

CrystalDiskInfo — информация о жёстком диске.

AS SSD Benchmark измерит скорость SSD диска.

Ссылка на основную публикацию
Adblock
detector