Интерфейсы микропроцессорных систем. Воробьева Г.С - 37 стр.

UptoLike

Рис.4.3. Основное окно отладочной среды AVR Studio 4.0
4 – вкладка для открытия окна скудной помощи (посмотрите).
5 – окно созданного ассемблерского файла. Здесь и пишем программу.
6 – окно состояния (AVR Studio сообщает здесь о своих действиях).
Первой строкой программы должно быть, конечно, подключение файла .inc
для нашего микроконтроллера, где всем используемым именам регистров
присвоены их адреса, а названиям битових номера:
.include “8535def.inc”
Затем нужно инициализировать стек:
ldi r16,high(RAMEND)
out SPH,r16
ldi r16,low(RAMEND)
out SPL,r16
Работа с симулятором
После написания программы ее необходимо оттранслировать (меню
Project > Build, или кнопка есть такая) и запустить в симуляторе (меню
Debug > Start Debugging). Если в программе имеются ошибки, об этом
будет указано в окне состояния. Если грубых ошибок нет, то запускается
пошаговая симуляция работы микроконтроллера AT90S8535 (Debug).
Следующая команда не выполняется, пока не будет нажата кнопка Step
Into (см. на панели инструментов). Текущие значения всех регистров
контроллера отображается в окне просмотра регистров. Можно выполнить
и автоматическое исполнение инструкций (кнопка Run). В таком случае
выполнение инструкций происходит автоматически; программа
остановится либо по нажатию кнопки Stop, либо если была достигнута
строка, отмеченная точкой останова (breakpoint). Брейкпоинт можно
поставить, кликнув в программе на инструкцию, на которой нужно
приостановиться. Выполнение программы после брейкпоинта
продолжается только по команде пользователя (например, Run).
Немного про ассемблер AVR
Ассемблер AVRASM отличается немногим от других ассемблеров.
Собственно, ассемблерная программа для AVR отличается от программы
для PIC-контроллера только инструкциями и директивами. Инструкции для
AVR Вы найдете в системе команд (таблица 4.1), а некоторые необходимые
директивы перечислены ниже (начинаются директивы всегда с точки).
Присвоить переменной name1 значение переменной name2:
.def name1 = name2
1
2
3
4
5
6