- •Цифровые и микропроцессорные устройства
- •Часть 4
- •07.04 2014 Г., протокол № 10
- •Введение
- •Лабораторная работа № 12составление линейных и циклических программ на языке ассемблер Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •Лабораторная работа № 13обучение работе на симуляторе микропроцессора Sim8085 Microprocessor Simulator
- •Содержание отчета
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •2 Индивидуальное задание № 14. 1
- •3 Индивидуальное задание № 14. 2
- •4 Индивидуальное задание № 14. 3
- •Лабораторная работа № 15логические команды и команды сдвига Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Команды сравнения
- •Команды сдвига
- •Индивидуальное задание № 15. 1
- •Индивидуальное задание № 15. 2
- •Индивидуальное задание № 15. 3
- •Лабораторная работа № 16 команды управления Цель работы
- •Подготовка и выполнение работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Теоретическое обоснование
- •2 Индивидуальное задание № 16. 1
- •3 Индивидуальное задание № 16. 2
- •Лабораторная работа № 17обучение работе в интегрированной среде mplab ide
- •Содержание отчета
- •Контрольные вопросы
- •Методические указания
- •1 Структурная схема учебного стенда нтц – 31.000
- •2 Органы управления учебного стенда
- •Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •1. 2 Общий формат инструкций и директив
- •1. 3 Директивы Ассемблера
- •1.4 Числовые константы и системы счисления
- •2 Тренировочный пример составления исходного кода программы
- •Лабораторная работа № 19исследование устройств ввода-вывода дискретных сигналов в микропроцессорных системах на базе миКроконтроллера семейства dsPic33f Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Краткие теоретические сведения
- •2 Схема электрическая принципиальная к лабораторной работе
- •3 Алгоритм и листинг программы к заданию № 19. 1
- •4 Алгоритм и листинг программы к заданию № 19. 2
- •Лабораторная работа № 20реализация временных функций в микропроцессорных системах на базе миКроконтроллера семейства dsPic33f Цель работы
- •Подготовка к выполнению работы
- •Вопросы для самоконтроля
- •Приборы, оборудование и документация
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Требования к знаниям и умениям учащихся
- •Методические указания
- •1 Краткие теоретические сведения
- •1.1 Реализация временных функций
- •1.2 Метод программных циклов
- •1.3 Использование таймера/счётчика
- •1.4 Схема электрическая принципиальная к лабораторной работе
- •1. 5 Листинг программы для создания проекта lr20_1
- •1.6 Листинг программы для создания проекта lr20_2
- •1.7 Листинг программы для создания проекта lr20_3
- •Литература
- •Содержание
- •Цифровые и микропроцессорные устройства
- •Часть 4
Цель работы
Изучить по [1] правила программирования МК dsPIC33F на языке Ассемблер ASM30 и особенности использования языка при разработке программ.
Создать проект, составить алгоритм и исходный код программы обработки для заданного выражения на языке программирования Ассемблер ASM30. Откомпилировать ее в среде MPLAB IDE и исследовать ход выполнения в симуляторе MPLAB SIM.
Подготовка к выполнению работы
Повторить по [1] систему команд и способы адресации МК dsPIC33F.
Изучить по [1] основные положения и конструкции языка программирования Ассемблер ASM30.
Создать проект, разработать алгоритм и исходный код программы в соответствии с вариантом индивидуального задания (см. пункт 6 данных методических указаний).
Изучить порядок работы в среде MPLAB IDE, используя руководство пользователя MPLAB IDE 8 (см. [3]) и методические указания к данной лабораторной работе.
Подготовить ответы на вопросы для самоконтроля.
Подготовить заготовку отчета (см. содержание отчета).
Вопросы для самоконтроля
Какие способы адресации применяются в МК dsPIC33F? Поясните их сущность.
Укажите выполняемую операцию и способ адресации для следующих команд МК dsPIC33F: mov #20, W0; mov W0, W1; mov #0x4301, W5; mov W0, [W1]; add W2, #6, [W1]; and W0, W1, W2.
Укажите какими директивами языка Ассемблер ASM30 указываются:
- модель используемого МК;
- начало и конец исходного файла кода программы.
Какой символ языка Ассемблер ASM30 обозначает числовое значение?
Укажите синтаксические правила записи числовых значений в двоичной, десятичной и шестнадцатеричной системах счисления.
Что понимают под вершиной стека?
Как можно выделить какую-нибудь тетраду результата?
Приборы, оборудование и документация
Персональный компьютер.
Методические указания к лабораторной работе.
MPLAB IDE. Руководство пользователя.
Система команд МК dsPIC33F.
Порядок выполнения работы
Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса.
Проверка выполнения индивидуального домашнего задания.
Произвести внешний осмотр персонального компьютера (ПК) и убедиться визуально в отсутствии каких-либо повреждений и дефектов.
Включить ПК.
Выполнить тренировочное задание на примере программы вычисления значения выражения (25 + 13) × (18 – 9). Результаты промежуточных вычислений хранить в рабочих регистрах. Выделить младшую тетраду результата и поместить ее в старшую. Проверить корректность выполнения алгоритма в симуляторе MPLAB IDE, а также проверить содержимое рабочих регистров МК.
5. 1 Запустите MPLAB IDE. Выберите пункт меню «Project → Project Wizard…» (рисунок 18.1).
5. 2 В приветственном окне мастера создания проекта нажмите кнопку «Далее» (рисунок 18.2).
Рисунок 18.1 – Запуск мастера создания проекта
|
Рисунок 18.2 – Окно приветствия мастера создания проекта
5.3 В окне выбора микроконтроллера установите dsPIC33fj32mc204 (рисунок 18.3) и нажмите кнопку «Далее».
|
Рисунок 18.3 – Выбор микроконтроллера
5. 4 В окне выбора языка программирования в качестве инструмента программирования (Active Toolsuite) установите «Microchip C30 Toolsuite», и выберите язык программирования Assembler ASM30 (рисунок 18.4) и нажмите кнопку «Далее».
Рисунок 18.4 – Выбор средства и языка программирования
5. 5 В окне выбора пути к каталогу сохранения файлов проекта выберите «Browse…» (рисунок 18.5).
5. 6 В открывшемся окне выберите путь: «Мой компьютер\Локальный дискD\Lan\DSPIC33\TE111\Ivanov\LR18\».
Примечание – Фамилию учащегося, набранную буквами английского алфавита, выбрать из списка своей учебной группы и создать папку для лабораторной работы №18.
В поле «Имя файла» задайте имя файла: LR18. Нажмите «Сохранить». В открывшемся окне (рисунок 18.5) в поле «Create New Project File» конечный пункт должен выглядеть так: «D:\Lan\DSPIC33\TE111\Ivanov\LR18\LR18». Нажмите кнопку «Далее».
Рисунок 18.5 – Выбор каталога для сохранения проекта
5. 7 В открывшемся окне (рисунок 18.6) добавим существующие файлы в проект: «+C\+Program Files (x86)\+Microchip\+MPLAB ASM30 Suite\+bin». В открытой папке выбрать файл «pic30-as.exe» и добавить его, нажав «Add». Нажать кнопку «Далее».
|
Рисунок 18.6 – Добавление существующих файлов в проект
5. 8 В открывшемся окне суммарной информации по проекту убедитесь, что МК и средство программирования выбраны правильно и нажмите кнопку «Готово» (рисунок 18.7).
Рисунок 18.7 – Суммарная информация по проекту
5. 9 После создания проекта в него необходимо добавить файлы с исходным кодом программы МК. Для этого необходимо воспользоваться пунктом меню «File → New». В открывшемся окне (рисунок 18.8) наберите листинг программы вычисления значения выражения (25 + 13) × (18 – 9), которая приведена в методических указаниях к данной лабораторной работе.
Примечания
1 Метки (например, «__reset:») начинаются с первой колонки с двойного символа подчеркивания «__» и набираются строчными буквами, а мнемоники инструкций (команд) МК должны начинаться со второй (и далее) колонки.
2 Операнды должны быть отделены от мнемоники не менее чем одним символом пробела. Список операндов разделяется запятыми.
Рисунок 18.8 – Исходный код тренировочной программы
5. 10 После написания исходного кода тренировочной программы с помощью пункта меню «File → Save As…» откройте окно «Сохранить как» и в строке «Имя файла» задайте название исходного кода программы, как: «main.s», где «.s» – формат файла (рисунок 18.9) и нажмите «Сохранить».
Рисунок 18.9 – Сохранение исходного кода тренировочной программы
5. 11 В открывшемся окне «LR18.mсw» кликнуть правой кнопкой мыши по кнопке «Source Files» и выбрать пункт «Add Files…» (рисунок 18.10).
Рисунок 18.10 – Инспектор проекта
5. 12 В открывшемся окне «Add Files to Project» выбрать сохраненный файл «main.s» и нажать «Открыть» (рисунок 18.11). Результат открытия показан на рисунке 18.12.
Рисунок 18.11 – Открытие исходного кода тренировочной программы
Рисунок 18.12 – Инспектор результата открытия исходного файла проекта
5. 13 После написания исходного кода тренировочной программы для получения файла прошивки МК требуется скомпилировать проект. Для этого необходимо воспользоваться пунктом меню «Project → Build All» (рисунок 18.13).
Рисунок 18.13 – Компилирование проекта
В случае обнаружения ошибок в исходном коде соответствующие сообщения будут выведены в область уведомлений. В таком случае необходимо исправить ошибки и запустить заново компилирование проекта. В успешном случае в область уведомлений будет выведено сообщение «BUILD SUCCEEDED» (рисунок 18.14).
Рисунок 18.14 – Результат компилирования проекта
5. 14 Интегрированная среда MPLAB IDE имеет в своем составе встроенный симулятор, который позволяет отлаживать программу еще до программирования МК. Во время симуляции существует возможность просматривать состояние всех регистров МК, локальных переменных программы, а так же имитировать входные сигналы.
Для того чтобы воспользоваться симулятором, необходимо после компиляции проекта с помощью пункта меню «Debugger → Select Tool» выбрать симулятор MPLAB SIM (рисунок 18.15).
Для запуска программы используется пункт меню «Debugger Run». Во время выполнения программы симулятор MPLAB SIM позволяет отображать значения регистров и объявленных переменных. Для вывода окна регистров следует воспользоваться пунктом меню «View → Special Function Registers» (рисунок 18.16).
Рисунок 18.15 – Выбор симулятора MPLAB SIM
Рисунок 18.16 – Окно регистров микроконтроллера
Просмотреть содержимое рабочих регистров, используемых в тренировочной программе, и записать их значения в отчет.
В случае, когда необходимо отображать значение не только специальных регистров, но и любых пользовательских переменных, следует воспользоваться инструментом «Watch». Запуск инструмента осуществляется с помощью пункта меню «View → Watch». Инструмент подразумевает задание списка необходимых для мониторинга регистров и переменных. Для этого необходимо либо выбрать регистр из предлагаемого списка и нажать кнопку «Add SFR», либо ввести название переменной или регистра в столбце «Symbol Name» (рисунок 18.17).
Рисунок 18.17 – Окно инструмента «Watch»
6 Выполнить индивидуальное задание согласно заданному варианту (таблица 18.1).
Таблица 18.1 – Исходные данные к индивидуальному заданию
Номер варианта |
Номер задания |
Номер варианта |
Номер задания |
1, 2 |
1 |
9, 10 |
5 |
3, 4 |
2 |
11, 12 |
6 |
5, 6 |
3 |
13, 14 |
7 |
7,8 |
4 |
— |
— |
6. 1 Составить алгоритм и исходный код программы на языке программирования Ассемблер ASM30, скомпилировать ее и проверить корректность выполнения алгоритма в симуляторе MPLAB SIM, а также проверить содержимое использованных рабочих регистров МК.
Задание 18.1. Загрузить в регистр число 15. Сложить его с 25 и результат поместить на вершину стека. Поместить по адресу 20 h внутренней памяти данных младшую десятичную цифру результата, а по адресу 21 h – старшую.
Задание 18.2. Найти разницу чисел 4836 и 2454. Младший байт результата поделить на 2. Поместить по адресу 30 h внутренней памяти данных младшую десятичную цифру результата, а по адресу 32 h – старшую.
Задание 18.3. Найти адрес ячейки памяти данных путем перемножения двух чисел 0С h и 0E h. В эту ячейку записать результат логической операции «Исключающее ИЛИ» между текущим содержимым регистра W0 и числа 09 h.
Задание 18.4. Найти частное чисел 236 и 59. Результат умножить на 8 используя операции сдвига. По вычисленному таким образом адресу ячейки внутренней памяти данных размесить результат двойного декремента полученного числа.
Задание 18.5. Загрузить регистр W7 числом 023 h. Найти сумму W7 + 32. В ячейку внутренней памяти данных, расположенную по вычисленному таким образом адресу, загрузить число десятичных единиц результата сложения.
Задание 18.6. Вычислить значение выражения (81 + 64) × (112 - 25) OR 10011010 b, сохраняя промежуточные результаты в стеке.
Задание 18.7. Найти разницу чисел 4801 и 209. Число десятичных единиц старшего байта результата поместить в старшую тетраду порта RA. Младшую тетраду оставить без изменений.
6. 2 Создать проект LR18_X, где «Х» – номер варианта. Для этого выполнить указания пунктов 5. 1 …5. 14.
7 После проверки преподавателем результатов работы закрыть MPLAB IDE и выключить ПК.
8 Оформить отчет и сдать зачет.