11693

Програмування клавіатури

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

Информатика, кибернетика и программирование

ЛАБОРАТОРНА РОБОТА №10. Тема: Програмування клавіатури. Ціль: Навчитися управляти перериваннями клавіатури. Теоретичні відомості Порти для роботи з к...

Украинкский

2013-04-10

44 KB

1 чел.

ЛАБОРАТОРНА РОБОТА №10.

Тема:  Програмування клавіатури.

Ціль:  Навчитися управляти перериваннями клавіатури. 

                                               

                                                Теоретичні відомості

 

Порти для роботи з клавіатурою

Для роботи з клавіатурою типу PC/XT використовуються порти з адресами 60h і 61h.

Порт 60h при читанні містить скан-код останньої натиснутої клавіші.

Порт 61h управляє не лише клавіатурою, але і іншими пристроями комп'ютера, наприклад, роботою вбудованого динаміка. Цей порт доступний як для читання, так і для запису. Для нас важливий самий старший біт цього порту. Якщо в старший біт порту 61h записати значення 1, клавіатура буде заблокована, якщо 0 - розблокована.

Оскільки порт 61h управляє не лише клавіатурою, при зміні утримуваного старшого біта необхідно зберегти стан інших бітів цього порту. Для цього можна спочатку виконати читання утримуваного порту в регістр, змінити стан старшого біта, потім виконати запис нового значення в порт:

         .........

               in      al, 61h

               or      al, 80h

               out     61h, al

         .........

Апаратне переривання клавіатури

Клавіатура підключена до лінії переривання IRQ1. Цій лінії відповідає переривання INT 09h.

Клавіатурне переривання обслуговується модулями BIOS. Драйвери клавіатури і резидентні програми можуть організовувати додаткову обробку переривання INT 09h. Для цього може бути використаний ланцюжок обробників переривання. У першій книзі першого тому ми наводили приклади розширення обробника переривання INT 09h.

Як працює стандартний обробник клавіатурного переривання, що входить до складу BIOS?

Цей обробник виконує наступні дії:

  •  читає з порту 60h скан-код натиснутої клавіші;
  •  записує вичислене по скан-коду значення ASCII -кода натиснутої клавіші в спеціальний буфер клавіатури, розташований в області даних BIOS;
  •  встановлює в 1 біт 7 порту 61h, дозволяючи подальшу роботу клавіатури;
  •  повертає цей біт в початковий стан;
  •  записує в порт 20h значення 20h для правильного завершення обробки апаратного переривання.

Читання символу з очікуванням

Функція 00h виконує читання коду символу з буфера клавіатури, якщо він там є. Якщо буфер клавіатури порожній, програма переводиться в стан очікування до тих пір, поки не буде натиснута яка-небудь клавіша. Скан-код і ASCII -код натиснутої клавіші передаються програмі.

Приведемо формат виклику функції :

На вході:       AH = 00h

       

На виході:      AL = ASCII -код символу або 0, якщо AH містить

                               розширений ASCII -код символу;

                               AH = скан-код або розширений ASCII -код

                               символу, якщо AL=0;

Приведемо таблицю скан-кодов для клавіатури:

----------T----------T------------T-------------T---------------¬

¦01   Esc ¦12   E    ¦23   H      ¦34   . >     ¦45   NumLock   ¦

¦02   1 ! ¦13   R    ¦24   J      ¦35   / ?     ¦46   ScrollLock¦

¦03   2 @ ¦14   T    ¦25   K      ¦36 Shft(прав)¦47   Home [7]  ¦

¦04   3 # ¦15   Y    ¦26   L      ¦37   * PrtSc ¦48   Up   [8]  ¦

¦05   4 $ ¦16   U    ¦27   ; :    ¦38   Alt     ¦49   PgUp [9]  ¦

¦06   5 % ¦17   I    ¦28   " '    ¦39   Пробел  ¦4a   K -       ¦

¦07   6 ^ ¦18   O    ¦29   ` ~    ¦3a   CapsLock¦4b   <-   [4]  ¦

¦08   7 & ¦19   P    ¦2a Shft(лев)¦3b   F1      ¦4c        [5]  ¦

¦09   8 * ¦1a   [ {  ¦2b   \ |    ¦3c   F2      ¦4d   ->   [6]  ¦

¦0a   9 ( ¦1b   ] }  ¦2c   Z      ¦3d   F3      ¦4e   K +       ¦

¦0b   0 ) ¦1c   Enter¦2d   X      ¦3e   F4      ¦4f   End  [1]  ¦

¦0c   - _ ¦1d   Ctrl ¦2e   C      ¦3f   F5      ¦50   Dn   [2]  ¦

¦0d   + = ¦1e   A    ¦2f   V      ¦40   F6      ¦51   PgDn [3]  ¦

¦0e   Bksp¦1f   S    ¦30   B      ¦41   F7      ¦52   Ins  [0]  ¦

¦0f   Tab ¦20   D    ¦31   N      ¦42   F8      ¦53   Del  [.]  ¦

¦10   Q   ¦21   F    ¦32   M      ¦43   F9      ¦               ¦

¦11   W   ¦22   G    ¦33   , <    ¦44   F10     ¦               ¦

L---------¦----------¦------------¦-------------¦----------------

Для інших клавіш функція 00h переривань INT 16h повертає розширений ASCII -код:

г--------T--------------T--------------T-------------¬

¦ F1   3b¦ Shift-F1   54¦ Ctrl-F1   5e ¦ Alt-F1   68 ¦

¦ F2   3c¦ Shift-F2   55¦ Ctrl-F2   5f ¦ Alt-F2   69 ¦

¦ F3   3d¦ Shift-F3   56¦ Ctrl-F3   60 ¦ Alt-F3   6a ¦

¦ F4   3e¦ Shift-F4   57¦ Ctrl-F4   61 ¦ Alt-F4   6b ¦

¦ F5   3f¦ Shift-F5   58¦ Ctrl-F5   62 ¦ Alt-F5   6c ¦

¦ F6   40¦ Shift-F6   59¦ Ctrl-F6   63 ¦ Alt-F6   6d ¦

¦ F7   41¦ Shift-F7   5a¦ Ctrl-F7   64 ¦ Alt-F7   6e ¦

¦ F8   42¦ Shift-F8   5b¦ Ctrl-F8   65 ¦ Alt-F8   6f ¦

¦ F9   43¦ Shift-F9   5c¦ Ctrl-F9   66 ¦ Alt-F9   70 ¦

¦ F10  44¦ Shift-F10  5d¦ Ctrl-F10  67 ¦ Alt-F10  71 ¦

L--------¦--------------¦--------------¦--------------

г----------T----------T-------------T-------------¬

¦ Alt-A  1e¦ Alt-P  19¦ Alt-3     7a¦ Down  Dn  50¦

¦ Alt-B  30¦ Alt-Q  10¦ Alt-4     7b¦ Left  <-  4b¦

¦ Alt-C  2e¦ Alt-R  13¦ Alt-5     7c¦ Right ->  4d¦

¦ Alt-D  20¦ Alt-S  1f¦ Alt-6     7d¦ Up    Up  48¦

¦ Alt-E  12¦ Alt-T  14¦ Alt-7     7e¦ End       4f¦

¦ Alt-F  21¦ Alt-U  16¦ Alt-8     7f¦ Home      47¦

¦ Alt-G  22¦ Alt-V  2f¦ Alt-9     80¦ PgDn      51¦

¦ Alt-H  23¦ Alt-W  11¦ Alt--     82¦ PgUp      49¦

¦ Alt-I  17¦ Alt-X  2d¦ Alt-=     83¦             ¦

¦ Alt-J  24¦ Alt-Y  15¦             ¦ ^Left     73¦

¦ Alt-K  25¦ Alt-Z  2c¦             ¦ ^Right    74¦

¦ Alt-L  26¦          ¦ Shift-Tab 0f¦ ^End      75¦

¦ Alt-M  32¦ Alt-0  81¦ Ins       52¦ ^Home     77¦

¦ Alt-N  31¦ Alt-1  78¦ Del       53¦ ^PgDn     76¦

¦ Alt-O  18¦ Alt-2  79¦ ^PrtSc    72¦ ^PgUp     84¦

L----------¦----------¦-------------¦--------------

                                              

Індивідуальне завдання.

  Написати власний обробник переривання клавіатури. Забезпечити прочитування символу з буфера клавіатури і видачу його ASC II - кода і скан- кода.


 

А также другие работы, которые могут Вас заинтересовать

81173. Программа социологического исследования 42.46 KB
  Программа социологического исследования документ содержащий развернутое изложение ее теоретикометодологических предпосылок общей концепции с обоснованием актуальности целей задач объекта предмета и гипотез предпринимаемого исследования а также его методикоинструментального аппарата вместе с логически обоснованной последовательностью необходимых процедур и организационным планомграфиком и стоимостью всех видов работ. Содержание программы варьируется и зависит от типа и целей исследования. Обоснование цели задач объекта и предмета...
81174. Методы социологического исследования 38.81 KB
  Набор специфических методов исследования социологической науки позволяет наэмпирическом уровне отследить происходящие в обществе процессы т. Конкретный вид социологического исследования обусловлен характером поставленной цели выдвинутых задач в соответствии с чем различают три основных вида социологического исследования: разведывательное; описательное; аналитическое. Разведывательное исследование наиболее простой вид прикладного социологического анализа решает весьма ограниченные по своему содержанию задачи; как правило оно...
81175. Виды методов социологического исследования 81.24 KB
  Этот социологический эмпирический метод незаменим при сборе ограниченного объема информации у большого числа людей и может выступать в двух видах: анкетирование когда опрашиваемый сам заполняет анкету в присутствии анкетера или без него; может быть очным и заочным; среди форм заочного анкетирования наиболее распространен почтовый опрос а также прессовый через газету журнал; значимым преимуществом анкетирования является принцип анонимности однако даже он не гарантирует что ответы респондента опрашиваемого будут правдивыми поэтому...
81176. Управление творческим потенциалом организации 33.2 KB
  В настоящее время в результате глобальных перемен произошедших в результате развития нашей страны и перехода к рыночной экономике возникает необходимость разработки новой системы формирования и развития кадрового потенциала управления так как эффективное функционирование предприятия в решающей степени зависит от кадров руководителей. С целью укрепления позиций на рынке и повышения конкурентоспособности компании при прочих неизменных условиях современные управляющие стараются использовать творческий резерв компании а именно формируют новую...
81177. Методы управления творческим коллективом 43.59 KB
  Теперь это норма активное устаревание оборудования и систем управления. Система управления персоналом это стержень организации труда для определенных профессий он может быть условным содержащим несколько инструкций и требующий формальный контроль. Чем более творческие задачи у специалистов чем более нестандартных решений вы ожидаете в результате тем более жесткий должен быть стерженьсистема управления.
81178. Внутренняя творческая среда 41.13 KB
  Для того чтобы ее создать необходимо поддерживать инициативные и творческие устремления сотрудников. Эффективное взаимодействие творцов особого внимания заслуживают особенности межличностного взаимодействия внутри творческой группы так как процессы общения и взаимодействия могут оказывать на сотрудников как мотивирующий результат так и демотивирующий. Эффективной чертой управления творческими потенциалами сотрудников является тесная увязка инновационных стратегий и политики управления человеческими ресурсами. Он может как стимулировать...
81179. Методы активизации творческого мышления 42.1 KB
  Разработка и генерация новых идей для решения стратегических целей и задач предприятия – это не просто. Часто, творческий специалист не знает с чего начать, как собраться и сфокусировать свое внимание на нужном объекте, активизировать свои творческие способности.
81180. Исследование творческого потенциала сотрудников 35.83 KB
  Направления исследований: наличие творческого потенциала; степень уровень его актуализации; факторы стимулирующие препятствующие развитию и актуализации; проявление творческого потенциала в условиях стабильности и в условиях инноваций. При проведении исследований изучается не столько наличие или отсутствие творческого потенциала и инициативы сколько желание и возможность реализовывать их в профессиональной деятельности а также факторы которые могут оказывать влияние на проявление креативности10. Таким образом при исследовании творческого...
81181. Оценка эффективности управления творческим потенциалом компании 39.05 KB
  Исходя из этого показатели эффективности системы управления развитием творческого потенциала постоянного состава компании рассматриваются через результат развития творческого потенциала сотрудников; реализацию всех возможных мотивов побуждающих персонал к творческой деятельности; показатели качества организационной структуры...