Завершение работы с AVRStudio и CodeVisionAVR:
1. Завершить работу AVRStudio кнопкой закрыть . На вопрос о записи изменений ответить Да.
2. Перейти в окно CodeVisionAVR, сохранить изменения командой File->SaveAll, затем выйти из CodeVisionAVR.
Задание к лабораторной работе
1. Запустить компилятор.
2. Создать проект со следующим исходным текстом:
#include <MEGA128.H>
#include <delay.h>
unsigned char X,D=0;
void main(void)
{
DDRD=0b10000000;
while (1)
{
D=!D;
PORTD=D;
}
}
3. Перейти в отладочный режим и выполнить программу в пошаговом режиме.
4. Внести изменение в исходный текст программы: DDRD=0b11111111;
5. Перекомпилировать проект и произвести его выполнение в пошаговом режиме.
6. Пояснить отличия в работе исходного и отредактированного варианта программы. Продемонстрировать результаты работы преподавателю.
Литература
1. Евстифеев А. В. Микроконтроллеры AVR семейств Tiny и Mega фирмы «ATMEL» - М.; Издательский дом «Додэка-XXI», 2004.-560 с.
Приложение А. Отладочный режим.
Запуск отладки
Осуществляется командой Debug->StartDebugging или кнопкой на панели инструментов. Редактирование кода во время отладки невозможно.
Остановка отладки
Осуществляется командой Debug->StopDebugging или кнопкой на панели инструментов.
Перезагрузка
Осуществляется командой Debug->Resert (Shift+F5) или кнопкой на панели инструментов. Перезагружает отлаживаемый код. Если программа в это время выполнялась, то выполнение будет остановлено.
Запуск
Осуществляется командой Debug->Run (F5) или кнопкой на панели инструментов. Начинает или продолжает выполнение программы. Программа будет выполняться до остановки её пользователем или при достижении точки остановки. Команда доступна только когда выполнение программы приостановлено.
Остановка
Осуществляется командой Debug->Break (Ctrl+F5) или кнопкой на панели инструментов. Останавливает выполнение программы. При этом информация во всех окнах обновляется. Выполнение команды возможно только при запущенной программе.
Одиночный шаг
Осуществляется командой Debug->StepInto (F11) или кнопкой на панели инструментов. Выполняет одну инструкцию, затем обновляются все окна.
Шаг с выполнением подпрограммы
Осуществляется командой Debug->StepOver (F10) или кнопкой на панели инструментов. Выполняет одну инструкцию. Если в инструкции содержится вызов функции/подпрограммы, то функция подпрограмма выполняется полностью. Если при выполнении программы достигается точка остановки, то выполнение программы прекращается.
Выполнение до конца подпрограммы
Осуществляется командой Debug->StepOut (Shift+F11) или кнопкой на панели инструментов. Если при выполнении команды обнаружена точка остановки, то выполнение программы прекращается. Если команда активирована в начале программного кода, то программы будет выполнятся до точки остановки или до прекращения выполнения пользователем.
Осуществляется командой Debug->RuntoCursor (Ctrl+F10) или кнопкой на панели инструментов. Выполняет команду до строки на которой расположен курсор в окне исходного файла. Если в процессе выполнения обнаружена точка остановки, то выполнение программы не прекращается. Если при выполнении программы инструкция, помеченная курсором, не может быть достигнута, программа выполняется до остановки её пользователем. Так как команда зависит от местоположения курсора, она доступна только при активном окне редактора.
Непрерывное выполнение программы
Осуществляется командой Debug->AutoStep (Alt+F5) или кнопкой на панели инструментов. Команда выполняет по одной инструкции до обнаружения точки остановки или прекращения выполнения пользователем. Интервал времени между выполнением инструкций выбирается в меню Debug->AVRSimulatorOptions (Alt+O).
При выполнении этой команды рекомендуется устанавливать точку остановки, иначе может произойти зацикливание программы.
Управление точками остановки
Пользователь может установить неограниченное число точек остановки. Точки остановки отображаются на левой стороне окна редактора. Щёлкнув ПК мыши на строке с точкой остановки, пользователь может включить, отключить или удалить точку остановки.
Для установки точки остановки нужно переместить курсор на нужную строку и выполнить команду Debug->ToggleBreakpoint (F9) или нажать кнопку на панели инструментов.
Для удаления всех точек остановки нужно выполнить команду Debug->Removeallbreakpoints или нажать кнопку на панели инструментов.
Состояние точек остановки отображается на вкладке BreakpointsandTracepoints (рис. 6) в нижней области экрана.
Рис. 6. вкладка Breakpoints and Tracepoints
Для точек остановки возможно задать количество итераций после которых произойдёт остановка выполнения программы. Для этого нужно выделить нужную точку остановки в окне Breakpoints and Tracepoints, двойным щелчком мыши открыть свойства точки (рис. 7) и в поле Break execution after ввести количество итераций, затем нажать OK.
Рис. 7. окно свойств точки остановки
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.