Изучение работы с клавиатурой

Автор работы: Пользователь скрыл имя, 26 Января 2012 в 22:53, лабораторная работа

Краткое описание

Цель работы: изучить работу клавиатуры, с помощью программы определить ckan-коды для тех или иных клавиш.

Содержимое работы - 1 файл

Лабораторная 1.doc

— 53.00 Кб (Скачать файл)

    Лабораторная  работа №1 

    Тема: Изучение работы с клавиатурой

    Цель  работы: изучить работу клавиатуры, с помощью программы определить ckan-коды для тех или иных клавиш.

    1.1 Устройство клавиатуры

    

      

    

      
 
 

    

    

    

      
 

      

    Рисунок 1.1 – Устройство клавиатуры

    1 - клавиша

    2 – резиновый буфер

    3 - изолятор

    4 - мембраны

    5 - контакты

    1.2 Принцип работы

    При нажатии на клавишу (комбинацию клавиш), микросхема, встроенная в клавиатуру выдает ckan-код. Сkan-код поступает в микросхему выполняющую функцию порта клавиатуры (Порты – специально аппаратные логические устройства отвечающие за связь процессора с другими устройствами). Порт клавиатуры выдает процессору прерывание с фиксированным номером 09h. Получив прерывание процессор откладывает текущую работу. По номеру прерывания обращается в специальную область оперативной памяти, где находится вектор прерывания. Вектор прерывания – список адресных данных с фиксированной длиной записи (адрес программы по которой будет обслуживаться программа). Определив адрес начала прерывания, программный процессор переходит к началу ее выполнения. Простейшая программа обработки клавиатуры зашита в ПЗУ, но программисты могут поставить свою программу. Программа обработчик прерывания направляет процессор к порту клавиатуры, где он находит ckan-код, загружает в свои регистры, под управлением обработчика определяет какой код, символа, соответствует данному ckan-коду. Обработчик прерывания отправляет полученный код символа в небольшую область памяти – буфер клавиатуры, прекращает работу, известив об этом процессор. Процессор прекращает обработку прерываний возвращается к отложенной задаче. Введенный символ хранится в буфере клавиатуры до тех пор пока его не заберет та программа, для которой он предназначался. Если символ поступает в буфер чаще чем забирается, оттуда извещается эффект переполнения буфера.

    1.3 Определение ckan-кода на Pascal

    Program 1;

      Uses crt;

      Var s:char;

    BEGIN

      clrscr;

      While True do

         begin

            write('Нажатая клавиша ');

            S := readkey;

            If s <> #0 then

                  begin {Osnovnoi nabor}

                     case s of

                        #8: writeln ('BackSpace');

                        #9: writeln ('Tab');

                       #13: writeln ('Enter');

                       #27: writeln ('Escape')

                     else

                        writeln (' Вы ввели символ ',s,'с кодом',Ord(s));

                     end;

                     if s = #27 then Exit

                  end

                       else

                          begin {Rashirenniy nabor}

                             s:=readkey;

                             writeln (' Вы нажали кнопку с кодом' ,Ord(s));

                          end;

         end;

    END.

     1.4 Протокол работы 
 

Рисунок 1.2 –  Протокол работы

Информация о работе Изучение работы с клавиатурой