Работа со средой моделирования ISISProteus

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

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

Работа со средой моделирования ISISProteus - student2.ru

Для добавления нового компонента в рабочую область в меню необходимо выбрать Library, затем вкладку PickDevice/Symbol. Кроме того, можно воспользоваться горячей клавишей P, либо нажать на соответствующий символ в левой части экрана, который расположен на форме Device Selector (Port Selector или Terminal Selector).

Работа со средой моделирования ISISProteus - student2.ru

В результате будет открыто окно Pick Devices, в котором можно выбрать желаемый микроконтроллер либо любой другой электронный компонент:

Работа со средой моделирования ISISProteus - student2.ru

Выбор конкретного устройства сопровождается выводом графической информации в окнах Schematic Preview и PCB Preview. Под последним также можно выбирать тип корпуса:

Работа со средой моделирования ISISProteus - student2.ru

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

Работа со средой моделирования ISISProteus - student2.ru

Также для работоспособности схемы, может понадобиться добавить несколько специальных компонентов: такие как элемент питания (power) и земля (ground). Эти элементы можно выбрать в окне Terminal Selector нажав в левом углу экрана кнопку Terminal Mode:

Работа со средой моделирования ISISProteus - student2.ru

Перейти обратно на вкладку Devices можно по кнопке Component Mode, расположенной на 5 кнопок выше Terminal Mode, либо горячей клавишей P. Соединения между элементами осуществляется следующим образом:

· В качестве текущего режима должен быть выбран Selection Mode (первый элемент на левой панели).

· При наведении на возможную линию связи курсор примет вид карандаша.

· Одним нажатием манипулятора (левая клавиша мыши) установить начало линии и отпустить клавишу.

· Перевести курсор на конечную точку (элемент с которым необходимо провести соединение) и повторить действие предыдущего пункта.

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

На следующем этапе необходимо загрузить в микроконтроллер сгенерированный hex файл, что является эквивалентом «прошивания» реального микроконтроллера. Это делается в свойствах МК (двойной щелчок левой кнопкой мыши или вызов контекстного меню правой кнопкой, с последующим выбором вкладки Edit Properties):

Работа со средой моделирования ISISProteus - student2.ru

Значения большинства компонентов лучше оставить по умолчанию. После нажатия на кнопку в виде папки в поле Program File, необходимо указать путь к hex файлу. Дальнейшее усложнение схемы будет происходить в зависимости от задач, которые необходимо реализовать. Простейшим примером будет подключение светодиода к любому из выводов микроконтроллера, соответствующего произвольному порту ввода-вывода, что даст индикацию значения соответствующего бита находящегося в регистре PORTx, при условии того, что заданная линия текущего порта находится в режиме вывода (OUT).

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

Работа со средой моделирования ISISProteus - student2.ru

При нажатии кнопки Play будет произведена симуляция. Если в ходе симуляции были обнаружены ошибки, в журнале симуляции будут соответствующие сообщения, в противном случае, появится сообщение об успешной симуляции:

Работа со средой моделирования ISISProteus - student2.ru

В качестве примера воспользуемся вышеприведённым ниже кодом, который заставляет светиться встроенный светодиод, подключенный к 13 выводу Arduino через резистор на землю. Этот вывод соответствует седьмому биту регистра ввода/вывода PORTB (PB7) микроконтроллера ATmega2560. Поэтому при выдаче на эту линию порта логической единицы будет включен светодиод.

.include "m2560def.inc"

init:

ldi r16,0b10000000

out DDRB,r16

main:

ldi r16,0b10000000

out PORTB, r16

rjmp main

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

Работа со средой моделирования ISISProteus - student2.ru

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

Наши рекомендации