YourLib.net
Твоя библиотека
Главная arrow Информатика (Под общ. ред. А.Н. Данчула) arrow 2.5.2. Клавиатура
2.5.2. Клавиатура

2.5.2. Клавиатура

   Клавиатура является сложным устройством, и в ней выполняется большое количество операций. Сейчас наиболее распространена топология клавиатур типа QWERTY (в соответствии с буквенными клавишами в левой части клавиатуры). Данные, вводимые с клавиатуры, впоследствии подвергаются нескольким преобразованиям.
   На рис. 2.24 показано взаимодействие клавиатуры с ПК посредством встроенных программ ROM-BIOS. При нажатии клавиши «А» клавиатура запоминает информацию о нажатой клавише (каждая клавиша снабжена идентифицирующим ее номером — однобайтовым числом, младшие 7 бит которого называются скэн-кодом; происходит фиксация именно этого скэн-кода). Когда скэн-код поступает в контроллер клавиатуры, то инициируется соответствующее аппаратное прерывание, МП прекращает свою работу и выполняет процедуру анализа скэн-кода. Это прерывание обслуживается специальной программой, входящей в состав ROM-BIOS. При поступлении скэн-кода от клавиш смены регистра <Alt>, <Ctrl>, <Shift> и клавиш коммутации <Num Lock>, <Caps Lock>, <Scroll Lock>, <Ins> изменение статуса записывается в RAM (для правильной интерпретации каждой клавиши). В новых ПК имеется еще один байт для запоминания состояния правых Alt и Ctrl. Во всех остальных случаях скэн-код транслируется в код символа. При этом вначале определяется установка клавиш и переключателей для правильной интерпретации кодов, а затем определяется вводимый символ (например, «а» или «А»). Далее введенный код помещается в буфер клавиатуры (область памяти, которая может запоминать до 15 последовательно введенных символов). Буфер организован по принципу FIFO (первый вошел — первый ушел) и служит временным хранилищем для необработанных символов.

Рис. 2.24. Схема принципа действия клавиатуры 

Рис. 2.24. Схема принципа действия клавиатуры

   Контроллер не только отвечает за генерирование скэн-кодов, но и необходим для выполнения функций самоконтроля и проверки нажатых клавиш в процессе загрузки системы. Отметим, что клавиатура фиксирует как факт нажатия клавиши, так и факт ее отпускания. Каждое зафиксированное действие превращается в соответствующее прерывание и по команде передается в ROM-BIOS. Этим действиям назначены различные скэн- коды. Кроме того, клавиатура распознает, удерживается ли клавиша нажатой или отпускается, и т. д. ROM-BIOS следит за текущим состоянием клавиш, сменой регистра и коммутирующих клавиш посредством установления бит двухбайтного слова, находящегося в нижней памяти.
   Общая блок-схема работы клавиатуры приводится на рис. 2.25.
   Клавиатуры различаются конструкцией и исполнением (клавиатуры с пластмассовыми штырьками, клавиатуры со щелчком, клавиатуры с микропереключателями и герконами, сенсорные клавиатуры). Существуют многофункциональные клавиатуры. Имеются также клавиатуры оптимальные с точки зрения эргономики, клавиатуры для слепых и т. д.
   Чтобы воспроизводить обычные ASCII-коды и символы ПК, ROM-BIOS регистрирует каждый символ в виде пары байтов. Младший байт слова содержит ASCII-символ, старший — скэн-код.
   Отметим наиболее интересные клавиши и их комбинации:
   <PrintScreen> — копирование содержимого экрана на подключенный принтер (при использовании лазерного принтера

Рис. 2.25. Общая блок-схема, иллюстрирующая работу клавиатуры 

Рис. 2.25. Общая блок-схема, иллюстрирующая работу клавиатуры

предварительно должна быть установлена опция Manual Feed). В приложениях Windows при помощи этой клавиши весь экран копируется в специальный буфер обмена (ClipBoard). После копирования в любой графической программе Windows посредством пункта меню EDIT/PAST или комбинацией клавиш <Ctrl> + <V> можно копию вновь вывести на экран. Если использовать комбинацию <Alt> + <Print Screen>, то в ClipBoard копируется только активное диалоговое окно или окно приложения (это хорошее средство вставки рисунков и фрагментов экрана в другой документ);
   <Esc> — почти всегда означает выход из текущего меню или даже конец выполнения программы;
   <Pause> — при нажатии этой клавиши приостанавливается работа системы. При нажатии после этого любой клавиши происходит возобновление работы системы (применяется при необходимости остановки движущегося экрана, для остановки процесса загрузки системы с целью просмотра экрана);
   <Shift> — переводит клавиатуру в режим ввода прописных букв;
   <CapsLock> — переключатель постоянного ввода прописных букв;
   <Ctrl> + <Alt> + <Del> — перезагрузка ПК и т. д.

 
< Пред.   След. >