Контрольная работа: Программирование микропроцессорных систем
Этот вариант обычно используют в системах с небольшим числом задач (3 – 4 задачи). показан на рис.3.2
Р и с. 3.1. Организация планирования выполнения задач с различными приоритетами
с формированием и анализом слова запросов на их решение
(за время выполнения текущей задачи поступили запросы на решение от 1-й, 2-й и 5-й. После анализа слова состояния будет выполняться 1-я из них как задача, имеющая наивысший приоритет.)
Рисунок 3.2 Порядок выполнения задач по прерываниям, которые
имеют различные приоритеты (задачи в зависимости от важности распределены по шести уровням. Наивысшим по приоритету является уровень У1.
)
При проектировании специализированных микропроцессорных контроллеров применяется преимущественно последний вариант организации планирования.
Для организации прерываний могут использоваться:
Внешний таймер.(В том числе встроенные таймеры)
Дополнительный аппаратный контроллер прерываний из-за огра
ниченого числа прерываний реализованных в микроконтроллере.
Аппаратные контроллеры устройств индикации, ввода-вывода,
канала передачи данных.
При этом из прикладной задачи можно выделить задачу оперативную – жестко привязанную по времени к управляемому процессу (измерение) и задачу фоновую (вычисление результатов измерения) для сокращения времени простоя сервисной задачи (например индикации) для предотвращения нарушения работы отображающего устройства.
Алгоритмической связи между фоновыми и оперативными задачами нет, они связаны между собой информационно, за счет общих ячеек памяти. При этом интервал выполнения оперативной задачи выбирается как можно меньшим
Аппаратные контроллеры ввода-вывода, индикации, передачи данных позволяют задачам работать асинхронно получая доступ к задачам в интервал времени не занятый оперативной задачей.
4. X - 16-битное число без знака, находящееся в ОЗУ с начальным адресом ADR1, CONST - 16-битная константа. Выполнить вычитание X - CONST и занести результат в ОЗУ с адреса ADR2
Для вычитания используем представление вычитаемого как отрицательное число в дополнительном коде с последующим сложением с первым операндом
; Вычитание из 2-Х байтного числа 2-байтной константы
; ADR 1 – Начальный адрес числа Х
; ADR 2 – Адрес Для выгрузки результата
; CONST – Постоянная.
ADR 1 . EQU 100 H . ;выделяем адрес для числа – X
ADR 2 . EQU 102 H . ;Выделяем адрес для сохранения - Z
ADRCONST . EQU 104 H . ;Выделяем адрес для константы
CLR C ;Сброс флага
SUBXC:
MOV R0,# ADR 1 ; Загрузка в R 0 Начального адреса X
MOV R1,# ADRCONST ;Загрузка в R 0 Начального адреса константы
MOV R2,# ADR 2 ;Загрузка в R 2 Начального адреса результата
MOV A ,@ R 1 ;Загрузка в аккумулятор младшего байта константы
CPL A ;Преобразование в дополнительный код
INC A