
- •Росжелдор
- •Лабораторная работа. Исследование функциональных узлов миус. Цифро-аналоговые преобразователи
- •Цель работы Изучить принцип формирования аналоговых сигналов в микропроцессорных системах, познакомиться с работой цап.
- •Общие сведения
- •Подготовка к работе
- •Выполнение работы
- •Содержание отчета
- •Предварительные расчеты и результаты дискретизации заданных сигналов.
- •1. Цель работы
- •2. Общие сведения
- •2.1. Память программ
- •2.2. Память данных
- •2.3. Программная модель микроконтроллеров семейства Intel 8051
- •2.4 Система команд микроконтроллеров семейства Intel 8051
- •2.4.1. Правила записи программ на языке ассемблера
- •2.4.2. Режимы адресации данных
- •2.4.3. Общая характеристика системы команд
- •2.4.4. Директивы ассемблера
- •3. Подготовка к работе
- •4. Выполнение работы
- •5. Содержание отчета
- •Формат регистра рsw
- •Формат регистра pcon
- •Формат регистра tcon
- •Формат регистра ie
- •Формат регистра ip
- •Лабораторная работа. ИнтЕгрированная среда разработки
- •1. Цель работы
- •2. Общие сведения
- •2.1. Этапы подготовки программного обеспечения микропроцессорных систем
- •2.2. Общая характеристика программы Keil mVision ide
- •2.3 Интерфейс пользователя и общие правила работы
- •3. Подготовка к работе
- •4. Выполнение работы
- •4.1. Создание нового проекта
- •4.2. Создание исходного текстового файла
- •Добавление файла в рабочую группу и настройка проекта
- •Компиляция и компоновка проекта
- •Отладка проекта
- •5. Содержание отчета
- •Инструменты отладчика
- •Лабораторная работа Последовательный порт однокристальных микроконтроллеров семейства Intel 8051
- •1. Цель работы
- •2. Общие сведения
- •3. Подготовка к работе
- •Выполнение работы
- •5.Содержание отчета
- •Лабораторная работа Этапы Подготовки программного обеспечения для микропроцессорных систем. Программаторы
- •1. Цель работы
- •2. Общие сведения
- •Подготовка к работе
- •Выполнение работы
- •Сейчас будет выполнено полное тестирование аппаратуры программатора. Убедитесь, что в колодке программатора нет микросхемы
- •Содержание отчета
- •1. Цель работы
- •2. Общие сведения
- •3. Подготовка к работе
- •4. Выполнение работы
- •Проверка работоспособности устройств платы контроллера-конструктора kit-552-p
- •Проверка работы программы циклической передачи данных в последовательный порт
- •5. Содержание отчета
Компиляция и компоновка проекта
Процесс обработки проекта включает компиляцию исходных файлов проекта, их компоновку и создание 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 - Сообщение о завершении компоновки проекта
Отладка проекта
Включите режим отладки программы в меню 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, запишите их содержание в отчет.