Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


режим 2 — двунаправленный канал




При подаче сигнала SR РУС устанавливается в состояние, при котором все каналы настраиваются на работу в режиме 0 для ввода информации. Режим работы каналов можно изменять как в начале, так и в процессе выполнения программы, что позволяет обслуживать различные периферийные устройства в определенном порядке одной микросхемой. При изменении режима работы любого канала все входные и выходные регистры каналов и триггеры состояния сбрасываются.

Таким образом настройка внутренней организации ППА, т.е. специализация его для конкретного ПУ производится под воздействием управляющего слова «Режим работы». Любой из перечисленных режимов может быть выбран в ходе выполнения системной программы и остановлен загрузкой управляющего слова по команде OUT. Такая возможность позволяет простыми программными средствами осуществлять реконфигурацию периферии МП.

 

 

Режимы работы портов ввода вывода

Управляющее слово режимов работы

В дополнение к основным режимам работы микросхема обеспечивает возможность программной независимой установки в 1 и сброса в 0 любого из разрядов регистра канала ВС. Формат управляющего слова установки/сброса разрядов регистра канала ВС показан на рисунке ниже.

Если микросхема запрограммирована для работы в режиме 1 или 2, то через выводы ВС0 и В СЗ канала ВС выдаются сигналы, которые могут использоваться как сигналы запросов прерывания для микропроцессора. Запретить или разрешить формирование этих сигналов в микросхеме можно установкой или сбросом соответствующих разрядов в регистре канала ВС. Эта особенность микросхемы позволяет программисту запрещать или разрешать обслуживание любого внешнего устройства ввода/вывода без анализа запроса прерывания в схеме прерывания системы.

Основные особенности режимов работы состоят в следующем:

1. В режиме 0 все 4 порта работают независимо и пользователь может выбрать каждый из них в качестве портов ВВ. При этом выводимые данные записываются в регистр-защелку, а вводимые – нет.

2. В режиме 1 три разряда порта С действуют как сигналы состояния и управления для порта А, и три – аналогично для В. Это по существу режим работы с «рукопожатием» (квитированием). Если порт данных (В или А) является портом ввода, то сигналы состояния и управления определяются так, как показано далее.

STB (строб) – 0 с периферийного устройства означает, что оно загружает данные в регистр-защелку.

IBF (входной буфер заполнен) – 1 указывает, что данные были загружены в регистр-защелку ввода, но процессор еще не прочитал их.

INTR (запрос прерывания) -1 указывает, что данные были загружены в регистр-защелку ввода, но еще не прочитаны процессором, и что прерывание для порта разрешено. Этот сигнал может быть использован дляпрерывания работы процессора.

Режим 1. Осуществление ввода информации

Управляющее слово порта С при вводе в режиме 1

Рассмотрим реализацию процедуры асинхронного обмена между МП и ПУ с помощью БИС КР580ВВ55, работающего в режиме 1. Предположим, что обмен данными осуществляется через канал А. Для ввода информации порт должен работать в режиме 1 (ввод).

Внешнее устройство, будучи готово ко вводу информации в МП, формирует сигнал STBA# (стробирование), по срезу которого осуществляется запись слова данных в порт А. При этом БИС КР580ВВ55 формирует сигнал IBFA (подтверждение приема). При высоком уровне сигнала IBFA внешнему устройству запрещается формировать сигнал STBA# и записывать в порт новое слово данных. По фронту сигнала STBA#, если сигнал IBFA равен 1 и установлен в 1 внутренний триггер INTEA, формируется сигнал запроса на прерывание INTRA (готовность), посылаемый на МП. Получив этот сигнал МП переходит на соответствующую программу обслуживания прерывания, в процессе которой осуществляет считывание слова данных из порта А. Во время считывания на БИС КР580ВВ55 подается сигнал RD#, по срезу которого слово данных передается из порта А на ШД МП. По фронту сигнала RD# сбрасывается сигнал IBFA, что свидетельствует об окончании ввода данных в МП и разрешает внешнему устройству формировать новый сигнал STBA#. Отметим, что установка (сброс) триггеров INTEA и INTEB в режиме 1 (ввод) осуществляется командой установки/сброса разрядов С4 и С2.

Режим 1. Осуществление вывода информации

ACK# (подтверждение) – 0 (с периферийного устройства) указывает, что были получены самые последние выводившиеся данные и устройство готово для получения следующих. Т.о., ACK служит в качестве сигнала готовности ПУ.

OBF# (буфер вывода заполнен) – 0 указывает, что процессор записал данные в порт, но ПУ еще не получил их.

INTR (запрос прерывания) – 1 указывает, что ПУ получило самые последние данные и готово для получения следующих. Кроме того, разрешено прерывание для порта. Этот сигнал может быть использован для прерывания работы процессора.

В режиме 1 (вывод) осуществляется запись слова данных из МП в регистры А или В. Во время записи слова, например в порт А МП подает на БИС КР580ВВ55 сигнал WR#, по срезу которого снимается сигнал запроса на прерывание INTRA. По фронту сигнала WR# БИС подает на внешнее устройство сигнал готовности порта к обмену OBFA#, подтверждая, что данные для выдачи записаны в порте А. После получения этого сигнала внешнее устройство принимает данные из порта А и формирует сигнал ACKA#, снимается сигнал OBFA#. Если прерывания от внешнего устройства разрешены, т.е. предварительно программным способом установлен INTEA(C6), то после приема информации внешним устройством (по фронту сигнала ACKA#) БИС формирует для МП сигнал запроса на прерывание OBFA#, МП выполняет соответствующую подпрограмму обслуживания. Программная установка и сброс INTEA и INTEB осуществляется командой установки/сброса разрядов С6 и С2.

Используя режим 1 работы каналов можно реализовать простой программно-управляемый обмен между МП и внешними устройствами. Для организации этой процедуры порт С должен служить регистром состояния внешнего устройства, порты А и В – для передачи данных. Опрос и модификация содержимого порта С может осуществляться с помощью соответствующих команд МП и аппаратным способом со стороны внешнего устройства.

 

 


Задание 1

Перевести все порты в режим 0. Назначить порт А портом ввода, порт В – портом вывода, разряды 0-3 порта С – для ввода, разряды 4-7 порта С – для вывода.

MVI A, 10010001b; P7 – присвоить режимы и направления

OUT RUS; P6-0, P5-0 – перевести порт А в режим 0

; Р4-1 – назначить РА для ввода

; Р3-0 С4-7 для вывода

; Р2-0 перевести РВ в режим 0

; Р1-0 назначить РВ портом вывода

; Р0-1 назначить РС0-3 для вывода

 

Задание 2

Перевести порт А в режим 1 (режим работы с рукопожатием), а порт В – в режим 0. Назначить порт А портом вывода, порт В – портом ввода, разряды 0-3 порта С назначить для ввода, а разряды 4-7 порта С для вывода.

MVI A, 10100011b

OUT RUS

В данном случае, когда Р6=0 и Р5=1 порт А работает в режиме 1. Р4=0 назначает порт А портом вывода, а Р1=1 назначает порт В портом ввода. Направление для порта С принимаются только по значению разрядов 0-2 и разрядов 4-5, т.к. разряды 3, 6 и 7 используются для сигналов сигналов «рукопожатия» порта А.

 

Задание 3

Перевести порты А и В в режим работы 1 (работа с «рукопожатием»), назначить порт А портом ввода, порт В – портом вывода, а разряды 6 и 7 порта С назначить для вывода.

MVI A, 10110100b

OUT RUS

Здесь разряд 4=1 назначает порт А портом ввода; разряд 2=1 переводит порт в режим 1; разряд 1=1 назначает порт В портом ввода. Направление передачи для порта С применяют только для разрядов 6 и 7, т.к. все разряды с 0 по 5 используются для сигналов квитирования.

Задание 4

Ожидать сигнал IBF для порта А и затем прочитать данные из порта А. Записать их в ячейку памяти INDAT. Предполагается, что порт А является портом ввода в режиме 1.

WAITR: IN PORTC; входные данные доступны?

ANI 00100000b;

JZ WAITR; нет, ждать

IN PORTA; да, прочитать данные

STA INDAT; сохранить данные в память

Если порт А является портом ввода в режиме работы 1, то сигнал IBF порта А находится в разряде 5 порта С.

 

Задание 5

Ожидать сигнала «подтверждение» для порта В, а затем послать данные из ячейки памяти OUTDAT в порт В. Предполагается, что порт В я вляется портом ввода в режиме 1.

WAITR: IN PORTC; ПУ готово?

ANI 00000100b;

JNZ WAITR; нет, ждать

LDA OUTDAT; да, взять данные из памяти

OUT PORTB; послать данные в порт вывода

Если порт В является портом вывода в режиме работы 1, то сигнал «подтверждение» ACK# для порта В (периферийное устройство готово) находится в разряде 2 порта С.

 

Задание 6

Установить разряд 5 порта С в 1 без изменения остальных разрядов.

MVI A, 00001011b

OUT RUS

Здесь разряд 7 равный 0, служит для выполнения операции установки или сброса разряда, разряды 3, 2, 1 равный 1012 служат для выбора разряда 5 порта С, а разряд 0=1 – для установки разряда.

 

Задание 7

Очистить разряд 0 порта С без изменения остальных разрядов

SUB A; очистить разряд 0 порта С

OUT RUS

Здесь разряды 3, 2, 1 равный 0002 служат для выбора разряда 0 порта С, а разряд 0=1 – очистки разряда

 





Поделиться с друзьями:


Дата добавления: 2016-09-06; Мы поможем в написании ваших работ!; просмотров: 466 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Бутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Неизвестно
==> читать все изречения...

2474 - | 2397 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.