
- •Методические указания и задания по лабораторному практикуму по курсу «Микропроцессоры» Учебное пособие Москва 2013
- •Лабораторная работа №1. "Исследование возможностей интегрированной среды для создания программ для микроконтроллеров"
- •1. Краткое описание интегрированной среды
- •1.1. Окно интегрированной среды
- •1.2. Использование отладчика (симулятора) для ассемблерных модулей
- •1.3. Порядок создания программ на Ассемблере с помощью интегрированной среды
- •1.4. Порядок отладки программ на Ассемблере с помощью интегрированной среды
- •1.5. Дополнительные операторы языка Ассемблера для использования интегрированной среды
- •1.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •1.8. Отчет по работе
- •Лабораторная работа №2. "Исследование арифметических и логических операций над двоичными и шестнадцатеричными числами применительно к реализации в микроконтроллерах"
- •1. Логические и арифметические операции
- •2.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •Лабораторная работа №3. "Исследование возможностей интегрированной среды для создания программ для оэвм семейства mcs51"
- •1.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •1.8. Содержание отчета
- •1.9. Задания для самопроверки
- •Лабораторная работа №4 Исследование программно-аппаратного комплекса для отладки программ для оэвм семейства mcs-51
- •4.1. Макетно-отладочная плата ев-552
- •2.3. Порядок создания и проверки программ в интегрированной системе uVision2 - eb552
- •2.3.1. Использование программы ев552.Exe для загрузки нех файлов в плату
- •8. Передача отлаживаемого файла в плату ев552
- •2.4. Задание для домашней подготовки
- •2.5. Лабораторное занятие
- •2.5.1. Основы работы с массивами чисел
- •2.5.2. Отладка программы в интегрированной среде
- •2.6. Результаты отчета
- •2.7. Контрольные вопросы
- •Лабораторная работа № 5 Исследование таймеров-счетчиков и системы прерывания оэвм
- •3.1. Основные теоретические сведения
- •3.1.1. Использование таймера для осуществления программной задержки
- •3.1.2. Система прерываний оэвм
- •3.1.3. Управление работой таймеров
- •Xseg at 0000h
- •3.1.4. Работа таймера в режиме счетчика событий
- •Xseg at 0000h
- •3.2. Задание для домашней подготовки
- •3.3. Лабораторное задание
- •3.3.1. Исследование работы таймеров
- •3.4. Содержимое отчета
- •Список рекомендованной литературы
2.3.1. Использование программы ев552.Exe для загрузки нех файлов в плату
Для передачи НЕХ файлов из оболочки в плату необходимо войти в меню TOOLS и выбрать самый нижний пункт ЕВ552. Будет запущена программа ЕВ552.exe в отдельном окне.
При запуске программы окно ЕВ552 сначала содержит систему меню и пустое окно. Для загрузки НЕХ файла необходимо сделать следующее:
а) До начала работы с программой необходимо узнать у преподавателя, к какому из СОМ портов компьютера подсоединен кабель связи с платой ЕВ552. По умолчанию считается, что он подсоединен к порту СОМ2.
б) Войти в меню "Настройка" окна программы ЕВ552 и выбрать пункт "Настройка последовательного порта". Если порт СОМ2 существует и доступен, происходит проверка порта. Если такой порт недоступен (например, он не установлен на ПК), то выдается окно предупреждения:
"Несуществующий номер порта. Введите правильный номер (1 -4)" и в строке окна надо ввести цифру (от 1 для СОМ1 до 4 для СОМ4) правильного номера порта, к которому подсоединен кабель.
в) В некоторых случаях кабель подсоединен не к СОМ2, а к другому порту (например, к СОМ1). Тогда до выбора пункта "Настройка последовательного порта" меню "Настройка", надо выбрать пункт "Изменение номера порта" и установить переключатель на вкладке на требуемый порт и нажать кнопку ОК. Будет инициализирован выбранный СОМ порт и затем можно выбрать "Настройка последовательного порта".
г) После выбора и настройки становится активным пункт "Открыть" меню "Файл".
При его выборе открывается стандартный диалог открытия файла с расширением ".НЕХ".
д) Надо выбрать требуемый для загрузки файл и сделать на нем двойной щелчок мышью.
е) В окне появится рамка с надписью: "Загрузка файла в плату ЕВ552" и линейка процесса, которая станет заполняться синими прямоугольниками по мере загрузки отдельных байтов файла. По окончании загрузки всего файла рамка и линейка исчезают - это значит, что процесс завершился успешно. Если рамка и линейка не исчезли и заполнение линейки замерло на середине, то надо нажать кнопку "Отмена" ниже линейки и повторить процедуру загрузки.
ж) Выйти из программы, выбирая пункт "Выход" из меню "Файл".
8. Передача отлаживаемого файла в плату ев552
Чтобы после успешной сборки отлаживаемой программы загрузить НЕХ файл в плату, необходимо сделать следующее:
a) Загрузить НЕХ файл отлаживаемой программы (требования к организации памяти и другим параметрам проекта изложены в методических указаниях по лабораторному практикуму).
б) Запустить этот файл на плате на выполнение.
в) При обнаружении ошибки в программе - перекомпилировать его в среде KEIL и снова загрузить новый НЕХ файл.
2.4. Задание для домашней подготовки
2.4.1. Ознакомиться с описанием отладочной платы EB-552 (раздел 2.1).
2.4.2. Ознакомиться с порядком отладки программ на аппаратно-программном комплексе KEIL-EB-552.
2.4.3. Разработать программу на языке Ассемблера по заданию, которое приведено ниже. В табл. 2.1 приведен номер варианта программы, которая должна быть разработана для каждой бригады в отдельности. Программа должна иметь все необходимые "псевдооператоры", которые позволяли бы загрузить ее непосредственно в среду. Коды программы должны начинаться с 8000Н, байтовые переменные - с 08Н, стек - с 60Н, битовые переменные - с 20Н, внешнее ОЗУ – с 0000H. Ассемблирование вручную приводить не надо.
Таблица 2.1
Распределение вариантов домашнего задания по бригадам
N бригады |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
N варианта |
1 |
9 |
7 |
8 |
6 |
5 |
3 |
4 |
2 |
10 |
Вариант 1. Составить программу сложения N (N<16) однобайтных чисел. Числа должны располагаться в памяти программ, начиная с адреса после кодов программы. Результат должен фиксироваться в ячейках внешней памяти, начиная с адреса 0000H.
Вариант 2. Составить программу сложения двух N-байтных чисел (2<N<8). Числа должны располагаться в памяти программ, начиная с адреса после кодов программы. Результат должен фиксироваться в ячейках внешней памяти, начиная с адреса 0000H.
Вариант 3. Составить программу нахождения минимального числа из массива N однобайтовых чисел. Числа должны располагаться в памяти программ, начиная с адреса после кодов программы. Результат должен фиксироваться в ячейках внешней памяти, начиная с адреса 0000H.
Вариант 4. Написать программу перезаписи байтовых чисел из одной области памяти в другую. Первая область находится в памяти программ, начиная с адреса после кодов программы. Результат должен фиксироваться в ячейках внешней памяти, начиная с адреса 0000H.
Вариант 5. Подсчитать количество ненулевых элементов в байтовом массиве. Числа должны располагаться в памяти программ, начиная с адреса после кодов программы. Результат должен фиксироваться в ячейках внешней памяти, начиная с адресов 0000H.
Вариант 6. Подсчитать количество элементов, равных FF, в байтовом массиве. Числа должны располагаться в памяти программ, начиная с адреса после кодов программы. Результат должен фиксироваться в ячейках внешней памяти, начиная с адресов 0000H.
Вариант 7. Составить программу нахождения максимального числа из массива N (N<256) однобайтовых чисел. Числа должны располагаться в памяти программ, начиная с адреса после кодов программы. Результат должен фиксироваться в ячейках внешней памяти, начиная с адресов 0000H.
Вариант 8. Составить программу проверки элементов массива N (N<256) однобайтовых чисел на 0. Числа должны располагаться в памяти программ, начиная с адреса после кодов программы. Результат (адреса нулевых элементов массива) должен фиксироваться в ячейках внешней памяти, начиная с адреса 0000H.
Вариант 9. Составить программу записи натуральных чисел (число не больше 255) во внешнюю память, начиная с адреса 0000H. Надо записать в каждую из ячеек число из возрастающей последовательности 1, 2, 3, 4... .
Вариант 10. Составить программу проверки знака числа в массиве чисел (N<20), расположенных в памяти программ, начиная с адреса после кодов программы. В этот массив предварительно заносятся как положительные, так и отрицательные числа в дополнительном коде. Результат – адреса чисел с положительным знаком, должны быть помещены во внешней памяти, начиная с адреса 0100Н.