Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_МИУС_14.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.81 Mб
Скачать
    1. Компиляция и компоновка проекта

Процесс обработки проекта включает компиляцию исходных файлов проекта, их компоновку и создание hex-файла. Используя меню Project или соответствующие кнопки панели Build Toolbar, можно выполнить следующие действия:

Translate – компиляция исходного файла проекта;

Build Target <F7> – компиляция только измененных файлов проекта и их компоновка;

Rebuild All Target Files – компиляция всех исходных файлов проекта и их компоновка.

Произведите компиляцию и компоновку программы. Результаты обработки проекта отображаются в окне выходных сообщений в закладке Build. Если вы забыли или неправильно подключили исходный файл, то в окне Output Window появится соответствующее сообщение (рисунок 8) . Подключите в проект текстовый модуль и повторите компиляцию.

Рисунок 8 - Сообщение при отсутствии подключенного исходного файла

Если при обработке проекта будут обнаружены ошибки (Error), то в окне Output Window о них будет сообщено с указанием номера строки и типа ошибки.

Обнаруженные ошибки не позволяют создать исполняемый файл, поэтому будет выведено сообщение Target not created. Двойной щелчок по строке с описанием ошибки автоматически переведет курсор на нужную строку программы.

Рисунок 9 - Сообщение об ошибках, обнаруженных при трансляции проекта

Не забывайте точно указывать в командах форматы числовых данных. Перед буквами, обозначающими цифры, необходимо ставить ноль, после числа указывать индекс системы счисления, например, 0A8Ch или 1001011b. Число без индекса по умолчанию считается десятичным.

Отсутствие директивы END в конце программы считается некорректным её завершением Warning и также требует исправления.

Исправьте ошибки, сохраните файл и еще раз нажмите кнопку Build Target. Если ошибки отсутствуют, в окне Output Window появится сообщение о том, что трансляция Assembling и компоновка Linking программы прошли успешно, и был создан hex-файл с именем проекта Creating hex file from ``имя проекта``…

Рисунок 10 - Сообщение о завершении компоновки проекта

    1. Отладка проекта

Включите режим отладки программы в меню Debug/ Start/ Stop Debug Session. Отладчик Keil mVision открывает окно редактирования с исходным текстом программы.

При выборе в меню отладчика команды Go <Ctrl+F5> программа будет выполнена полностью. Но в большинстве случаев для отладки рекомендуется использовать пошаговые режимы с просмотром в специальных окнах содержимого ресурсов микроконтроллера. Пользователю доступно несколько вариантов пошагового режима:

Step Into <F11> – шаг для входа в функцию,

Step Over <F10> – шаг для перехода через функцию,

Step Out of current Function <Ctrl +F11> – шаг для выхода из функции.

Run to Cursor Line <Ctrl +F10> – шаг до строки, отмеченной курсором.

При выполнении программы исполненные команды и модифицированные регистры выделяются зеленой строкой, а текущая следующая команда желтой стрелкой.

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

В закладке Regs окна Project window в процессе отладки программы отображаются: содержимое системных регистров А, В, DPTR, SP, PC, PSW и регистров общего назначения R0-R7; информация о времени выполнения программы – sec и количестве машинных циклов – states.

Окно Watch позволяет просматривать и модифицировать программные переменные, контролировать стек вызовов для текущей функции. Содержимое окна Watch автоматически обновляется при каждом останове программы.

Окно Memory window используется для просмотра содержимого ячеек памяти. Окно имеет четыре закладки, поэтому одновременно можно просматривать содержимое нескольких областей памяти, специализация которых указывается в виде префиксов. Начальный адрес области памяти указывается в строке Address.

Таблица 1 - Области памяти, доступные для просмотра содержимого

Префикс

Область памяти

Описание

C:

CODE

память программ

X:

XDATA

внешняя память данных

D:

DATA

резидентная прямо адресуемая память данных

I:

IDATA

резидентная косвенно адресуемая память данных

B:

BIT

побитно адресуемая область РПД

Bn:

CODE BANK

банк памяти программ, где n указывает номер банка

Таким образом, для просмотра прямо адресуемой области резидентной памяти данных нужно указать адрес в формате D:address, для просмотра внешней памяти данных нужно указать адрес Х: address, а для просмотра памяти программ – С: address.

При необходимости изменения содержимого ячеек памяти выберите правой кнопкой мыши нужную ячейку и вызовите окно Modify Memory.

Рисунок 11 - Пример изменения содержимого ячеек памяти

Специальное меню Peripherals используется для контроля текущего состояния системы прерываний, параллельных и последовательных портов, таймеров и дополнительных устройств микроконтроллера.

Рисунок 12 - Вызов меню Peripherals для просмотра содержимого порта Р1

Ячейки окна Parallel Port n побитно отображают содержимое регистра-защелки порта Рn и сигналов Pins на выводах микросхемы.

После сброса микроконтроллера содержимое параллельных портов соответствует значению «все единицы». В процессе выполнения программы изменение состояний линий порта отображается в окне Parallel Port n (снимаются или устанавливаются «галочки» соответствующие логическим единицам). При отладке программы состояние битов параллельных портов можно изменять (например, для имитации внешнего управляющего воздействия).

Отладка рабочей программы. Пример настройки рабочего экрана для отладки рабочей программы приведен на рисунке 13.

Выведите на экран:

  • окно текста программы для контроля ее выполнения в пошаговом режиме;

  • окно Project window с закладкой Regs для просмотра содержимого рабочих регистров и определения времени выполнения программы;

  • окно Memory window для контроля заполнения ячеек внешней памяти данных с адреса NADR (создайте закладку с адресом Х: NADR) и просмотра содержимого памяти программ с адреса 00h (создайте закладку с адресом С:00);

  • окно параллельного порта Parallel Port 1 для контроля выдачи в порт последнего числа, записанного в память.

Рисунок 13 - Пример настройки рабочего экрана для отладки программы

Используя пошаговый режим Step Into, проконтролируйте изменение содержимого используемых в программе регистров, заполнение ячеек внешней памяти данных и порта Р1. Закончив отладку и убедившись в правильности работы программы, запишите в отчет результаты её выполнения.

Из закладки Regs окна Project window выпишите в отчет данные о времени выполнения программы (строка sec) и количестве машинных циклов (строка states).

Пример (см. рисунок 13). В результате выполнения программы область ВПД, начиная с адреса 1000h, заполнена восемью числами по возрастанию от 04h до 12h с шагом 2h. Число 12h переслано в порт Р1. Время выполнения программы составило 85 машинных циклов, что при частоте 24 МГц соответствует 42,5 мкс.

Откройте в окне Memory window закладку с адресом С:00h и ознакомьтесь с тем, как программа была размещена в памяти. Запишите в отчет размер программного кода в байтах, укажите диапазон адресов, занимаемый программой.

Откройте директорию со своим рабочим проектом и ознакомьтесь с перечнем файлов, появившихся в результате вашей работы над проектом. Обратите внимание на их количество и назначение. Откройте листинг программы – файл с расширением *.lst и загрузочный шестнадцатеричный модуль *.hex, запишите их содержание в отчет.