Как называется специальная программа которая обеспечивает работу клавиатуры

Непосредственное управление работой ЭВМ оператор (пользователь) осуществляет с помощью клавиатуры и манипуляторов. Клавиатура предназначена для введения алфавитно-цифровой информации и управления графическим курсором. Работой клавиатуры управляет специальная электронная схема — контроллер клавиатуры [3,4]. В его функции входит распознавание нажатой клавиши и помещение закрепленного за ней кода в свой выходной регистр (порт), обычно с номером 60h.

Процесс взаимодействия ЭВМ с клавиатурой отображен на рис.2.1. Код клавиши, поступающий в порт, называется скан — кодом. Каждой клавише присвоено два скан-кода: код нажатия и код отпускания, больший на 80h. Кнопки основной части клавиатуры образуют матрицу контактов из 23 строк и 4 столбцов, что сокращает количество необходимых проводников и контактов микросхемы контроллера.

Рис.2.1. Взаимодействие клавиатуры с системой

Нажатие и отпускание любой клавиши вызывает сигнал аппаратного прерывания, заставляющий процессор прервать выполняемую программу и перейти на программу обработки прерывания (ПОП) от клавиатуры INT09h (вектор прерывания имеет адрес 24h). Обработчик прерывания работает с двумя областями оперативной памяти: кольцевым буфером ввода, располагаемым по адресам от 40h:1Eh до 40h:3Dh, куда помещаются коды ASCII нажатых клавиш, и словом состояния (словом флагов) клавиатуры, находящимся по адресу 40h:17h, где фиксируется состояние управляющих клавиш (, , , и другие).

Лайфхак! Как из обычной, сделать механическую клавиатуру? #HappyPC

Если скан-код принадлежит одной из управляющих клавиш, и представляет собой код нажатия, то в слове флагов устанавливается в 1 бит (флаг), соответствующий нажатой клавише. Сброс флага происходит при отпускании такой клавиши.

При нажатии любой другой клавиши ее скан-код считывается из порта 60h и по таблице трансляции формируется двухбайтовый код, старший байт которого содержит скан-код, а младший — код ASCII, с учетом состояния слова флагов. Например, буквы Q и q находятся на одной клавише, и соответствующие им коды имеют вид: 1051h и 1071h.

Полученный в результате трансляции двухбайтовый код направляется в кольцевой буфер, который служит для синхронизации процессов ввода данных с клавиатуры и приема их выполняемой компьютером программой. Объем кольцевого буфера составляет 15 слов. Коды символов извлекаются из буфера в том порядке, в каком они в него поступали.

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

Пользовательские программы могут использовать программное прерывание INT 16h, предназначенное для работы с клавиатурой. Функции данного прерывание позволяют:

· ожидать нажатия клавиши и считывать коды из кольцевого буфера, очищая эти ячейки (00h, 10h);

Знакомство с клавиатурой. Лучшее в мире объяснение

· определять наличие (и коды) в кольцевом буфере не считанных кодов (01h, 11h);

· получать состояние флагов клавиатуры (02h, 12h).

Прерывание DOS INT 21h тоже имеет несколько функций для обработки сигналов клавиатуры. Эти функции обеспечивают посимволь-ный ввод и обращение к клавиатуре, как к файлу.

2.2. УСТРОЙСТВО И ПРОГРАММИРОВАНИЕ МАНИПУЛЯТОРА МЫШЬ»

Манипуляторы (мышь, джойстик) предназначены для управления текстовым или графическим курсором и формирования двух и более контактных сигналов. Схема взаимодействия манипулятора «мышь» и ЭВМ показана на рис.2.2.

Рис.2.2. Схема взаимодействия манипулятора «мышь» и ЭВМ

Перемещение манипулятора контролируется двухкоординатным механизмом прерывания светового потока (МПСП), количество прерываний регистрируется фотодиодными парами (ФДП). МПСП по каждой координате состоит из колесика с периодическими вертикальными щелями и расположенными с разных сторон светодиода и двух фотодиодов. Контроллер подсчитывает количество прерываний светового потока и реализует протокол обмена по линиям последовательного порта:

· RxD — данные из манипулятора,

· TxD — данные в манипулятор,

· RTS — сигнал запроса передачи в манипулятор,

· SG — сигнальное заземление.

Питание элементов манипулятора осуществляется сигнальным напряжением RTS. Шаг манипулятора равен 1/200 дюйма.

Программирование манипулятора основано на использовании функций прерывания INT 33h [4]. Эти функции позволяют: устанавливать наличие драйвера, визуализировать курсор, задавать форму курсора, получать величину вертикального и горизонтального перемещения, контролировать состояние кнопок, переключать текстовый и графический режимы работы манипулятора.

МПСП формирует помехоустойчивый код Грея, показанный на рис.2.3. Двоичный код Грея позволяет определять направление перемещения манипулятора.

Рис.2.2. Схема МПСП и код Грея

Оптические и лазерные манипуляторы «мышь» в качестве чувствительного элемента содержать фотоприемную матрицу 16х16 точек. Контроллер манипулятора периодически сравнивает текущее и предыдущее изображения. Сравнение осуществляется корреляционным методом, позволяющем определять направление относительного сдвига запомненного изображения.
3. ВИДЕОСИСТЕМЫ

Видеосистемы являются самым информативным, оперативным и наглядным каналом контроля работы ЭВМ для оператора. Именно эта система создала условия для применения ЭВМ в качестве обучающей системы, в том числе приемам работы на ней самой. Возможность визуализации информации позволила превратить ЭВМ в мощный инструмент разработки высококачественных графических документов, обусловила развитие устройств для печати изображений. В настоящее время, является актуальной задача создания общих стандартов формирования, обработки и передачи изображений, звука и символьной информации для ЭВМ и телевидения.

Читайте также:
Кто такой сулакшин и его программа

Источник: studopedia.su

Манипуляторы и клавиатуры

Аудиоадаптер (звуковая плата) это специальная электронная плата, которая позволяет записывать звук, воспроизводить его и создавать программными средствами с помощью микрофона, наушников, динамиков, встроенного синтезатора и другого оборудования. Профессиональные звуковые платы позволяют выполнять сложную обработку звука, обеспечивают стереозвучание, имеют собственное ПЗУ с хранящимися в нём сотнями тембров звучаний различных музыкальных инструментов. Звуковые файлы обычно имеют очень большие размеры, поэтому звуковые платы, помимо своих основных функций, обеспечивают автоматическое сжатие файлов. Область применения звуковых плат — компьютерные игры, обучающие программные системы, рекламные презентации, «голосовая почта» (voice mail), просмотр фильмов между компьютерами, озвучивание различных процессов, происходящих в компьютерном оборудовании и т.п.

Видеоадаптер — это электронная плата, которая обрабатывает видеоданные (текст и графику) и управляет работой дисплея. Содержит видеопамять, регистры ввода вывода и модуль BIOS. Посылает в дисплей сигналы управления яркостью лучей и сигналы развертки изображения.

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

TV-тюнеры — видеоплаты, превращающие компьютер в телевизор. TV-тюнер позволяет выбрать любую нужную телевизионную программу и отображать ее на экране в масштабируемом окне.

Клавиатура служит для ввода информации в компьютер и подачи управляющих сигналов. Она содержит стандартный набор алфавитно-цифровых клавиш и некоторые дополнительные клавиши — управляющие и функциональные, клавиши управления курсором, а также малую цифровую клавиатуру.

Курсор — светящийся символ на экране монитора, указывающий позицию, на которой будет отображаться следующий вводимый с клавиатуры знак. Все символы, набираемые на клавиатуре, немедленно отображаются на мониторе в позиции курсора.

Клавиатура содержит встроенный микроконтроллер (местное устройство управления), который выполняет следующие функции:

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

Клавиатура имеет встроенный буфер — промежуточную память малого размера, куда помещаются введённые символы. В случае переполнения буфера нажатие клавиши будет сопровождаться звуковым сигналом — это означает, что символ не введён (отвергнут). Работу клавиатуры поддерживают специальные программы, «зашитые» в BIOS, а также драйвер клавиатуры, который обеспечивает возможность ввода русских букв, управление скоростью работы клавиатуры и др.

Манипуляторы (мышь, джойстик и др.) — это специальные устройства, которые используются для управления курсором.

Клавиатура. Аппаратное и программное обеспечение.

Клавиатура компьютера — устройство для ввода информации в компьютер и подачи управляющих сигналов. Содержит стандартный набор клавиш печатной машинки и некоторые дополнительные клавиши — управляющие и функциональные клавиши, клавиши управления курсором и малую цифровую клавиатуру.

Стандартная клавиатура ПЭВМ имеет несколько групп клавиш:

  1. алфавитно-цифровые и знаковые клавиши ESC, TAB, ENTER, BackSp;
  2. Функциональные клавиши (F1…F10);
  3. Служебные клавиши для управления перемещением курсора (стрелки Up, Down, Left, Right, Home, End, PgDn, PgUp и клавиша, обозначенная [] );
  4. Служебные клавиши для управления редактированием (Ins, Del)
  5. Служебные клавиши для фиксации регистров (CapsLock, ScrollLock, NumLock);
  6. Разные вспомогательные клавиши (PrtSc)

Можно выделить 3 уровня представления и обработки сигналов, поступающих с клавиатуры – физический, логический и функциональный. Физический уровень имеет дело с сигналами, которые поступают в системный блок при нажатии и отпускании клавиш. На электронном уровне клавиатура IBM/PC представляет собой небольшой самостоятельный компьютер. Внутри блока клавиатуры размещается микропроцессор, который выполняет задачу слежения за нажатиями и отпусканиями клавиш и передачи их состояния. Микропроцессор выполняет следующие функции:

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

Клавиатура имеет встроенный буфер— промежуточную память малого размера, куда помещаются введённые скан-коды символов. В случае переполнения буфера нажатие клавиши будет сопровождаться звуковым сигналом — это означает, что символ не введён (отвергнут). Работу клавиатуры поддерживают специальные программы, «зашитые» в BIOS, а также драйвер клавиатуры, который обеспечивает возможность ввода русских букв (кириллица и латиница), управление скоростью работы клавиатуры и др. Часть задачи обслуживания клавиатуры со стороны системы BIOS заключается в отслеживании, нажата ли в текущий момент триггерная клавиша (клавиша управления регистрами, например,CAPSLOCK). В качестве датчиков нажатия клавиш применяют механические контакты (открытые или герконовые), кнопки на основе токопроводящей резины, емкостные датчики и датчики на эффекте Холла. Независимо от типов применяемых датчиков нажатия клавиш, все они объединяются в матрицу. Клавиатура содержит внутренний контроллер, выполненный на микросхеме, осуществляющий сканирование матрицы клавиш, управление индикаторами, внутреннюю диагностику и связь с системной платой. Внутренний контроллер клавиатуры способен определить факты нажатия и отпускания клавиш, при этом можно нажимать очередную клавишу, даже удерживая несколько ранее нажатых. При нажатии клавиши клавиатура передает идентифицирующий ее скан-код. При удержании клавиши в нажатом положении через некоторое время клавиатура начинает автоповтор передачи скан-кода нажатия этой клавиши. Фирма IBM выпускает емкостные клавиатуры. Нижняя часть такой клавиатуры является одной большой обкладкой конденсатора. Клавиша нажимает на пружину, которая в свою очередь нажимает на толкатель. Толкатель передает усилие на емкостную ячейку. Емкостная ячейка посылает сигнал, который интерпретируется микропроцессом, установленным в клавиатуре. Он пересылает идентификатор клавиши, называемый скан-кодом в ПК, который определяет, какая клавиша была нажата. Под компьютерной клавиатурой находится решетка проводников. Каждая клавиша расположена над пересечением двух проводников и при нажатии замыкает электрическую цепь. Поскольку ток при этом проходит как по вертикальному, так и по горизонтальному проводнику решетки, микропроцессору, встроенному в клавиатуру, достаточно следить лишь за строками решетки, которых меньше, чем «столбцов». Микропроцессор проверяет, не нажата ли какая-нибудь клавиша, посылая ток по каждой строке тысячи раз в секунду. Такое опрашивание происходит непрерывно независимо от того, работает оператор с клавиатурой или нет. Получив после непрерывного опрашивания решетки миллионы отрицательных результатов, микропроцессор, возможно, обнаружит наконец строку, цепь которой замкнута. Чтобы выяснить, какая из множества клавиш, находящихся в этой строке, вызвала замыкание цепи, микропроцессор, запомнив номер строки, начинает теперь опрашивать столбцы. Поскольку лишь одна клавиша может замкнуть одновременно цепи строки и столбца, микропроцессор однозначно определяет ее, как только обнаруживает активный столбец. Запомнив нажатую клавишу, микропроцессор передает ее «код» компьютеру. В поисках новой нажатой клавиши микропроцессор «игнорирует» уже обнаруженную до тех пор, пока оператор не отпустит ее. Таким образом, клавиатура фиксирует новые удары по клавишам, хотя первая нажатая клавиша еще не отпущена. В основе кодирования поступающих от клавиатуры сигналов лежит обычная нумерация клавиш по порядку от 1 до N, где N – общее число клавиш на клавиатуре (102-104). Клавиатура представляет собой совокупность датчиков, воспринимающих давление на клавиши и замыкающих определенную электрическую цепь, со стандартным разъемом (PS/2, USB) и интерфейсом для подключения к системной плате компьютера. Длительное время выпускались клавиатуры с механическими датчиками. Современные клавиатуры – мембранного типа. Переключатель представляет собой набор мембран: активная – верхняя, пассивная – нижняя, разделяющая. Внутри корпуса клавиатуры помимо датчиков расположены электронные платы дешифрации сигнала. Обмен данными между клавиатурой и системной платой осуществляется 11-битовыми блоками (8 разрядов плюс служебная информация) по 2-проводному кабелю (сигнал и земля). Клавиатура содержит внутренний контроллер, позволяющий производить самотестирование в момент подключения (одновременная индикация светодиодов «NumLock», «CapsLock», «ScrollLock»), управляющий индикаторами и обеспечивающий связь с системной платой ПК посредством последовательного интерфейса. Принцип работы. Принцип работы клавиатуры заключается в сканировании переключателей клавиш. Замыканию и размыканию любого из переключателей соответствует уникальный цифровой код (scan code) размером 1 байт. На системной плате прием и обработку сигналов от клавиатуры выполняет специальная микросхема – контроллер клавиатуры.Внутренний микропроцессор клавиатуры обрабатывает специальный сигнал, поступающий к нему после нажатия любой клавиши и, преобразуя его, последовательно передает центральному процессору сканируемый код. Каждое нажатие клавиши формирует два кода: один по нажатию, другой – по освобождению клавиши.На логическом уровне, реализуемом базовой системой ввода — вывода, происходит трансляция поступающего с клавиатуры скан-кода в 2-байтовый код. Скан-коды передаются от клавиатуры в компьютер по фактам нажатия и отпускания клавиш. При нажатии клавиши передается ее скан-код — номер, идентифицирующий ее расположение на клавиатуре. При отпускании клавиши клавиатура передает 2 байта: младший из двух байтов содержит ASCII-код, соответствующий изображенному на клавише знаку. Это байт называют главным. Старший байт – вспомогательный — содержит исходный скан-код нажатой клавиши. Генерируемый код определяется тем, к какой группе относится клавиша и нажата ли одна клавиша или комбинация из нескольких. При нажатии функциональной или служебной клавиши или одновременном нажатии некоторых клавиш главный байт содержит не ASCII-код, а 0, что позволяет проверить важный факт, что нажатая клавиша не относится к алфавитно-цифровой группе. Вспомогательный байт при этом содержит уникальный номер, совпадающий со скан-кодом нажатой клавиши или он соответствует определенной комбинации одновременно нажатых клавиш. Сочетание главного и вспомогательного кода, когда первый из них равен 0, называют расширеннымASCII-кодом. Когда микропроцессор клавиатуры посылает сигнал компьютеру, он лишь сообщает расположение нажатой клавиши. Чтобы обработать сигнал, компьютер должен перевести его код в смысловое значение, соответствующее данной клавише. В специальном электронном списке — таблице перекодировки — каждому коду, описывающему расположение клавиши, поставлено в соответствие двоичное число, служащее кодом определенного символа, например буквы или цифры.В дальнейшем в процессе обработки данных используется именно это двоичное число. Таблица перекодировки может храниться в постоянной памяти компьютера. Обычно она определяет значения клавиш согласно стандартным функциям большинства компьютеров: например, вводу числовых данных или обработке текстов с использованием определенного алфавита.Блок клавиатуры не связывает с клавишами никаких конкретных значений. Вместо этого, блок клавиатуры идентифицирует по ее номеру или коду сканирования. При нажатии клавиши блок клавиатуры передает ее код сканирования центральному процессору. Когда клавиша отпускается, клавиатура снова передает ее код, но увеличенный на 128 (или шестнадцатиричное значение 80). Таким образом, имеются различные коды для нажатия и освобождения клавиш. Клавиатура IBM/PC передает сигналы не только о нажатии, но и об освобождении клавиши. При нажатии любой клавиши в системный блок посылается код, соответствующий её порядковому номеру, который называется также скан-кодом. При отпускании клавиши также генерируется её номер, увеличенный на 128 (дополнительный скан-код).На функциональном уровне отдельным клавишам программным путем сопоставляются определенные функции, которые реализуются при нажатии этих клавиш. Клавишам могут приписываться последовательности символов или команды смены режимов, смены дисплейных окон и т.д. Для работы с клавиатурой используются порты и системы прерывания. Когда выполняется какое-либо действие с клавишей (нажатие или освобождение), процессор клавиатуры обнаруживает его и запоминает в своем буфере. Затем, процессор клавиатуры формирует аппаратное прерывание. В ответ на прерывание служебная процедура системы BIOS считывает код сканирования клавиши из порта клавиатуры и затем пересылает в порт клавиатуры команду очистить буфер процессора клавиатуры. Если системный блок не реагирует на прерывания клавиатуры, то коды сканирования накапливаются в буфере процессора клавиатуры, хотя при нормальной работе этого не должно происходить. Специальный код сканирования 255, шестнадцатиричное значение FF, используется блоком клавиатуры, для сообщения, что его буфер заполнен. Поскольку информация о нажатии клавиши поступает в системный блок от клавиатуры через порт, любая программа, имеющая доступ к порту, может непосредственно общаться с клавиатурой. На практике, однако, это неприменимо, так как блок клавиатуры вырабатывает еще и прерывания, которые обрабатываются системой BIOS в ПЗУ. После нажатия клавиши клавиатура посылает процессору сигнал прерывания и заставляет процессор приостановить свою работу и переключиться на программу обработки прерывания клавиатуры. При этом клавиатура в своей собственной специальной памяти запоминает, какая клавиша была нажата (обычно в памяти клавиатуры может храниться до 20 кодов нажатых клавиш, если процессор не успевает ответить на прерывание). После передачи кода нажатой клавиши процессору эта информация из памяти клавиатуры исчезает.Кроме нажатия клавиатура отмечает также и отпускание каждой клавиши, посылая процессору свой сигнал прерывания с соответствующим кодом. Таким образом, компьютер «знает», держат клавишу или она уже отпущена. Это свойство используется при переходах на другой регистр, например при написании заглавных букв. Кроме того, если клавиша нажата дольше определенного времени, т.н. «порог повтора» — обычно около половины секунды, то клавиатура генерирует повторные коды нажатия этой клавиши. Когда процедура обслуживания клавиатуры обрабатывает коды, принимаемые от клавиатуры, она постоянно проверяет появление одной из четырех особых комбинаций, которые обслуживаются специальным образом. Фактически, эти четыре комбинации рассматриваются как команды, по которым должно начинаться выполнение определенных служебных процедур. Эти четыре комбинации: Ctrl-NumLock, PrtSc, Ctrl-Alt-Del и Ctrl-Break. Ctrl-NumLock — эта комбинация используется системой BIOS для управления состоянием захвата, которое программам обнаружить трудно, поскольку в этом состоянии программы не выполняются. В состоянии захвата система BIOS выполняет короткий цикл, ожидая нажатия клавиши, которое выводит систему из этого состояния. В этом состоянии распознаются и обслуживаются все прерывания. Команда распечатки экрана или PrtSc предназначена для вывода содержимого экрана на устройство печати. Комбинация клавиш Ctrl-Alt-Del используется для перезапуска или для перезагрузки системы. Когда встречается такая комбинация, процедура обслуживания клавиатуры передает управление программе проверки системы и запуска работы операционной системы. Эту комбинацию клавиш можно использовать в любой момент времени для перезапуска системы, если произошло какое-либо отклонение от нормального функционирования. В некоторых случаях IBM/PC необходимо бывает выключить, а затем снова включить и уже после этого пытаться ее перезапустить. Комбинация Ctrl-Break предназначена для прерывания текущей операции. В отличие от остальных трех специальных комбинаций она может отрабатываться программно. Процедуры системы BIOS в ПЗУ могут распознавать отличие повторных нажатий клавиши от повторения сигнала удерживаемой в нажатом состоянии клавиши, путем анализа кодов сканирования освобожденной клавиши. Если для одной и той же клавиши получены два кода нажатой клавиши и между ними не было кода освобожденной клавиши, значит клавиша удерживается процедурами системы BIOS для подавления функции повторения тех клавиш, которым она не нужна, таких как, например, клавиша смещения (shift). Блок клавиатуры сообщает, что происходит с клавиатурой: какие клавиши нажимаются, какие освобождаются и, через определенный промежуток времени, какие удерживаются в нажатом состоянии. Система BIOS в ПЗУ интерпретирует получаемую от блока клавиатуры информацию, придавая ей определенный смысл. Блок клавиатуры занимается физической стороной, механизмом функционирования клавиатуры, а программы системы BIOS в системном блоке выполняют все логические операции по интерпретации действий клавиатуры.

Читайте также:
Программа где есть упд

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru