Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / Курс лекций по микропроцессорам 1999.DOC
Скачиваний:
197
Добавлен:
21.02.2014
Размер:
3.02 Mб
Скачать

Структура программы инициализации пкп

Рис.1.27. Структура программы инициализации ПКП.

Первая команда инициализации(КИ1) задает статус контроллера (ведущий ведомый), значение младшего байта адреса. Значение вектора прерываний задается КИ2 (старший байт) и КИ1, в котором сохраняется информация о младшем байте. Адреса векторов прерываний могут быть заданы с интервалом 4 и 8 байт. В младшем байте адреса кодируется также номер входа запроса прерываний (КИ1, биты: В0,В2).

IR1=00000100=8204h

IR7=00011100=821Ch

КИ3 используется в том случае, если контроллеры соединены каскадно. В КИ3 для ведущего контроллера используется унитарное кодирование. Если ведомый контроллер присоединен к соответствующему входу ведущего, то в этом разряде устанавливается '1'. В КИ3 для ведомого контроллера указывается номер входа ведущего, к которому этот контроллер присоединен. Состояние ведущий-ведомый задается потенциалом на вход SP. Для обмена информации между ведущим контроллером и ведомым используются двунаправленные линии CAS1-CAS3. У ведущего контроллера CAS1-CAS3 - входы, у ведомого - выходы. После КИ контроллер настроен на режим вложенных прерываний. Дальнейшее программирование контроллера осуществляется с помощью команд управления (КУ).

Рис.1.28. Формат команд управления ПКП.

КУ1 - задает значение маски прерываний

КУ2 - определяет поведение контроллера по отношению к следующему запросу.

Рис.1.29. Формат слова состояния в режиме опроса ПКП.

ПРИМЕР.

Спроектировать контроллер прерываний на 15 входов.

Адрес ведущего 94h, адрес ведомого 98h, начало подпрограммы прерываний: ведущего 8200h, ведомого 8280h. интервал между векторами 4б. Контроллер должен работать в режиме вложенных прерываний. Распределение приоритетов: IR0, IR1,IR2.0,...,IR2.7,IR3,...,IR7.

По условию вектора:

IR0 8200h

IR1 8204h

IR2.0 8280h

.............

IR2.7 829Ch

IR3 820Ch

Рис.1.31. Каскадное соединение ПКП.

DI Запрет прерывания

MVI A,14h Инициализация ведущего контроллера

OUT 94h

MVI A,82h

ОUT 95h

MVI A,04h

OUT 95h

MVI A,94h Инициализация ведомого контроллера

OUT 98h

MVI A,82h

OUT 98h

MVI A,02h

OUT 99h

LXI SP,addr Запись указателя стека

EI Разрешение прерываний

Подпрограмма обработки прерываний

.

.

.

MVI A,20h Формирование команды EOI

OUT 94h для ведущего контроллера

OUT 98h для ведомого контроллера

RET

Особенности организации 1810вн59а (i8259а).

8259А аналогичен рассмотренному микроконтроллеру (8259) по структуре организации корпуса, принципам программирования. Некоторые отличия связаны с особенностями МП 8086/8088:

  1. В контроллере программируется не вектор прерываний, а номер вектора. При дальнейшей обработке внутри МП номер вектора умножается на 4, определяя вектор прерываний. По адресу вектора располагается информация о сегменте кода CS и регистра команд IP, которые позволяют вычислить адрес подпрограммы обработки прерываний. Зона векторов прерываний 8086 занимает младший 1Кб (с 0 по FFF).

2. Изменяются функции SP, который можно запрограммировать на выход. В связи с этим изменена структура КИ. КУ остались те же.

Особенность:

Возможность работы как в составе INTEL 8080/8085, так и в составе INTEL8086/8088.

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