25
Лабораторная работа №2. Обработка событий клавиатуры
2.1 Цель работы
Данная лабораторная работа посвящена обработке данных поступающих
с
клавиатуры.
Работа
выполняется
с
использованием
системы
программирования Free Pascal.
2.2 Теоретическая часть
2.2.1 Клавиатура
Клавиатура - это одно из основных устройств ввода информации в ЭВМ,
позволяющее вводить различные виды информации. Вид вводимой информации
определяется программой, интерпретирующей нажатые или отпущенные
клавиши. С помощью клавиатуры можно вводить любые символы - от букв и
цифр до иероглифов и знаков музыкальной нотации. Клавиатура позволяет
управлять курсором на экране дисплея -устанавливать его в нужную точку
экрана, перемещать по экрану “прокручивать”
экран в режиме скроллинга,
отправлять содержимое экрана на принтер, производить выбор при наличии
альтернативных вариантов и т.д.
В последнее время наблюдаются тенденции отказа от клавиатуры в пользу
альтернативных устройств: мыши, речевого ввода, сканеров. Но полностью эти
устройства клавиатуру не заменяют.
Стандартная клавиатура IBM PC имеет несколько групп клавиш:
Алфавитно-цифровые и знаковые клавиши (с латинскими и русскими
буквами, цифрами, знаками пунктуации, математическими знаками).
Специальные клавиши:
, , , .
Функциональные клавиши: ....
Служебные клавиши для управления перемещением курсора (стрелки:
, , , , клавиши , ,
,
и
клавиша, обозначенная значком “[ ]” - в центре дополнительной цифровой
клавиатуры).
Служебные клавиши для управления редактированием .
Служебные клавиши для смены регистров и модификации кодов других
клавиш , , .
Служебные клавиши для фиксации регистров , ,
.
Разные вспомогательные клавиши
, , , .
Если клавиша первой, четвертой, а иногда и пятой группы оказывается
нажатой дольше, чем 0,5 с, начинает генерироваться последовательность ее
основных кодов с частотой 10 раз в секунду (в IBM PC XT), что имитирует
серию очень быстрых нажатий этой клавиши. Общее число клавиш в основной
модификации клавиатуры - 83, в расширенной клавиатуре – до 101. Количество
различных сигналов от клавиатуры значительно превышает это число, так как:
1) при нажатии и освобождении клавиши в ЭВМ передаются разные
26
кодовые комбинации: при нажатии - порядковый
номер нажатой клавиши на
клавиатуре (ее скан-код), а при освобождении - скан-код, увеличенный на 80h;
2) заглавные и строчные буквы первой группы клавиш (алфавитно-
цифровых и знаковых) набираются на разных регистрах. Оперативное
переключение регистров производится клавишей
. Если при нажатой (и
удерживаемой в нажатом состоянии) клавише “клюнуть” (от
английского слова “dick”) любую алфавитную клавишу, то в ЭВМ будет
отправлен код заглавной буквы, соответствующий нажатой клавише;
3) после однократного нажатия клавиши (зажигается
лампочка на клавиатуре рядом с клавишей) изменяется порядок работы
клавиши : без нажатия на нее будут набираться заглавные буквы, а при
нажатии (совместном) - строчные. После повторного нажатия на
порядок работы клавиши восстанавливается, а лампочка гаснет. Такой
режим (переключательный) работы клавиши называется триггерным режимом,
или flip-flop;
4) аналогично клавише действуют и - при
одновременном нажатии с ними любой другой клавиши, в ЭВМ передается не
scancode, а расширенный код (2 байта). Иногда таким же образом используется
клавиша ;
5) клавиша является триггерным переключателем
дополнительной цифровой клавиатуры: при негорящей лампочке она работает
как клавиатура для управления курсором; при зажженной - как цифровая;
6) для переключения регистров (или даже групп регистров) иногда
используются другие комбинации клавиш: например, программы -
русификаторы клавиатуры переключают РУС-ЛАТ с помощью правой клавиши
или при одновременном нажатии двух клавиш (правой и левой)
и т.д. Эти комбинации клавиш обладают триггерным эффектом.
Сигналы, поступающие от клавиатуры, проходят трехуровневую
обработку: на физическом, на логическом и на функциональном уровнях.
Физический уровень имеет дело с сигналами, поступающими в
вычислительн машину при нажатии и отпускании клавиш.
На логическом уровне, реализуемом BIOS через прерывание 9, скан-код
транслируется в специальный 2-байтовый код. Младший байт для клавиш
группы 1 содержит ASCII-код, соответствующий изображенному на клавише
знаку. Этот байт называют главным. Старший байт (вспомогательный) содержит
исходный скан-код нажатой клавиши.
На функциональном уровне отдельным клавишам программным путем
приписываются определенные функции. Такое “программирование” клавиш
осуществляется с помощью драйвера-программы, обслуживающей клавиатуру в
операционной системе.
На IBM PC AT используется клавиатура с большим количеством клавиш.
На этих машинах есть возможность управлять некоторыми функциями
клавиатуры, например, изменять время ожидания автоповтора, частоту
автоповтора, зажигать и гасить светодиоды на панели управления клавиатурой.
Устройство клавиатуры не является простым: в клавиатуре используется
27
свой микропроцессор, работающий по прошитой в ПЗУ программе. Контроллер
клавиатуры постоянно опрашивает клавиши, определяет, какие из них нажаты,
проводит контроль на “дребезг” и выдает код нажатой или отпущен-_ ной
клавиши в системный блок ЭВМ.
Выпускаемые разными производителями клавиатуры различаются также
по
расстоянию между клавишами, числу специальных клавиш, способу
переключения на цифровой регистр для быстрого ввода числовых данных, углу
наклона, форме и текстуре поверхности клавиш, усилию нажима и величине
хода клавиш, расположению часто используемых клавиш и др.
Достарыңызбен бөлісу: