Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП КурсРасч9-1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.98 Mб
Скачать

6.1.Варианты шаблонов формирования временного паттерна

Подобные шаблоны относятся к программным модулям типа F-patt и предполагают исследование модулей формирования временного паттерна при различных аппаратных решениях построения таймеров временного паттерна. Модули включают инициализацию необходимых устройств и переменных, требуемую структуру данных и подпрограмму обработки запросов прерывания (ППОП) временного паттерна.

Формирование временного паттерна на синхронных счетчиках типа 555ИЕ10. Этот вариант анализируется в лабораторном цикле дисциплины «Цифровые устройства и микропроцессоры» и подробно описан в лабораторном практикуме [6]. Здесь следует лишь напомнить, что все файлы этого варианта имеют единое имя (PAT4) и загрузка шаблона производится через меню файлового менеджера путем последовательного выбора разделов: «ЦМПУ 2000  Меню шаблонов курсового расчета  Вариант "Формирования временного паттерна" Таймер 555ИЕ10 (pat4»).

Использование таймера 8253/54 для построения таймера временного паттерна. (pat3). Шаблон программы ориентирован на использование таймера 8253, который эмулирован портами I/O. Таймер работает в режиме mode 2, использует 16 разрядный формат, канала 0. Загрузка модуля счета следующего временного интервала в таймер может производиться во время реализации текущего модуля счета с перегрузкой счетчика новым значением в момент переполнения (переход 0 1).

Старт производится аппаратно по перепаду 01 на пине GATE. Прибор 8253 расположен по адресу 80h (используется 4 байта) в карте пространства ввода-вывода. Управление полярностью дельта-импульсов выполняется через 2 линии port B прибора 8355, но для наглядности используются все 8 линий для вывода символов P (знак +) и M (знак ).

Перед рассмотрением функционирования шаблона необходимо остановиться на структуре данных использованной в программе.

Для задания номера дополнительной частоты в шаблоне используется переменная FRE_ALT, значение которой по умолчанию равно 0, но может быть перед запуском программы на исполнение изменено от 1 до 7. Значение этой переменной используется для выбора одной из восьми таблиц задания временного паттерна (адрес выбранной таблицы хранится в переменной POINT0). Структура таблиц временного паттерна для всех возможных значений дополнительных частот (J) представлена ниже.

DEFSEG tabl_patt,CLASS=code

SEG TABL_PATT

TABL0: tabl 0 ; таблица паттерна для j=0

TABL1: tabl 1 ; таблица паттерна для j=1

TABL2: tabl 2 ; таблица паттерна для j=2

TABL7: tabl 7 ; таблица паттерна для j=7

TABL_TABL:

DW TABL0 ; адрес расположения таблицы паттерна для j=0

DW TABL1 ; адрес расположения таблицы паттерна для j=1

DW TABL2 ; адрес расположения таблицы паттерна для j=2

DW TABL7 ; адрес расположения таблицы паттерна для j=7

Замечание. В данной структуре использован макрос генерации таблицы с заданной дополнительной частотой (с именем tabl j), описанный в 3.10.

Схема алгоритма модуля поддержки временного паттерна приведена на рис. 6.9 (а – главная программа, б – ППОП).

Главная программа производит инициализацию (1), вычисление по значению FRE_ALT адреса рабочей таблицы (блок 2), сохранение этого адреса в переменной POINT0, загрузку начального адреса рабочей таблицы временного паттерна в указатель чтения (POINT), а также снятие масок с входа запроса прерывания таймера и разрешение прерывания. Программную поддержку таймера временного паттерна выполняет ППОП.

Модуль ППОП сохраняет все используемые в ППОП регистры в стеке (блок 1), загружает из памяти указатель чтения POINT и производит чтение текущего байта (блок 2). Если текущий байт соответствует концевому коду таблицы временного паттерна (блок 3, концевой код  0FFh), то указатель необходимо перегрузить на начало таблицы (блок 9) и повторить блок 2. В противном случае  выполнить загрузку регистра знака прибора 8355 (блок 4) и продолжить чтение кодов модуля и загрузку таймера (блоки 5 и 6), затем восстановить регистры из стека, разрешить прерывание и вернуть управление главной программе. Для запуска исполняемого модуля используются загрузочные файлы PAT31.ZGR, PAT32.ZGR или PAT33.ZGR. Подробности построения загрузочных файлов можно найти в файле README3P.ZGR, а описания программы – в файле PAT3.INC. Загрузочные файлы демонстрируют различные варианты кодов содержимого знака и модуля записываемого в таймер временного паттерна. Эти файлы можно открыть и проанализировать. Для запуска исполняемого модуля используются загрузочные файлы PAT31.ZGR, PAT32.ZGR или PAT33.ZGR. Подробности построения загру

а

б

Рис. 6.45. Схема алгоритма основной программы и ППОП модуля поддержки ТВП

зочных файлов можно найти в файле README3P.ZGR, а описания программы  в файле PAT3.INC.