Исследование контроллера клавиатуры-дисплея КР580ВВ79. Организация связи с оператором в обслуживаемых МК – системах, страница 5

Формат команды установки режимов работы БИС приведен на рис. 13. Значения битов команды указаны в табл. 4,  5.

 


Рис. 13. Формат команды установки режима:

DD – биты, определяющие режим работы дисплея;

ККК – биты, определяющие режим ввода данных

Таблица 4

Значение битов DD

D

D

Примечания

0

0

Восьмиразрядный дисплей; 8 знакомест

Левый ввод

1

0

Правый ввод

0

1

Восьмиразрядный дисплей; 16 знакомест (четырехразрядный дисплей; 32 знакоместа)

Левый ввод

1

1

Правый ввод

Таблица 5

Значение битов ККК

К

К

К

Примечания

0

0

0

Режим ввода с клавиатуры

Две клавиши блокируются

Кодирование линий SL0-SL3

0

0

1

Декодирование линий SL0-SL3

0

1

0

Нет блокиро-вания клавиш

Кодирование линий SL0-SL3

0

1

1

Декодирование линий SL0-SL3

1

0

0

Опрос восьми восьмиразрядных портов

Кодирование линий SL0-SL3

1

0

1

Декодирование линий SL0-SL3

1

1

0

Режим стробированного ввода

Кодирование линий SL0-SL3

1

1

1

Декодирование линий SL0-SL3

При задании режима работы дисплея указывается способ отображения данных, вводимых в ОЗУ дисплея:

правый ввод: вновь введенный символ занимает крайнюю правую позицию дисплея, ранее введенные символы сдвигаются влево на одну позицию, данный способ аналогичен вводу данных в современных калькуляторах;

левый ввод: первый  введенный символ занимает крайнюю левую позицию дисплея, вновь вводимый символ занимает следующую крайнюю левую свободную позицию дисплея; данный способ аналогичен вводу данных на алфавитно-цифровых дисплеях.

Возможно задание одного из трех режимов ввода информации:

-  ввод данных с клавиатуры;

-  опрос восьми портов ввода с фиксацией вводимых данных в ОЗУ ввода;

-  стробированный ввод.

В режиме ввода данных с клавиатуры матрицы клавиш сканируются линиями SL0-SL3. При обнаружении нажатой клавиши формируется сигнал запроса прерывания для процессора, и код нажатой клавиши вводится в первую строку FIFO.

Если до очередного нажатия клавиш предыдущая информация из FIFO не считана микропроцессором, в первую строку FIFO вводится код нажатой клавиши со сдвигом ранее введенной информации на одну строку. Состояние FIFO может быть определено при выполнении операции чтения регистра слова состояния (рис. 14).

Выноска 3 (без границы): Флаг  установки режима опроса портов. Флаг ошибки режима клавиатуры,Выноска 3 (без границы): Флаг «FIFO заполнен»,Выноска 3 (без границы): Флаг ошибки «Чтение из пустого FIFO»
 


Рис. 14.  Формат слова состояния

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

При заполнении FIFO (все восемь байтов введены) устанавливается флаг F, при записи данных в полный FIFO – флаг O. Если микропроцессор читает FIFO, не содержащий информации, устанавливается флаг U. Флаг DU сигнализирует об ошибке при выводе данных на дисплей, флаг S – об установке режима опроса портов. Назначение флага Е показано ниже.

Возможны следующие варианты ввода данных с клавиатуры (клавиатура подключена аналогично схеме рис. 6; в случае использования только одной матрицы клавиш линии CTRL и SHIFT могут не использоваться).

-  ввод данных с запрещением (блокированием) нажатия двух клавиш;

-  ввод данных с разрешением одновременного нажатия нескольких клавиш.