Надеюсь вы поняли процесс поиска и выбора нужного компонента.





Поместить компонент на схему
можно кликнув "ОК" затем поместите указатель мыши
в нужное место на листе схемы и щелкните мышкой. Компонент окажется на схеме. Если таких компонентов надо несколько - то сделайте несколько щелчков мышкой в нужных местах. Потом можно разместить и развернуть компоненты так как вам удобно.

  Внимание! Компонент интерактивный. Красными стрелочками вы сможете прямо в ходе симуляции менять температуру корпуса датчика - т.е. ту которую он измеряет - щелкая по ним мышкой. Температура отображается на дисплее компонента. VCC - это + питания датчика DS18s20 GND - "общий провод" или "земля" DQ - линия данных.

 

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

Отменить выделение ВСЕХ выделенных компонентов можно щелкнув правой кнопкой мыши в пустом месте схемы.

Удалить компонент или любой элемент со схемы можно двумя кликами правой кнопкой мыши по нему.

           
Левая панель инструментов - верхняя часть
  L1   открыть панель DEVICES - компоненты проекта и поиск новых
  L2   поставить точку соединения проводников вручную
  L3   дать название проводу - одноименные провода электрически СОЕДИНЕНЫ!
  L4   добавить текст в произвольное место схемы
  L5   проложить шину - это жгут проводов - на схеме жирная темно синяя линия
  L6   создать под-схему - т.е. некий блок содержащий в себе свою схему и соединители.
  L7   кликом по компоненту сразу открывает редактирование его свойств.


L3 и L5 - очень полезны! они позволяют не превращать схему
в нечитаемую паутину из проводников - используйте!

     

 

8        
      Левая панель инструментов - средняя часть
  L8   TERMINALS - питание, земля, межблочные соединения, выводы.
  L9   добавить вывод к создаваемому компоненту.
  L10   GRAPH - графич. отображение, сохранение и МОЩНЫЙ анализ результатов симуляции
  L11   "магнитофон" для записи в файл и воспроизведения данных.
  L12   генераторы любых напряжений, токов т вывод их из файлов данных.
  L13   указать точку измерения напряжения на проводнике.
  L14   указать точку измерения тока на проводнике.
  L15   VirtualInstruments - измерительные приборы
  L16   прокладка проводников на схеме, проводники можно называть с помощью L3


L10 - L15 - это инструментарий моделирования работы электронного устройства - т.е. главное в PROTEUS!

Помощь находится в меню: Help -> Proteus VSM Help

Часто в свойствах компонента есть кнопка "Help" - она открывает раздел справки именно по данному компоненту или модели.

 

Пожалуйста!

Посимулируйте примеры из папки \SAMPLES\Simulation

ЭТО НУЖНО ВАМ!

 

 

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

 

4 кнопки управления симуляцией.   "Пуск" - запуск симуляции или продолжение приостановленной симуляции. "Шаг" - выполнить минимальный шаг по программе МК, обычно это одна инструкция на ассемблере. Этой кнопкой тоже можно начать симуляцию. "Пауза" - пауза симуляции. Можно продолжить кнопками "Пуск" или "Шаг" "Стоп" - остановка симуляции. После этого симуляция начнется сначала кнопками "Пуск" или "Шаг"

 

 

Напомню - у нас открыт проект - 1WIRE_NET.DSN

Откройте панель редактирования свойств компонента (EditComponent) микроконтроллер AVRATmega8515 - двойным щелчком по МК левой кнопкой мыши. Щелкните по кнопке "HiddenPins" (скрытые выводы) - откроется дополнительное меню в котором показано как по умолчанию называются узлы (проводники) схемы к которым подключены питание МК - VCC и его общий провод - GND. Изменение этих названий позволит подключить питание МК к другим узлам схемы - это может потребоваться вам при питании МК или других компонентов разными напряжениями или от разных источников.

Нажмите "ОК" чтобы закрыть панель скрытых выводов и посмотрите внимательно
на содержимое панели редактирования компонента.

Главное для МК это программа по которой он будет работать.

В поле " ProgramFile " нужно указать:

.cof - если вы хотите вести отладку по исходнику - по тексту программы на языке Си в
компиляторе CodeVisionAVR - CVAVR - я очень рекомендую его вам!

.elf - файл если вы хотите вести отладку по исходнику на языке Си программы созданой в компиляторе WinAVR - это отличный компилятор, БЕСПЛАТНЫЙ и профессиональный, но новичкам немного затруднительно его использовать.

UBROF - формат файла если вы хотите вести отладку по исходнику на языке Си программы созданой в компиляторе IAR - это самый лучший компилятор для AVR, но новичкам ОЧЕНЬ затруднительно его использовать.

.obj - если вы будете отлаживать программу из BASCOM-AVR в PROTEUS

.hex - это файл прошивки которую загружают и в реальный микроконтроллер. При выборе его вы можете отлаживать устройство без возможности просмотра исполняемого кода либо при использовании МК из новых библиотек в той строке где указана частота такта МК вы можете слева выбрать опцию "Дизассемблировать" прошивку и в поле справа указать "Yes" (скриншот ниже) - теперь в паузе симуляции вы увидите в окне исходного текста программы ассемблерный текст.

 

Все файлы проекта располагайте
в папке с проектом PROTEUS!

Вот так выглядит окно свойств микроконтроллера в версии 7.4 и выше

Галочки в низу с лева, с верху в низ - "исключить компонент из симуляции", "исключить из разводки платы", "редактировать свойства в текстовом формате".

Советую ознакомится со всеми опциями по help.


ClockFrecuency - частота такта. Здесь в PROTEUS задается на какой частоте будет работать МК. Однако в AVR имеет значение установка фьюзов в свойствах микроконтроллера.

 

Если ваша программа подразумевает наличие данных в EEPROM МК (эти данные сохраняются при выключении МК) то файл с ними можно указать в этом же диалоге:


Конвертировать форматы данных.bin.hex.epp
можно в программаторе - CVAVR

 

Ассемблер в PROTEUS - ДА!
для AVR, PIC, 8051, Motorola

Если у вас есть "исходник" текст программы на ассемблере.asm или вы хотите написать программу на ассемблере в PROTEUS - вам нужно указать в свойствах микроконтроллера название .hex файла прошивки и еще через меню: Source (исходник, источник) далее: Add/RemoveSourceFile... (добавить - удалить исходник на ассемблере) - добавить название файла с текстом программы на ассемблере и выбрать нужный ассемблер:


Теперь при запуске симуляции будет происходить ассемблирование файла t15demo.asm
и если нет ошибок, то МК начнет работать уже по обновленному файлу T15DEMO.HEX

Это скриншот из проекта-примера PROTEUS в папке
SAMPLES \ AVR Tiny15 Demo

 

В нашем проекте эти поля ПУСТЫЕ! Так как мы используем файл.cof создаваемый и обновляемый компилятором CVAVR CodeVisionAVR

 

 

Итак:

Чтобы симулировать в ПРОТЕУС работу микроконтроллера достаточно

1) найти его в библиотеках и поместить на схему
2) указать какую программу он должен выполнять (как описано выше)
3) указать частоту тактирования МК (для AVR - комбинацией фьюзов)

Всё очень просто.

В микроконтроллерах PIC надо подтянуть MCLR к питанию напрямую или через PULLUP.

 

Повторю - это важно:
CLOCK - однозначно определяет частоту тактирования МК при симуляции PIC и ARM.

Учтите что в свойствах некоторых МК указаны параметры встроенного делителя частоты - он работает с версии 7.4 - значит его установки влияют на частоту с которой выполняются инструкции в микроконтроллере.

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

WDG_CLOCK - показывает частоту работы RC генератора сторожевого таймера.
Хотя она и обозначена 1MHz - "собака" не включена пока мы не добавим в свойства
МК строчку: {WDGON=1} - вам не нужно ее включать.

 

  На рисунке видно, что МК будет работать по программе определяемой файломds1990.cof - его создал компилятор CVAVR. Компилятор WinAVR создает файл с раcширением.elf - вы можете попробовать пример из папки SAMPLES\AVR and SED1520 В нем указана программа для МК EW12A03GLY.hex - замените ее наEW12A03GLY.elf - и вы сможете видеть движение программы по исходнику на Си и АСМ-е.
 

 

Значение других параметров можно узнать в справке по кнопке - Help

 

     
 
 
 
 
 
 
 

Перечень поддерживаемых микроконтроллеров AVR, как подключать файлы с отладочной информацией и ограничения моделей.

 

Очень важно знать что НЕ симулирует модель МК - ModelLimitations

    Пример - ограничения моделейATmega8 ATmega16 ATmega32 1) симулируется обчно используемый режим UART - асинхронный прием и пердача. 2) и 3) частота тактирования при симуляции зависит только от параметра CLOCK задаваемого в свойствах AVR на схеме. Все же 3) ошибка наверно - делители работают в 7.4 и выше. И для AVR надо устанавливать фьюзы. 4) биты bootlock не моделируются 5) JTAG не моделируется

 

 

В общем - все что нужно моделируется!



  PROTEUS - лучше устанавливать для пользователя с именем из латинский символов! Либо делать путь к папке \temp без кириллицы. Не используйте кирилицу в названиях проектов и файлов. Чтобы отлаживать в PROTEUS функции PRINTF и SCANF в программах созданных в компиляторе CodeVisionAVR зайдите в меню CVAVR- "прожект" - "конфига" - "С компилер" и в списках этих функций выберите"Long..." или "Float..." и затем "ОК".  
 

 

Пора запустить симуляцию.


Кнопки управления симуляцией я уже описал выше.

А давайте запустим симуляцию "по хитрому" - укажем сколько времени программе работать и потом остановиться. Откройте меню DEBUG и щелкните пункт "ExecuteforspecifiedTime" - значит приказ "Отработать указанное время" - впишите время выполнения "198m" - это значит отработать 198 мили Секунд - нажмите "ОК" - программа поработает и остановится - внизу под схемой будет указано время - 0.198000000 секунд.

Помните! Выполнение такой команды и вообще симуляция, могут быть прерваны "точкой останова" или другим отладочным событием останавливающим симуляцию.

Множители в PROTEUS

p - пико x10-12 n - нано x10-9 u - микро x10-6 m - мили x10-3

kK - кило x103 M - мега x106

Сейчас можно было бы повторить такое же время или задать иное. А вы нажмите "ПАУЗА" - вот что у вас должно быть на экране после щелчка по меню DEBUG:

Вот часть картинки. Вы видите в верхней части меню команды управления ходом симуляции - моделирования устройства и соответствующие горячие клавиши.
Ctrl+F12 - начать симуляцию с начала.
F12 - пуск моделирования, продолжение если мы в паузе или стоим.
Alt+F12 - позволяет моделировать не останавливаясь на "точках останова" - "Breakpoints" - о них подробней ниже.
F10 - проскакивать функции
Ctrl+F10 - выполнить до строки отмеченной щелчком мышки
(но ваша строка может оказаться не достижима по алгоритму программы)
F11 - пошаговая симуляция
Ctrl+F11 - выйти из симулируемой функции

   

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

Помощь по симуляции МК находится в разделе - Proteus VSM Help
SOURCE LEVEL DEBUGGING WITHIN PROTEUS VSM


При симуляции устройства на экране мы будем видеть анимированную картинку. Режим анимации можно изменить через меню System > SetAnnimationOptions...

  Обычный режим - экран обновляется 20 раз в сек. - отображать напряжение и ток на щупах L13 и L14 - под Цвечивать логические уровни на выводах. - показать цветом напряжения на проводниках (нет галочки) - показать стрелками направление тока в проводниках (нет галочки)

Максимальное напряжение не ограничивает напряжение в симулируемой схеме!

Оно указывается для того чтобы ПРОТЕУС PROTEUS мог решить каким цветом показывать логические уровни - цвета у ноже компонентов означают:
" Красный " - логическая " 1 "
" Синий " - логический " 0 "
" Серый " - неопределено - высоко импедансное " Z - состояние" (выше толковал уже).
" Желтый " - конфликт на линии.

Шаг оцифровки тока 1 мкА - вы можете уменьшить этот параметр и улучшить другие параметры для повышения точности симуляции - но это потребует бОльшей вычислительной мощности и замедлит моделирование.

SPICE Options - открывает настройку симуляции моделей, но не думаю что вам нужно туда лезть - там довольно сложные параметры.

Справку по каждой строчке можно получить щелкнув по знаку вопроса? и подведя лампочку к интересующему пункту.

 

Если у вас еще не открыть проект 1WIRE_NET.DSN - откройте его.

 

Щелкните "СТОП" и нажмите "СТАРТ" он же "ПУСК"

Выскочит окно виртуального терминала ПК и примерно за 1 секунду программа
МК сделает все, что от нее требовалось:

Это вывод из USART МК на виртуальный COM порт ПК по интерфейсу
RS-232 в терминал PROTEUS списка опознанных устройств на шине
1-Wire и их серийных номеров.

  При анимации логические уровни на выводах указываются цветными квадратиками. Красный - "Горячий" лог. "1" Синий - "Холодный" лог. "0" Серый - высоко омный ВХОД "Z-состояние". Для определенности ПРОТЕУС считает что на выводе половина напряжения питания МК. Желтый - конфликт на линии. Например линия замкнута на землю а программа в МК пытается сделать на ней "сильную" лог. "1". "сильную" - в моей терминологии это значит не pullup, а ножка настроена как выход и в порт записывается "1". Номер "таблетки" для домофонов DS1990 написан на ней. Серийные номера приборов DSxxxx заданы на заводе и не изменяемы. В ПРОТЕУС эти номера задаются в окне редактирования свойств компонента и надо поставить "No" у "AutomaticSerialization" что бы выводились заданые вами номера.

 

Нажмите кнопку "Стоп". Окно терминала пропадет.

Давайте отключим один 1-Wire прибор. Кликните правой кнопкой мыши на проводе от микросхемы U5 и затем левой щелкните красный крест - это удалит провод со схемы и отключит прибор от провода 1-Wire.

Нажмите кнопку "Пуск". Опять появится терминал PROTEUS но в списке опознанных приборов уже не появится отключенная U5 и уменьшится число найденных приборов до 6.

Восстановите удаленный проводник. Это можно сделать двумя способами:

1) Нажать кнопку отмены действия в верхней панели инструментов.

2) Проложить проводник заново. Выберите инструмент L16 - "проводник" - косая черточка над синим квадратом на левой панели инструментов и проведите провод от компонента U5 к проводу 1-Wire удерживая нажатой кнопку мыши и щелкните при касании провода - появится точка соединения проводников.

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

 

  Виртуальный терминал Один из важнейших инструментов отладки РЕАЛЬНЫХ устройств на МК -Virtualterminal - моделирующий терминал ПК обменивающийся данными с UART (USART) МК. Как использовать его в отладке я рассказал в задаче 4 Терминал (VirtualTerminal) находится под кнопкой L15 - "виртуальные инструменты". В ПРОТЕУС вы можете не согласовывать уровни RS232 и UART микросхемой типа MAX232, а подключать терминал напрямую к МК. Терминал поддерживает служебные символы ASCII - управления выводом текста: CR (0x0D), BS (0x08) и BEL (0x07). LF (0x0A) и остальные служебные коды игнорируются, т.е. выводятся как обычные числа. Поддерживаются скорости от 300 до 57600 бод, Формат данных 8N1и другие. В режиме паузы симуляции вы может по щелчку правой кнопкой по экрану терминала открыть меню в котором можно скопировать - вставить информацию, можно изменить в каком виде выводить числа - в виде символов или в 16-иричном виде, можно очистить экран от данных, можно установить режим эхо - принятые на RXD терминала символы будут выводится на его ножку TXD. Выводы RTS и CTS можно не соединять и не подключать вообще - хотя они работают как в настоящем COM-порту ПК. Терминал может передавать что-то только при отсутствии лог "0" на выводе CTS Можно использовать несколько терминалов в одной схеме. Если щелкнуть мышкой в окне терминала то он начнет передавать набираемые на клавиатуре ПК символы на ножку TXD. Можно вставить из буфера обмена информацию которую терминал так же будет выводить на ножку TXD. Передаваемая с терминала информация не отображается в окне терминала! Курсор остается на месте. Однако вы можете поставить галочку у "EchoTypedCharacters" щелкнув правой кнопкой в окне терминала при симуляции и тогда вводимый в терминал текст будет виден. Пожалуйста прочитайте подробнее о терминале по кнопке "Help" в его свойствах. Не забывайте о компоненте COMPIM который позволяет вашему виртуальному устройству подключится к реальному COM-порту вашего ПК! Вот VIDEO Видео инструкция как подключить реальный COM порт в PROTEUS.  
 

 

 

РеСтартуйте и приостановите симуляцию

для этого нажмите "Стоп" затем "Старт" и "Пауза" либо просто "СТОП" - "Пауза"
на экран повыскакивают "pop-up" окна с отладочной информацией
Перечень этих окон задается в низу выпадающего меню DEBUG - щелкните в меню

2. WatchWindow - окно слежения наблюдения за данными в МК.

После настройки оно не исчезает с экрана и при симуляции и нахождении в паузе. В этом окне вы можете размещать регистры МК и не только отслеживать их содержимое по ходу программы, но и задавать некоторые условия и действия при достижении этих условий - например остановить симуляцию. Щелкните правой кнопкой мыши в этом окне и выпадет меню для добавления наблюдаемых регисторв - по имени Alt+N или по их адресу Alt+A. Выбрав " добавить по имени " вы увидите окно со списком всех регистров (что такое регистр?) данного микроконтроллера - двойной щелчок по названию регистра поместит его вWatchWindow - по завершении выбора нажмите "Done" - "сделано".

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

 

  Шрифт (Font) вы можете изменить по своему желанию как здесь, так и в большинстве других окон.
 


В окне WatchpointCondition можно задать некоторое условие для наблюдаемого регистра и что делать симулятору при его возникновении - т.е. это
"точка останова" симуляции:

    1) Отключить слежение 2) Остановить симуляцию если верно хотя бы одно условие 3) Остановить симуляцию если верны все условия.

 

 

Мы планируем симулировать и отлаживать
программу написанную на языке Си для МК
значит нам очень интересно

Окно с текстом этой программы: AVR SourceCode - U9

При симуляции в ПРОТЕУС этого примера сделанного на старой версии CVAVR - это окно не помнит какой исходник показывать если в нем нет активных точек останова!

Скачайте стабильную и надежную версию CVAVR 1.25.9 и исходник программы на Си
будет появляться в окне автоматически при паузе в симуляции.

CVAVR CodeVisionAVR создает копию файла исходного кода программы которую называет добавляя два знака подчеркивания перед точкой __.с и именно на этот файл содержит ссылки файл .cof с отладочной информацией используемой симуляторами и ПРОТЕУС -ом тоже.

 

  Важно! Файл.cof может содержать абсолютные адреса, поэтому не стоит его и связанные с ним файлы перемещать после компиляции! Я рекомендую все файлы компилятора и PROTEUS размещать в одной папке проекта.
 


После указания файла с исходным текстом программы он появится в
окне - я добавил мышкой несколько точек останова:


Зеленые цифры - показывают строки программы на которые можно поставить точки останова программы - строки можно выделить (подсветить темно-синим)
кликом мышки и затем:

Двойным кликом или кнопкой F9 поставить точку останова (BP) - красный кружок.

Программа дойдя то этой точки остановится в режиме "ПАУЗА" - т.е. повыскакивают
pop-up
окна с отладочной информацией.

Если нажать F9 еще раз, или еще раз сделать двойной щелчок по строчке - то BP выключится - станет красной окружностью и программа не остановится на ней.

Если нажать F9 еще раз, или еще раз сделать двойной щелчок по строчке - то BP исчезнет.

В меню DEBUG есть команда Alt + F12 - игнорировать любые BP

BP - очень эффективны при отладке программы.

 

в PROTEUS есть и "железные" BP - вот их перечень

   

Список аппаратных ("железных") точек, событий останова симуляции - BP

ВАЖНО! Посмотрите внимательно какие это мощные инструменты для
отладки - они позволяют засечь массу событий
- изменение логического уровня на проводнике.
- изменение логического уровня на шине - на группе проводников.
- достижение различные напряжений и токов
- выход напряжения или тока из заданного диапазона...

Давайте попробуем точку останова "1 бит" - устанавливаемую на один
проводник в схеме. Добавьте эту BP на провод 1-wire в нашей схеме вот так:

Затем двойным щелчком по ней откройте свойства этой аппаратной BP

В поле " TriggerValue " указывают значение при возникновении которого эта BP остановит симуляцию - в данном случае это логическая "1" на проводнике - т.е. когда в проводнике возникнет фронт сигнала - переход из "0" в "1" - симуляция остановится.


Запускаем моделирование нашего устройства, если вы установили 3 точки останова в программе как на скриншоте который был выше то программа вначале будет останавливаться на некоторых из них - в низу схемы выводится сообщение о причине остановки и время с начала симуляции. Нажимайте "ПУСК" пока причиной остановки не станет DBT1 - щелкните на "6 Message(s)" - появится окно лога симуляции - в нем указана причина и время остановки.

Если поставить еще одну BP на эту же линию и событием в ней назначить "0" то можно отслеживать любое изменение логического сигнала на данном проводнике.
Выше в списке вы видели что такие BP есть до 16 бит шириной.

 

Закончите симуляцию - нажмите кнопку "Стоп".

Отключите BP - это можно сделать так:
- удалить BP из схемы
- отсоединить от проводника удалив провод от BP
- в свойствах BP поставить галочку "ExcludefromSimulation" - "исключить из симуляции".

 

Нажмите "Пуск".

Программа остановится на 1-й точке останова и выскочит окно с исходником на Си. Строчка на которой остановилась программа будет подсвечена серым цветом и на нее будет указывать красный треугольник слева от BP. В окно терминала будет выведена информация:

 

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

  Важно! По тексту выведенному в терминал мы видим что остановка происходит до выполнения строки на которой находится BP
 

 

Нажмите "ПУСК" - программа остановится на следующей точке останова -
т.е. на следующей строчке программы. В окне терминала видно что произошло
выполнение предыдущей строки программы.

 

Переменные их адреса и содержимое в окне AVR Variables

Посмотрите, в программе объявлены:

Глобальный массив байтов rom_code - он двумерный 8 на 9.

Локальные переменные символьного типа: i, j, devices, n.

Что такое локальные и глобальные переменные вы можете
почитать в Язык Си для микроконтроллеров МК

 

Обратите внимание! Для локальных переменных не указаны адреса и значения - это не удобно. Если вы хотите отслеживать какие то переменные в PROTEUS то сделайте их глобальными и проследите чтобы они не размещались в регистрах AVR а были в RAM памяти.

Вданномпримерепеременные

main () {
unsigned char i,j,devices;
unsigned char n=1;

можно сделать глобальными поместив их перед main () вот так:

unsigned char i,j,devices;
unsigned char n=1;

main () {

Затем надо в свойствах проекта CVAVR в закладке "CCompiler" снять галочку
у " Automaticregisterallocation " и скомпилировать проект заново.

Теперь переменные и их значения видны:
(Скачайте CVAVR и вы сами так сделаете)

 

Щелкнув правой кнопкой в окне переменных - вы откроете меню в котором можно:

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

 

Щелкнув правой кнопкой в окне исходника - "AVRsourcecode"
вы откроете меню в котором можно:

- включить нумерацию строк программы
- включить или выключить все BP
- найти что-то в исходнике
- перейти на нужную строку программы.
- изменить шрифт в окне.

Ctrl+D - включить отображение ассемблерных инструкций реализующих
код программы написанной на Си - это очень удобно:


На ассемблерном коде вы тоже можете ставить "точки останова" программы - BP

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

 

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

Вы можете изменить и перекомпилировать программу в компиляторе
CodeVisionAVR и посмотреть результат в PROTEUS.

 


Использование виртуального осциллографа и логического анализатора
я рассмотрю в следующих примерах этого курса.

Вы можете сами пока посмотреть примеры работы с этими
устройствами в папке SAMPLES\Simulation

 

  ВSAMPLES\Simulationесть примеры использования самого мощного средства графического сбора и отображения данных моделирования работы устройства: SimulationGraph - попробуйте вот эти примеры: DAC0808.DSN или Invosc.DSN- вот скриншот этого примераPROTEUS GRAPH Откройте пример, двойным щелчком по зеленому верху окна графиков разверните его на весь экран - и нажмите пробел или бегущего человечка - это запустит симуляцию в GRAPH. Теперь посмотрите внимательно какие сигналы показаны - найдите их названия на схеме устройства. Главное учитесь масштабировать графики и сопоставлять данные на графиках. Пользоваться инструментами в окне графиков. Наведите курсор на какой либо график и кликните кнопку мыши - курсор зафиксируется на этом графике и данные этого графика будут выводится в низу экрана в цифровом виде. Вы можете двигаться мышью по линии графика - курсор будет прилеплен к линии. Сверните щелкнув крестик окно графиков - оно не пропадет - теперь можете поменять что-то на схеме и опять посимулировать.  
 

Промежуток времени отображаемый на графике устанавливается в меню которое открывается по щелчку правой кнопкой мыши на графе - пункт "EditGraph", в нем же настраивается вертикальный масштаб и можно дать названия осям.

Для редактирования отображаемых сигналов откройте меню двойным щелчком по названию сигнала - давайте откроем зеленый AD1(A) и изменим масштаб его отображения умножив на 0.3 и поднимем его вверх на 2 вольта - я вписал формулу для изменения сигнала в поле "Expression" и для памяти (не обязательно) добавил к названию сигнала в "Tracename" то как он изменен - чтоб не запутаться в его реальной величине. В формулах можно использовать и другие сигналы - т.е. выводить на график комбинации сигналов - например из напряжения и тока можно получить график мощности.

Сделайте такие изменения, щелкните "ОК" и обновите данные симуляцией "Пробел" - зеленая трасса изменилась. Теперь уберите эти изменения-формулы.

Вывод комбинации аналоговых сигналов на график.

Давайте сложим 4 аналоговых сигнала и еще на 0.2 умножим сумму, чтоб они не сильно изменили диапазон графика. По-умолчанию в PROTEUS диапазон по вертикали выставляется автоматически. Для этого нажмите "плюс" левее человечка млм "Ctrl + A" - появится меню "Добавить трассу, сигнал" - я назвал сигнал SUMM, выберите Analog и в"ProbePx" укажите 4 аналоговых сигнала, затем умножаем на 0.2 - вот так:

жмем "ОК" и название нового сигнала появилось на графике. Запускаем симуляцию в GRAPHнажав клавишу "пробел" или щелкнув по человечку - вот результат:


Можно жестко задать диапазон напряжений выводимый на графике вот так:

 

Данные симуляции вы можете сохранить в файл через меню Graph ->ExportData
укажите название файла и где его расположить, затем нажмите "Сохранить". Вы получите файл в стандартном формате для измерительных приборов - CSV - данные разделенные запятыми - сможете затем импортировать в Excelили например в MATLAB

Графики результатов симуляции можно экспортировать в графические
и CAD форматы через меню File -> ExportGraphics


В общем пакет мощный - сразу всё не расскажешь...



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: