Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SCORPIO / DIPLOM / ECONOM / DIPLOM! / DIPLOM2.DOC
Скачиваний:
34
Добавлен:
16.04.2013
Размер:
766.98 Кб
Скачать

2.6.1.2. Подпрограмма обработки прерывания trap

П/п отрабатывает с частотой 20 мс (50 Гц). Внутренний диспетчер прерываний следит за тем, чтобы отрабатывалось только 50-ое прерывание (величина DISKW). П/п выполняет следующие операции:

  • считывает содержимое счетчиков A, B, С таймера (длины импульсов напряжения, тока, первой ступени), после чего перепрограммирует таймер;

  • заполняет видеобуфер контроллера переменными, которые надо передать через RS-232C;

  • выводит 16 разрядное слово управления конденсаторами в буферные регистры КР589ИР12.

2.6.1.3. Подпрограмма обработки прерывания rst 7.5

П/п отрабатывает с частотой 1 с (1 Гц). П/п содержит внутренний диспетчер прерываний и две подпрограммы WRITE и CONTROL.

П/п WRITE выполняется при каждом прерывании RST 7.5 и производит перезапись считанных со счетчиков A,B,C значений в соответствующие скользящие массивы, длинной 128 слов каждый.

П/п CONTROL выполняется с частотой DISKU, задаваемой микропереключателями на плате, и реализует алгоритм управления компенсацией. П/п выполняет следующие операции:

  • вычисление средних значений A,B,C (напряжение, ток и первая ступень) на интервале управления;

  • распознание особых ситуаций, как то: напряжение в сети больше предельного 380В+10% и ток в сети меньше установленного;

  • вычисление угла ФИ между током и напряжением;

  • вычисление рассогласования между текущим значением ФИ и заданным;

  • управление конденсаторной батареей путем определения 16 разрядного слова управления конденсаторами;

  • индикация управления на светодиодах контроллера.

2.6.1.4. Комплекс подпрограмм типа bios

BIOS контроллера включает часто используемые в ПО подпрограммы:

Y88B умножение целых двоичных чисел без знака формата8*8=16;

Y24A умножение целых двоичных чисел без знака формата16*8=24;

Y32A умножение целых двоичных чисел без знака формата16*16=32;

DOPB преобразование кода числа в регистровой паре ВС в доп. код;

DOPD преобразование кода числа в регистровой паре DE в доп. код;

DOPH преобразование кода числа в регистровой паре HL в доп. код;

D32A деление целых двоичных чисел без знака формата 32:16=(16,16);

SLOW пересылка слова MEM(DE)<-- MEM(HL);

USTB не используется;

DEBI преобразование двоично-десятичного числа в двоичное;

RSB вывод байта через интерфейс RS-232C;

MASS перепись массива по новому адресу;

SRED вычисление среднего значения массива слов;

D16 деление целых двоичных чисел без знака формата16:8=(8,8);

FUNC вычисление табличной функции;

GRAN введение аргумента в границы;

COD перекодировка кода для вывода на индикаторы.

2.6.2. Распределение адресного пространства

Программное обеспечение контроллера (ПО) физически расположено в микросхеме типа К573РФ4 объемом 8 Кбайт. При работе используется ОЗУ К537РУ10 2 Кбайта.

Таблица 2.6.2.1.

Распределение адресного пространства ПЗУ (8 Кбайт)

0000H

область векторов прерываний

JMP п/п BIOS

область констант

BIOS

BEGIN

п

инициализация программируемых БИС,

р

считывание состояния микропереключателей

о

BASE

г

цикл основной программы,

р

прерываемый запросами TRAP и RST 7.5

а

TRAP

м

подпрограмма обработки прерывания TRAP

м

RST75

а

подпрограмма обработки прерывания RST 7.5

1FFFH

Таблица 2.6.2.2.

ОЗУ (2 Кбайта)

7800H

BUFBIOS

буфер BIOS

20 байт

VIDEO

Видеобуфер

10 слов

BUFER

буфер импульсов A,B,C

3 слова

-----

Средние значения A,B,C

3 слова

APUS

массив значений A

128 слов

BPUS

массив значений B

128 слов

CPUS

массив значений C

128 слов

-----

Рабочие переменные

------

-----

Стек

------

7FFFH

Соседние файлы в папке DIPLOM!