Числовые константы и системы счисления
MPASM поддерживает шестнадцатеричную, десятичную и двоичную системы счисления. Для обозначения числового значения используется символ «#».
Синтаксические правила числовых значений приведены в таблице 18.2.
Таблица 18.2 – Синтаксис числовых значений
Тип | Синтаксис | Пример |
Шестнадцатеричный | 0x< числовое значение > | #0x9F |
Десятичный | <числовое значение> | #123 |
Двоичный | 0b<числовое значение> | #0b11 |
Тренировочный пример составления исходного кода программы
Задача: Вычислить значение выражения (25 + 13) × (18 – 9), результаты промежуточных вычислений хранить в регистрах. Выделить младшую тетраду результата и поместить её в старшую. Проверить корректность выполнения алгоритма и результаты промежуточных вычислений в симуляторе. Указать результат выполнения алгоритма.
Алгоритм решения задачи представлен на рисунке 18.18.
Листинг тренировочной программы:
.include "P33FJ32MC204.inc" | ||||
.global __reset | ||||
__reset: | ;Метка начала исходного файла | |||
MOV | #25, W0 | ;W0 = 25 | ||
MOV | #13, W1 | ;W1 = 13 | ||
ADD | W0, W1, W2 | ;W2 = W0 + W1 | ||
MOV | #18, W3 | ;W3 = 18 | ||
MOV | #9, W4 | ;W4 = 9 | ||
SUB | W3, W4, W5 | ;W5 = W3 – W4 | ||
MUL.SS | W2, W5, W6 | ;W6 = W2 × W5 | ||
AND | #0x000F, W6 | ;W6 = W6 ˄ #0x000F, выделение ;младшей тетрады | ||
SL | W6, #12, W6 | ;W6 = W6 << 12, сдвиг влево на ;12 разрядов | ||
| .end | ;Конец исходного файла | ||
Рисунок 18.18 – Схема алгоритма к тренировочному заданию
ЛАБОРАТОРНАЯ РАБОТА № 19
ИССЛЕДОВАНИЕ устройств ввода-вывода дискретных сигналов В МИКРОПРОЦЕССОРНЫХ СИСТЕМАХ НА БАЗЕ МИКроконтроллера семейства dsPIC33F
Цель работы
1 Изучить структуру и особенности работы портов микроконтроллеров (МК) семейства dsPIC33F.
2 Изучить схему подключения входных и выходных дискретных сигналов к МК dsPIC33F.
3 Изучить особенности программирования ввода-вывода дискретных сигналов на языке программирования C.
4 Создать проект, составить исходный код программы ввода-вывода дискретных сигналов по заданному алгоритму, откомпилировать ее в среде MPLAB IDE 8, записать в память программ МК dsPIC33FJ32MC204 учебного стенда НТЦ-31.000 и выполнить.
5 Исследовать работу дискретных входов и выходов.
Подготовка к выполнению работы
1 Изучить по [1] структуру и особенности работы портов МК dsPIC33FJ32MC204.
2 Изучить по [2] схему подключения входных и выходных дискретных сигналов к МК.
3 Изучить алгоритмы и исходные коды программ на языке программирования С, приведенные в методических указаниях.
4 Подготовить ответы на вопросы для самоконтроля.
5 Подготовить заготовку отчета (см. содержание отчета).
Вопросы для самоконтроля
1 Дайте определение дискретного сигнала.
2 Приведите пример устройства либо механизма, выходной, сигнал которого является дискретным.
3 Приведите пример устройства либо механизма, управление которым осуществляется дискретным сигналом.
4 Дайте краткое описание структуры линии порта, объединенной с выводами периферийных функций