Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора_ Билеты(госИПУ).doc
Скачиваний:
5
Добавлен:
02.09.2019
Размер:
31.44 Mб
Скачать

Билет №1. Интерфейс связи клавиатуры с персональным компьютером. Временная диаграмма передачи данных от клавиатуры в системный блок пк.

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

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

Рис. 3.1. Структура клавиатуры

Зафиксировав, в какой столбец в данный момент времени был послан сигнал низкого уровня, и в какой строке получен сигнал высокого уровня, микропроцессорная схема управления клавиатурой локализует пересечение и определяет скэн-код нажатой клавиши. Затем эта схема по линии “Данные “ выдает в последовательном коде информацию о нажатой клавише (ее скэн-код) в котроллер клавиатуры ПК. Каждый бит передаваемых данных сопровождается синхронизирующим импульсом (СИ). Временные диаграммы передачи приведены на рис. 3.2. Код данных начинается с так называемой маркерной единицы, с помощью которой логические схемы контроллера клавиатуры уведомляются о начале выдачи очередного байта данных.

Таким образом, типичная клавиатура соединяется с системным устройством ПК с помощью четырехпроводного кабеля: по проводам в ПК передаются два вида сигналов – данные и синхронизирующие импульсы, а два других служат для подачи напряжения питания + 5 В и “земли”.

Рис. 3.2. Временные диаграммы передачи данных от клавиатуры

Билет №2. Основные этапы выполнения программы прерывания int 9 (ввод данных из клавиатуры)

Программы, выполняемые ПК, работают с данными, представленными в виде специальных кодов символов (коды ASCII). Кроме этого, ПК обрабатывает расширенные коды, присваиваемые клавишам или комбинациям клавиш, которые не имеют представляющего их символа в системе ASCII-кодов. Поэтому выдаваемые контроллером клавиатуры скэн-коды нажатых клавиш необходимо преобразовать в коды символов.

В области данных системы ВIOS, занимающей в памяти ПК типа РС\ХТ диапазон адресов (400-4FF)Н, по адресам (41Е-43D)H находится буфер клавиатуры, куда заносится информация о нажатых клавишах (скэн-код и код символа). Этот буфер рассчитан на сохранение результатов 15 ударов по клавишам. Информация о состоянии служебных клавиш (АIt, Shift,Ctrl и др.) заносится в ячейки памяти с адресом 417Н и 418Н.

При наличии скэн-кода в порту А контроллер клавиатуры выдает сигнал на вход IR1 контроллера прерываний, который организует прерывание работы CPU по выполнении текущей команды. Вызывается драйвер клавиатуры INT 9, который выполняет следующие действия:

- чтение скэн-кода из порта А БИС 8255А (адрес порта – 60Н);

- выдача сигнала, подтверждающего прием кода (сначала заносится "1" в бит В7 порта 61Н, затем сразу "0" в тот же бит). Эта процедура устанавливает D-триггер контроллера клавиатуры в нулевое состояние и "обнуляет" регистр сдвига;

- определение функционального назначения нажатой клавиши (символьная, управляющая, служебная клавиша). Если нажатая клавиша изменяет биты статуса, то вносятся соответствующие коррективы в биты статуса по адресу блока памяти 417Н или 418Н в области данных ВIОS.

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

  • выход из программы прерывания INT9.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]