Популярные услуги

Все письменные КМ под ключ за 3 суток! (КМ-6 + КМ-7 + КМ-8 + КМ-9 + КМ-10)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
Любая задача на C/C++
Одно любое задание в mYsql
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Любой реферат по информатике

Периферийные устройства

2021-03-09СтудИзба

Периферийные устройства (Лекция 9)

Kлaвиaтуpa и управление клавиатурой

Клавиатура содержит микропроцессор, который воспринимает каждое нажатие на клавишу и выдает скан-код в порт микросхемы интерфейса с периферией, расположенной на системной плате. Скан-код это однобайтное число, младшие 7 битов которого представляют идентификационный номер, присвоенный каждой клавише. На всех машинах, до АT, старший бит кода говорит о том, была ли клавиша нажата (бит = 1, код нажатия) или освобождена (бит = 0, код освобождения). Например, 7-битный скан-код клавиши B - 48, или 110000 в двоичной системе. Когда эта клавиша нажимается, то в порт А посылается код 10110000, а когда ее отпустили – код 00110000. Таким образом, каждое нажатие на клавишу дважды регистрируется в микросхеме 8255. И каждый раз микросхема 8255 выдает подтверждение микропроцессору клавиатуры. АT работает немного по-другому, посылая в обоих случаях один и тот же скан-код, но предваряя его кодом F0H, когда клавиша отпускается. Когда скан-код выдается в порт, то вызывается прерывание клавиатуры (INT 9). Процессор моментально прекращает свою работу и выполняет процедуру, анализирующую скан-код. Когда поступает код от клавиши сдвига или переключателя, то изменение статуса записывается в память. Во всех остальных случаях скан-код трансформируется в код символа, при условии, что он подается при нажатии клавиши (в противном случае, скан-код отбрасывается).

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

Имеется два типа кодов символов, коды АSСII и расширенные коды. Коды АSСII – это байтные числа, которые соответствуют расширенному набору кодов АSСII для IBM РС. Для IBM РС этот набор включает обычные символы пишущей машинки, а также ряд специальных букв и символов псевдографики. АSСII коды включают также 32 управляющих кода, которые обычно используются для передачи команд периферийным устройствам, а не выводятся как  символы на экране; однако каждый из них имеет соответствующий символ, который может быть выведен на дисплей с использованием прямой адресации дисплейной памяти

Второй набор кодов, расширенные коды, присвоен клавишам или комбинациям клавиш, которые не имеют представляющего их символа ASCII, таким как функциональные клавиши или комбинации с клавишей Alt. Расширенные коды имеют длину 2 байта, причем первый байт всегда ASCII 0. Второй байт – номер расширенного кода. Например, код 0:30 представляет Alt-A. Начальный ноль позволяет программе определить - принадлежит ли данный код набору АSСII или расширенному набору.

Имеется несколько комбинаций клавиш, которые выполняют специальные функции и не генерируют скан-коды. Эти комбинации включают <Ctrl-Break>, <Ctrl-Alt-Del> и <РrtSс>. Эти исключения приводят к заранее предопределенным результатам. Все остальные нажатия клавиш должны интерпретироваться программой.

Сводная таблица скан-кодов

Рекомендуемые материалы

Каждая клавиша генерирует два типа скан-кодов, "код нажатия" – когда клавиша нажимается, и "код освобождения" - когда клавиша отпускается. Используется одна и та же цепочка битов для кодов нажатия и освобождения, но коды освобождения состоят из двух байтов, первый из которых всегда равен 0F0H. Прерывание клавиатуры отбрасывает этот код и он не связывается ни с каким кодом АSСII или расширенным кодом.

Клавиши пишущей машинки

Клавиша/Код нажатия

Клавиша/Код нажатия

Клавиша/Код нажатия

"1" 2

"T" 20

"L" 38

"2" 3

"Y" 21

";" 39

"3" 4

"U" 22

"'" 40

"4" 5

"I" 23

"`" 41

"5" 6

"O" 24

"" 43

"6" 7

"P" 25

"Z" 44

"7" 8

"[" 26

"X" 45

"8" 9

"]" 27

"C" 46

"9" 10

"A" 30

"V" 47

"0" 11

"S" 31

"B" 48

"-" 12

"D" 32

"N" 49

"=" 13

"F" 33

"M" 50

"Q" 16

"G" 34

"," 51

"W" 17

"H" 35

"." 52

"E" 18

"J" 36

"/" 53

"R" 19

"K" 37

Пpoбeл 57

Управляющие клавиши

Esc - 1

Ctrl – 29

Alt - 56

BackSpace - 14

left shift - 42

CapsLock - 58

Tab - 15

right shift - 42

NumLock - 58

Enter - 28

PrtSc – 55

ScrollLock - 70

Функциональные клавиши

F1 - 59

F5 - 63

F9 - 67

F2 - 60

F6 - 64

F10 - 68

F3 - 61

F7 - 65

F4 - 62

F8 - 66

Cвoднaя тaблицa кoдoв ASCII

Любой код АSCII от 1 до 255 может быть введен с клавиатуры, если держать нажатой клавишу Alt при наборе номера кода на дополнительной клавиатуре (с соответственно установленным режимом NumLock). Когда клавиша Alt затем освобождается, то код вводится.

Символ  10-ный  16-pичный  двоичный  Символ  10-ный  16-pичный  двоичный

(null)  0        00     00000000     0      48       30      00110000

           1        01     00000001     1      49       31      00110001

           2        02     00000010     2      50       32      00110010

           3        03     00000011     3      51       33      00110011

           4        04     00000100     4      52       34      00110100

           5        05     00000101     5      53       35      00110101

           6        06     00000110     6      54       36      00110110

           7        07     00000111     7      55       37      00110111

           8        08     00001000     8      56       38      00111000

           9        09     00001001     9      57       39      00111001

          10        0A     00001010     :      58       3A      00111010

          11        0B     00001011     ;      59       3B      00111011

          12        0C     00001100     <      60       3C      00111100

          13        0D     00001101     =      61       3D      00111101

          14        0E     00001110     >      62       3E      00111110

          15        0F     00001111     ?      63       3F      00111111

          16        10     00010000     @      64       40      01000000

          17        11     00010001     A      65       41      01000001

          18        12     00010010     B      66       42      01000010

          19        13     00010011     C      67       43      01000011

          20        14     00010100     D      68       44      01000100

          21        15     00010101     E      69       45      01000101

          22        16     00010110     F      70       46      01000110

          23        17     00010111     G      71       47      01000111

          24        18     00011000     H      72       48      01001000

          25        19     00011001     I      73       49      01001001

          26        1A     00011010     J      74       4A      01001010

          27        1B     00011011     K      75       4B      01001011

          28        1C     00011100     L      76       4C      01001100

          29        1D     00011101     M      77       4D      01001101

          30        1E     00011110     N      78       4E      01001110

          31        1F     00011111     O      79       4F      01001111

пpoбeл    32        20     00100000     P      80       50      01010000

  !       33        21     00100001     Q      81       51      01010001

  "       34        22     00100010     R      82       52      01010010

  #       35        23     00100011     S      83       53      01010011

  $       36        24     00100100     T      84       54      01010100

  %       37        25     00100101     U      85       55      01010101

  &       38        26     00100110     V      86       56      01010110

  '       39        27     00100111     W      87       57      01010111

  (       40        28     00101000     X      88       58      01011000

  )       41        29     00101001     Y      89       59      01011001

  *       42        2A     00101010     Z      90       5A      01011010

  +       43        2B     00101011     [      91       5B      01011011

  ,       44        2C     00101100           92       5C      01011100

  -       45        2D     00101101     ]      93       5D      01011101

  .       46        2E     00101110     ^      94       5E      01011110

  /       47        2F     00101111     _      95       5F      01011111

  `       96        60     01100000     Щ     153       99      10011001

  a       97        61     01100001     Ъ     154       9A      10011010

  b       98        62     01100010     Ы     155       9B      10011011

  c       99        63     01100011     Ь     156       9C      10011100

  d      100        64     01100100     Э     157       9D      10011101

  e      101        65     01100101     Ю     158       9E      10011110

  f      102        66     01100110     Я     159       9F      10011111

  g      103        67     01100111     a     160       A0      10100000

  h      104        68     01101000     б     161       A1      10100001

  i      105        69     01101001     в     162       A2      10100010

  j      106        6A     01101010     г     163       A3      10100011

  k      107        6B     01101011     д     164       A4      10100100

  l      108        6C     01101100     e     165       A5      10100101

  m      109        6D     01101101     ж     166       A6      10100110

  n      110        6E     01101110     з     167       A7      10100111

  o      111        6F     01101111     и     168       A8      10101000

  p      112        70     01110000     й     169       A9      10101001

  q      113        71     01110001     к     170       AA      10101010

  r      114        72     01110010     л     171       AB      10101011

  s      115        73     01110011     м     172       AC      10101100

  t      116        74     01110100     н     173       AD      10101101

  u      117        75     01110101     o     174       AE      10101110

  v      118        76     01110110     п     175       AF      10101111

  w      119        77     01110111     €     176       B0      10110000

  x      120        78     01111000     ‰     177       B1      10110001

  y      121        79     01111001     Љ     178       B2      10110010

  z      122        7A     01111010     ‹     179       B3      10110011

  {      123        7B     01111011     Њ     180       B4      10110100

  |      124        7C     01111100     Ќ     181       B5      10110101

  }      125        7D     01111101     Ћ     182       B6      10110110

  ~      126        7E     01111110     Џ     183       B7      10110111

         127        7F     01111111     ђ     184       B8      10111000

  A      128        80     10000000     ‘     185       B9      10111001

  Б      129        81     10000001     ’     186       BA      10111010

  B      130        82     10000010     “     187       BB      10111011

  Г      131        83     10000011     ”     188       BC      10111100

  Д      132        84     10000100     †     189       BD      10111101

  E      133        85     10000101     –     190       BE      10111110

  Ж      134        86     10000110     —     191       BF      10111111

  З      135        87     10000111     ѕ     192       C0      11000000

  И      136        88     10001000     ™     193       C1      11000001

  Й      137        89     10001001     љ     194       C2      11000010

  K      138        8A     10001010     Ѓ     195       C3      11000011

  Л      139        8B     10001011     њ     196       C4      11000100

  M      140        8C     10001100     ќ     197       C5      11000101

  H      141        8D     10001101     ћ     198       C6      11000110

  O      142        8E     10001110     џ     199       C7      11000111

  П      143        8F     10001111     …     200       C8      11001000

  P      144        90     10010000     ѓ     201       C9      11001001

  C      145        91     10010001     ›     202       CA      11001010

  T      146        92     10010010     Ј     203       CB      11001011

  У      147        93     10010011     Ѕ     204       CC      11001100

  Ф      148        94     10010100     Ґ     205       CD      11001101

  X      149        95     10010101     ¦     206       CE      11001110

  Ц      150        96     10010110     §     207       CF      11001111

  Ч      151        97     10010111     ‚     208       D0      11010000

  Ш      152        98     10011000     „     209       D1      11010001

  ‡      210        D2     11010010     щ     233       E9      11101001

  «      211        D3     11010011     ъ     234       EA      11101010

  ¬      212        D4     11010100     ы     235       EB      11101011

  ­      213        D5     11010101     ь     236       EC      11101100

  ®      214        D6     11010110     э     237       ED      11101101

  Ђ      215        D7     11010111     ю     238       EE      11101110

  ©      216        D8     11011000     я     239       EF      11101111

  ±      217        D9     11011001     E     240       F0      11110000

  І      218        DA     11011010     e     241       F1      11110001

  і      219        DB     11011011     Є     242       F2      11110010

  ґ      220        DC     11011100     є     243       F3      11110011

  µ      221        DD     11011101     Ї     244       F4      11110100

  ¶      222        DE     11011110     ї     245       F5      11110101

  ј      223        DF     11011111     Ў     246       F6      11110110

  p      224        E0     11100000     ў     247       F7      11110111

  c      225        E1     11100001     °     248       F8      11111000

  т      226        E2     11100010     •     249       F9      11111001

  у      227        E3     11100011     ·     250       FA      11111010

  ф      228        E4     11100100     »     251       FB      11111011

  x      229        E5     11100101     №     252       FC      11111100

  ц      230        E6     11100110     ¤     253       FD      11111101

  ч      231        E7     11100111     ?     254       FE      11111110

  ш      232        E8     11101000           255       FF      11111111

Сводная таблица расширенных кодов.

Значение 2-гo байта    Соответствующие клавиши

   15                   Shift + Tab ("back-tab")

   16-25                Alt-Q - Alt-P (верхний pяд букв)

   30-38                Alt-A - Alt-L (средний pяд букв)

   44-50                Alt-Z - Alt-M (нижний pяд букв)

   59-68                Функциональные клавиши F1 - F10

   71                   Home

   72                   Cursor-up (стрелка вверх)

   73                   PgUp

   75                   Cursor-left (стрелка влево)

   77                   Cursor-right (стрелка вправо)

   79                   End

   80                   Cursor-down (стрелка вниз)

   81                   PgDn

   82                   Ins

   83                   Del

   84-93                F1-F10 + Shift

   94-103               F1-F10 + Ctrl

   104-113              F1-F10 + Alt

   114                  Ctrl + PrtSc

   115                  Ctrl + Cursor-left

Обратите внимание на лекцию "Доброкачественные опухоли почки".

   116                  Ctrl + Cursor-right

   117                  Ctrl + End

   118                  Ctrl + PgDn

   119                  Ctrl + Home

   120-131              Alt + 1 - Alt + = (верхний pяд)

   132                  Ctrl + PgUp


Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее