Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
io_interfaces.doc
Скачиваний:
22
Добавлен:
30.04.2013
Размер:
1.29 Mб
Скачать

9.4.3. Контроллер клавиатуры/индикатора

Хотя подключения клавиатуры и многоразрядного индикатора к параллельным портам ввода-вывода в схемном отношении просты, при вводе и выводе процессор должен выполнять процедуры сканирования клавиатуры и регенерации индикатора. Микросхема 8279 контроллера клавиатуры/индикатора освобождает процессор от выполнения длительных операций сканирования и регенерации.

Общая структура контроллера 8279 и его интерфейс с шиной представлены на рис. 9.34. Регистры управления и состояния разделяют нечетный адрес, а

буферный регистр данных имеет четный адрес. Адресация регистров осуществляется в соответствии с табл. 9.4.

Таблица 9.4

Адресация регистров контроллера 8279

43

Управляя клавиатурой, контроллер непрерывно сканирует каждую строку клавиатуры посредством выдачи адресов строк на линии SL2 SLO и ввода сигналов с возвратных линий RL7 RLO, представляющих собой адреса столбцов Отметим, что линии SL3 SLO применяются и для сканирования клавиатуры, и для регенерации индикатора, контроллер может обслуживать до 16 индикаторов Когда обнаруживается нажатая клавиша осуществляется подавление дребезга - вводится цикл ожидания и через 10 мс проверяется, осталась ли клавиша нажатой Если клавиша нажата, формируется 8 битное кодовое слово, соответствующее позиции клавиши, в этом слове объединяются закодированные позиции строки и столбца, состояние клавиши переключения регистров и клавиши управления Кодовое слово имеет следующий формат

Входы SHFT и CNTL предназначены для клавиатуры типа клавиатуры пишущей машинки, в которой имеются клавиши управления и переключения регистров Затем позиция клавиши вводится в память датчиков 8 X 8 с организацией F 1ГО и выдается сигнал IRQ (запрос прерывания), если до этого память датчиков была пустой

Регистры управления и синхронизации физически представляют собой набор флажков и регистров, обращения к которым осуществляют приказы, посылаемые по нечет ному адресу Три старших бита приказа определяют его тип, а смысл остальных пяти бит зависит от типа Мы рассмотрим три приказа, хотя всего их восемь (описание остальных типов и подробная информация о контроллере имеется в фирменных материалах) Ин тересуюцие нас три приказа имеют следующие форматы

Установка режимов клавиатуры и индикатора Определяет режимы ввода и индикации, применяется для инициализации контроллера Формат приказа

44

Считывание памяти датчиков (FIFO) Определяет, что считывание из буферного регистра данных будет вводить байт из памяти FIFO, и, если контроллер находится в режиме датчиков, показывает, какая строка считывается Этот приказ необходимо подать до ввода данных из памяти FIFO Формат приказа

Отметим, что, если режим ввода является режимом сканирования клавиатуры, считывание всегда производится из байта, который был помещен в FIFO первым, следовательно, биты I и ААА игнорируются

Запись в память индикатора. Показывает, что запись в буферный регистр данных будет помещать данные в память индикатора. Этот приказ необходимо выдать до того, как процессор будет выводить в контроллер индицируемые символы Формат приказа

Контроллер 8279 предлагает два варианта обработки ситуации, когда примерно в одно и тоже время нажимаются несколько клавиш. Вариант 2 клавишной блокировки: если вторая клавиша нажимается в то же время, когда подавляется дребезг первой, в FIFO будет помещено кодовое слово клавиши, которая освобождается последней.

Соседние файлы в предмете Вычислительные машины, системы и сети