- •Отладочная платформа Arduino Mega2560 Общие сведения
- •Краткие характеристики
- •Работа со средой разработки avrStudio
- •Интерфейс avrStudio
- •Создание нового проекта
- •Построение и отладка проекта
- •Работа со средой моделированияIsisProteus
- •Загрузка программы в микроконтроллер
- •Лабораторные работы Лабораторная работа №1. Алгоритмы арифметической обработки данных
- •Краткие теоретические сведения
- •Задание на лабораторную работу
- •Примерырешения задач
- •Лабораторная работа №2. Алгоритмы логическойобработки данных
- •Краткие теоретические сведения
- •Задание на лабораторную работу
- •Примерырешения задач
- •Лабораторная работа №3.Организация ввода/вывода информации. Механизм прерываний
- •Краткие теоретические сведения
- •Задание на лабораторную работу
- •Примерырешения задач
- •Лабораторная работа №4. Алгоритмы программного управления. Временные задержки. Таймеры/счётчики
- •Краткие теоретические сведения
- •Список литературы
- •Заочное Введение
- •Задание
Работа со средой моделированияIsisProteus
ISIS Proteus представляет собой среду, позволяющую моделировать работу электронных схем.
При запуске программы, автоматически загружается рабочая область Proteus, на которой можно размещать компоненты. Готовые модели сохраняются в файлах с расширением dsn.
Для добавления нового компонента в рабочую область в меню необходимо выбрать Library, затем вкладку PickDevice/Symbol. Кроме того, можно воспользоваться горячей клавишей P, либо нажать на соответствующий символ в левой части экрана, который расположен на форме Device Selector (Port Selector или Terminal Selector).
В результате будет открыто окно Pick Devices, в котором можно выбрать желаемый микроконтроллер либо любой другой электронный компонент:
Выбор конкретного устройства сопровождается выводом графической информации в окнах Schematic Preview и PCB Preview. Под последним также можно выбирать тип корпуса:
По кнопке ОК, необходимо указать точку расположения элемента. Подобным образом на рабочую область можно добавить любые элементы.
Также для работоспособности схемы, может понадобиться добавить несколько специальных компонентов: такие как элемент питания (power) и земля (ground). Эти элементы можно выбрать в окнеTerminalSelectorнажав в левом углу экрана кнопкуTerminalMode:
Перейти обратно на вкладку Devicesможно по кнопкеComponentMode, расположенной на 5 кнопок вышеTerminalMode, либо горячей клавишейP. Соединения между элементами осуществляется следующим образом:
В качестве текущего режима должен быть выбран Selection Mode (первый элемент на левой панели).
При наведении на возможную линию связи курсор примет вид карандаша.
Одним нажатием манипулятора (левая клавиша мыши) установить начало линии и отпустить клавишу.
Перевести курсор на конечную точку (элемент с которым необходимо провести соединение) и повторить действие предыдущего пункта.
Редактирование уже расположенных компонентов (в той мере, в которой это возможно) осуществляется из контекстного меню по правой кнопке мыши при выбранном элементе.
На следующем этапе необходимо загрузить в микроконтроллер сгенерированный hexфайл, что является эквивалентом «прошивания» реального микроконтроллера. Это делается в свойствах МК (двойной щелчок левой кнопкой мыши или вызов контекстного меню правой кнопкой, с последующим выбором вкладкиEditProperties):
Значения большинства компонентов лучше оставить по умолчанию. После нажатия на кнопку в виде папки в поле Program File, необходимо указать путь к hex файлу. Дальнейшее усложнение схемы будет происходить в зависимости от задач, которые необходимо реализовать. Простейшим примером будет подключение светодиода к любому из выводов микроконтроллера, соответствующего произвольному порту ввода-вывода, что даст индикацию значения соответствующего бита находящегося в регистре PORTx, при условии того, что заданная линия текущего порта находится в режиме вывода (OUT).
Для запуска, пошагового моделирования, паузы и остановки симуляции используются 4 кнопки расположенные в левой нижней части экрана:
При нажатии кнопки Playбудет произведена симуляция. Если в ходе симуляции были обнаружены ошибки, в журнале симуляции будут соответствующие сообщения, в противном случае, появится сообщение об успешной симуляции:
В качестве примера воспользуемся вышеприведённым ниже кодом, который заставляет светиться встроенный светодиод, подключенный к 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.
При запуске симуляции можно наблюдать включение светодиода. Убедившись в работоспособности программы в симуляторе её можно загружать в реальный контроллер.