Команды микропроцессорной техники

Используемые порты


Реализуемый обмен данными

Режим 0

А,В,С,

синхронный обмен данными



Режим 1

А,В

ввод/вывод с квитированием

Режим 2

А

двунаправленный ввод/вывод с квитированием.

Если порты А и В запрограммированы в режим 1, то порт С используется для формирования служебных сигналов (см. рис. ниже), а также используется в качестве порта состояний.

Форматы управляющих слов для ППА.

ППА управляется двумя управляющими словами.

Формат управляющего слова, задающего режимы работы портов ППА (первое управляющее слово).

DD7

DD6

DD5

DD4

DD3

DD2

DD1

DD0

D7 –1 –всегда в управляющем слове задание режима.

D6, D5 - задают режим порта А

0          0- режим 0

0          1 - режим 1

1          Х - режим 2

D4 - направление обмена порта А

0 - вывод

1- ввод

D3 - направление обмена старшего полубайта порта С

0- вывод

1 - ввод

D2 - режим работы порта В

0 - режим 0

1- режим 1

D1 направление обмена порта В

0 - вывод

1- ввод

D0 - направление обмена младшего полубайта порта С.

0- вывод

1 - ввод

Пример. Допустим, что надо запрограммировать порт А на ввод в режиме 0, порт В на вывод в режиме 0, РС4…РС7 – на вывод в режиме 0, РС0…РС3 – на ввод в режиме 0.

D7 D6 D5 D4 D3 D2 D1 D0

1    0    0    1    0    0    0    1

91h

Программирование  ВВ55

MVI    A, 91h; управляющее слово >аккумулятор

OUT    portRUS; управляющее слово из аккумулятора > регистр управляющего слова

Формат управляющего слова установки-сброса разрядов порта С (второе управляющее слово)

Осуществляет установку и сброс разрядов порта С. Можно побитно управлять разрядами порта С.


Пример: установить второй разряд порта С в единицу.

D7 D6 D5 D4 D3 D2 D1 D0

 0    х    х    х ½ 0   1    0    1

05h

 

Временные диаграммы 0-го и 1-го режима.

Ввод в режиме 0.

Вывод в режиме 0

Из временной диаграммы ввода в режиме 0 видно, что в этом режиме порт не фиксирует вводимую информацию (т.е. выполняет только функцию вентиля). Следовательно, вводимое слово должно присутствовать на входе порта во время действия активного сигнала ЧтВВ.

При выводе информация фиксируется на выходных линиях порта до ее замены в следующем цикле вывода (т.е. порт выполняет функции простого буферного регистра).


Режим 1 (ввод или вывод с квитированием) обеспечивает возможность организации однонаправленной асинхронной передачи информации между МП-системой и периферийным устройством. Временная диаграмма ввода в режиме 1 для портов А и В приведены на рисунке ниже, где используются следующие обозначения сигналов:

С -                              Строб приема;

ВхБП              Входной буфер полон;

ЗПр                 Запрос прерывания;

При вводе данных в режиме 1 сигнал «Строб» выполняет функции сигнала «Данные достоверны», а сигнал «Входной буфер полон» выполняет функции сигнала «Запрос данных».





Формирование служебных сигналов с помощью старшего и младшего полубайтов порта С приведено на рисунке ниже.



Если РгРС4 сбросить в 0, то будут замаскированы аппаратные сигналы запроса прерывания порта А ( ЗПрА)

РгРС4 - запрещает / разрешает прерывания от порта А при вводе.

РгРС6 - запрещает / разрешает прерывания от порта А при выводе.

Ниже приведен формат слова состояния ППА (читается по адресу порта С) для случая ввода данных в режиме 1 через порты А и В.

D7

D6

D5

D4

D3

D2

D1

D0

D7,D6 - резервные разряды, которые могут быть использованы для ввода / вывода информации

D5 -    Входной буфер порта А полон

D4 -    РгРС4

D3 -    Запрос прерывания от порта А

D2 -    РгРС2

D1 -    Входной буфер порта В полон

D0 -    Запрос прерывания от порта В.

1.3.6.      Интерфейс клавиатуры и индикации

Интерфейс клавиатуры и индикации рассмотрим на примере клавишного пульта ввода, содержащего для конкретности матрицу из 4х4 ключей и цифровой индикатор. В качестве интерфейсной схемы используется программируемый параллельный адаптер (ППА) КР580ВВ55.

Ключи в матрице располагаются так, как показано на рисунке ниже

На рисунке ниже приведена схема

Рассмотрим, как МП-система определяет, какая клавиша нажата, на примере клавиатуры 4х4.



Согласно приведенному выше рисунку, порты ППА надо запрограммировать следующим образом:



Порт С

младший полубайт - на вывод

старший полубайт - на ввод

Порт А

Порт В

В режиме 0




Из приведенного выше рисунка видно, что один вывод каждой клавиши соединен с одной из входных линий R0, R1, R2, R3, а другой – с одной из выходных линий S0, S1, S2, S3. Если на все выходные линии S0, S1, S2, S3 подавать высокий уровень 1, на всех входных линиях R0, R1, R2, R3 всегда будет уровень 1, вне зависимости от того есть ли нажатая клавиша или нет (см. табл. ниже).

S0

S1

S2

S3

1

1

1

1

R0

R1

R2

R3

1

1

1

1

Чтобы обнаружить нажатую клавишу, надо руководствоваться следующим правилом. В каждый момент времени только одна из выходных линий S0, S1, S2, S3 (т.е. один из разрядов РС0..РС3 порта С ППА) может иметь уровень 0, а остальные должны иметь уровень 1. В то время как единственная выходная линия имеет уровень 0, входные линии R0, R1, R2, R3 проверяются МП-системой путем ввода разрядов РС4..РС7 порта С. Если при этом есть нажатая клавиша, то соответствующая ей выходная линия будет иметь уровень 0

Пока не нажата ни одна клавиша, везде на выходных линиях R0, R1, R2, R3 сохраняется высокий уровень напряжения.

Пусть в первой строке матрицы появился нулевой уровень напряжения, т.е.

S0

S1

S2

S3

0

1

1

1

Если при этом будет нажата клавиша в первом столбце матрицы, тогда на входы РС4-РС7 порта С ППА будет поступать комбинация сигналов

R0

R1

R2

R3

0

1

1

1

Следовательно, нажатая клавиша дает уровень 0 на соответствующей выходной линии R0 R1 R 2 R3.

номер клавиши

Содержание раздела