Примечания

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   9, 10  
3, 4   11, 12  
5, 6   13, 14  
7,8  

6. 1 Составить алгоритм и исходный код программы на языке программирования Ассемблер ASM30, скомпилировать ее и проверить корректность выполнения алгоритма в симуляторе MPLAB SIM, а также проверить содержимое использованных рабочих регистров МК.

Задание 1. Загрузить в регистр число 15. Сложить его с 25 и результат поместить на вершину стека. Поместить по адресу 20 h внутренней памяти данных младшую десятичную цифру результата, а по адресу 21 h – старшую.

Задание 2. Найти разницу чисел 4836 и 2454. Младший байт результата поделить на 2. Поместить по адресу 30 h внутренней памяти данных младшую десятичную цифру результата, а по адресу 32 h – старшую.

Задание 3. Найти адрес ячейки памяти данных путем перемножения двух чисел 0С h и 0E h. В эту ячейку записать результат логической операции «Исключающее ИЛИ» между текущим содержимым регистра W0 и числа 09 h.

Задание 4. Найти частное чисел 236 и 59. Результат умножить на 8 используя операции сдвига. По вычисленному таким образом адресу ячейки внутренней памяти данных размесить результат двойного декремента полученного числа.

Задание 5. Загрузить регистр W7 числом 023 h. Найти сумму W7 + 32. В ячейку внутренней памяти данных, расположенную по вычисленному таким образом адресу, загрузить число десятичных единиц результата сложения.

Задание 6. Вычислить значение выражения (81 + 64) × (112 - 25) OR 10011010 b, сохраняя промежуточные результаты в стеке.

Задание 7. Найти разницу чисел 4801 и 209. Число десятичных единиц старшего байта результата поместить в старшую тетраду порта RA. Младшую тетраду оставить без изменений.

6. 2 Создать проект LR18_X, где «Х» – номер варианта. Для этого выполнить указания пунктов 5. 1 …5. 14.

7 После проверки преподавателем результатов работы закрыть MPLAB IDE и выключить ПК.

8 Оформить отчет и сдать зачет.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: