Page 18 - 4875
P. 18

Використання портів вводу/виводу для роботи з клавіатурою

                                  Для  роботи  з  клавіатурою  використовують  порти  60h  (при
                           зчитуванні  містить  ScanCode  останньої  натиснутої  клавіші)  та  61h
                           (здійснює управління клавіатурою і не тільки). Порт 61h доступний як
                           для читання, так і для запису, його старший біт дозволяє заблокувати
                           або  розблокувати  клавіатуру.  Для  успішної  роботи  слід  зберегти
                           попередній  стан  бітів  цього  порту,  попередньо  зчитавши  його,  потім
                           змінити і записати нове значення в регістр. Якщо старший біт дорівнює
                           ”1” клавіатура блокується, а “0” – розблоковується.

                                  in     al,61h
                                  or     dl,80h
                                  out    61h,al

                                  Для  розширення  керування  клавіатурою  використовують  порт
                           60h в режимі запису. Байт записаний в даний порт інтерпретується як
                           команда. Деякі команди складаються з  більше як один байт – тоді слід
                           дочекатися  обнулення  даного  біту  перш  ніж  посилати  наступний  біт
                           (деякі стандартні команди подані в таблиці 3.1).

                                  Таблиця 3.1 – Стандартні команди для порта 60h
                                Функція                        Значення
                                             Змінити  стан  світодіодів  клавіатури  (другий
                                  0EDh
                                             байт цієї команди визначає новий стан).
                                             Ехо-запит  (клавіатура  відповідає  скан-кодом
                                  0ЕЕh
                                             ЕЕh).
                                  0F3h       Встановлення параметрів режиму автоповтору.
                                  0F4h       Включення клавіатури.
                                  0F5h       Виключення клавіатури.
                                  0F6h       Встановлення параметрів по замовчуванню.
                                  0FЕh       Послати останні скан-код ще раз.
                                  0FFh       Виконати самотестування.



















                                                           17
   13   14   15   16   17   18   19   20   21   22   23