Аппаратное обеспечение персонального компьютера



           

Современные компьютеры - часть 2


Второй и следующие байты таких команд необходимо записывать в порт 60h, предварительно убедившись в готовности процессора 8042 с помощью приведенной выше последовательности команд. В большинстве случаев можно также использовать простую временную задержку:

  mov   al, cmd_byte1

  out   60h, al

  mov   cx, 2000h

wait_loop: loop wait_loop

  mov   al, cmd_byte2

  out   60h, al

Мы приведем формат двух команд процессора 8042, имеющих отношение к работе с клавиатурой - команду установки задержки и периода автоповтора и команду управления светодиодами, расположенными на клавиатуре.

Для установки характеристик режима автоповтора в порт 60h необходимо записать код команды 0F3h, затем байт, определяющий характеристики режима. Ниже вы найдете описание полей байта режима автоповтора:

Биты

Описание

0-4

Период автоповтора, который определяет количество посылок скан-кода, генерируемых процессором клавиатуры в одну секунду. Можно использовать не только те значения, которые приведены ниже, но и промежуточные, например, 9 или 15h.

0              30.0

1              26.7

2              24.0

4              20.0

8              15.0

0Ah         10.0

0Dh        9.2

10h         7.5

14h         5.0

1Fh         2.0

5-6

Задержка включения режима автоповтора, mc:

00           250

01           500

10           750

11           1000

7

Зарезервировано и должно быть равно нулю

Первоначально при инициализации системы BIOS устанавливает период задержки для включения режима автоповтора равным 500 мс при периоде автоповтора, равным 10 повторам в секунду. Если это слишком медленно для вас, вы можете установить другие значения.

Для управления светодиодами, расположенными на лицевой панели клавиатуры, используйте команду 0EDh. Вслед за этой командой в порт 60h необходимо записать байт, имеющий следующий формат:

Биты

Описание

0

1 – включить светодиод Scroll Lock;

0 – выключить светдиод Scroll Lock

1

1 – включить светодиод Num Lock;

0 – выключить светодиод Num Lock

2

1 – включить светодиод Caps Lock;

0 – включить светодиод Caps Lock




Содержание  Назад  Вперед