Программируемый контроллер клавиатуры / дисплея 8279 разработан компанией Intel, которая связывает клавиатуру с процессором. Сначала клавиатура сканирует клавиатуру и определяет, была ли нажата какая-либо клавиша. Затем он отправляет их относительный ответ нажатой клавиши в ЦП и наоборот.
Сколько способов клавиатура связана с процессором?
Клавиатура может быть подключена как в режиме прерывания, так и в режиме опроса. В режиме прерывания процессор запрашивает обслуживание, только если нажата какая-либо клавиша, в противном случае ЦП продолжит выполнение своей основной задачи.
В режиме опроса ЦПУ периодически считывает внутренний флаг 8279, чтобы проверить, нажата ли какая-либо клавиша или нет при нажатии клавиши.
Как работает клавиатура 8279?
Клавиатура состоит максимум из 64 клавиш, которые взаимодействуют с процессором с помощью кодов клавиш. Эти коды клавиш сбрасываются и сохраняются в 8-байтовом FIFORAM, к которому может обращаться ЦП. Если в FIFO введено более 8 символов, это означает, что одновременно нажимается более восьми клавиш. Это когда статус переполнения установлен.
Если FIFO содержит действительную ключевую запись, то ЦПУ прерывается в режиме прерывания, иначе ЦП проверяет состояние при опросе, чтобы прочитать запись. Как только процессор считывает запись ключа, FIFO обновляется, и запись ключа выталкивается из FIFO, чтобы создать пространство для новых записей.
Архитектура и описание
Контроль ввода / вывода и буфер данных
Этот блок контролирует поток данных через микропроцессор. Он включается только когда D низкий. Его буфер данных связывает внешнюю шину системы с внутренней шиной микропроцессора. Контакты A0, RD и WR используются для команд, состояний или операций чтения / записи данных.
Регистр контроля и синхронизации и контроль синхронизации
Это устройство содержит регистры для хранения клавиатуры, режимов отображения и других операций, запрограммированных ЦПУ. Блок синхронизации и управления управляет временем работы схемы.
Счетчик сканирования
Он имеет два режима: режим кодирования и режим декодирования. В кодированном режиме счетчик обеспечивает двоичный счетчик, который должен быть декодирован извне, чтобы обеспечить линии сканирования для клавиатуры и дисплея.
В режиме декодированного сканирования счетчик внутренне декодирует младшие 2 бита и обеспечивает декодированное сканирование 1 из 4 на SL 0 -SL 3 .
Буферы возврата, отладка клавиатуры и контроль
Этот блок сначала сканирует закрытие клавиш по строкам, если он найден, тогда блок отладки клавиатуры отклоняет ввод ключа. В случае, если та же клавиша обнаружена, код этой клавиши напрямую передается в ОЗУ датчика вместе со статусом клавиши SHIFT & CONTROL.
FIFO / датчик ОЗУ и логика состояния
Это устройство действует как 8-байтовая ОЗУ «первым пришел — первым обслужен» (FIFO), где код клавиши каждой нажатой клавиши вводится в ОЗУ в соответствии с их последовательностью. Логика состояния генерирует запрос прерывания после каждой операции чтения FIFO, пока FIFO не станет пустым.
В режиме отсканированной матрицы датчиков этот модуль действует как ОЗУ датчика, где каждый его ряд загружается со статусом соответствующего ряда датчиков в матрицу. Когда датчик меняет свое состояние, линия IRQ меняется на высокий и прерывает процессор.
Показать регистры адресов и показать ОЗУ
Этот блок состоит из регистров адреса дисплея, которые содержат адреса слова, в настоящее время считываемого / записываемого ЦП в / из ОЗУ дисплея.
8279 — Пин Описание
На следующем рисунке показана схема контактов 8279 —
Линии шины данных, DB 0 — DB 7
Это 8 двунаправленных линий шины данных, используемых для передачи данных в / из ЦП.
CLK
Вход синхронизации используется для генерации внутренних таймингов, требуемых микропроцессором.
СБРОС
Как следует из названия, этот вывод используется для сброса микропроцессора.
CS Chip Select
Когда этот вывод установлен на низкий уровень, он разрешает операции чтения / записи, иначе этот вывод должен быть установлен на высокий.
А 0
Этот вывод указывает передачу команды / информации о состоянии. Когда оно низкое, это указывает на передачу данных.
RD, WR
Этот контакт чтения / записи позволяет буферу данных отправлять / получать данные по шине данных.
IRQ
Эта линия вывода прерывания становится высокой, когда в ОЗУ датчика FIFO есть данные. Строка прерывания уменьшается с каждой операцией чтения ОЗУ FIFO. Однако, если ОЗУ FIFO дополнительно содержит какую-либо запись кода ключа, которая должна быть прочитана ЦП, этот вывод снова повышается, чтобы создать прерывание для ЦП.
V ss , V cc
Это линии заземления и питания микропроцессора.
SL 0 — SL 3
Это линии сканирования, используемые для сканирования матрицы клавиатуры и отображения цифр. Эти строки могут быть запрограммированы как закодированные или декодированные с использованием регистра управления режимом.
RL 0 — RL 7
Это линии возврата, которые подключены к одному терминалу ключей, в то время как другой терминал ключей подключен к декодированным линиям сканирования. Эти строки устанавливаются в 0 при нажатии любой клавиши.
СДВИГ
Статус строки ввода Shift сохраняется вместе с каждым кодом клавиши в FIFO в режиме отсканированной клавиатуры. Пока он опущен вниз с помощью ключа, он поднимается изнутри, чтобы держать его высоко
CNTL / STB — режим управления / стробирования I / P
В режиме клавиатуры эта строка используется в качестве управляющего ввода и сохраняется в FIFO при закрытии клавиши. Строка является стробирующей линией, которая вводит данные в FIFO RAM в режиме стробированного ввода. У этого есть внутренняя тяга. Линия снята с ключом закрытия.
BD
Он обозначает пустой дисплей. Он используется для очистки дисплея во время переключения цифр.
OUTA 0 — OUTA 3 и OUTB 0 — OUTB 3
Это выходные порты для двух 16×4 или одного 16×8 внутренних регистров обновления дисплея. Данные из этих строк синхронизируются со строками сканирования для сканирования дисплея и клавиатуры.
Операционные режимы 8279
В 8279 есть два режима работы — режим ввода и режим вывода .
Режим ввода
Этот режим имеет дело с вводом, данным с клавиатуры, и этот режим далее классифицирован на 3 режима.
-
Режим сканированной клавиатуры — в этом режиме матрица клавиш может быть сопряжена с использованием либо кодированного, либо декодированного сканирования. При кодированном сканировании, клавиатуре 8 × 8 или в декодированном сканировании может быть подключена клавиатура 4 × 8. Код клавиши, нажатой с состояниями SHIFT и CONTROL, сохраняется в ОЗУ FIFO.
-
Сканированная матрица датчиков — в этом режиме матрица датчиков может быть сопряжена с процессором с использованием сканирования кодером или декодером. При сканировании кодера может быть сопряжена матрица датчиков 8 × 8 или со сканированием декодера матрица датчиков 4 × 8.
-
Strobed Input — в этом режиме, когда линия управления установлена на 0, данные на обратных линиях сохраняются в байтах FIFO.
Режим сканированной клавиатуры — в этом режиме матрица клавиш может быть сопряжена с использованием либо кодированного, либо декодированного сканирования. При кодированном сканировании, клавиатуре 8 × 8 или в декодированном сканировании может быть подключена клавиатура 4 × 8. Код клавиши, нажатой с состояниями SHIFT и CONTROL, сохраняется в ОЗУ FIFO.
Сканированная матрица датчиков — в этом режиме матрица датчиков может быть сопряжена с процессором с использованием сканирования кодером или декодером. При сканировании кодера может быть сопряжена матрица датчиков 8 × 8 или со сканированием декодера матрица датчиков 4 × 8.
Strobed Input — в этом режиме, когда линия управления установлена на 0, данные на обратных линиях сохраняются в байтах FIFO.
Режим вывода
Этот режим имеет дело с операциями, связанными с отображением. Этот режим далее классифицируется на два режима вывода.
Сканирование дисплея — этот режим позволяет организовать мультиплексные дисплеи 8/16 символов в виде двух 4-битных / одиночных 8-битных блоков отображения.
Отображение ввода — этот режим позволяет вводить данные для отображения с правой или левой стороны.