Аппаратное обеспечение IBM PC



     задвижка клиновая чугунная |     

Порты для работы с клавиатурой - часть 3


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

Биты Значение

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

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

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

3-7 не используются.

Приведем пример простейшей программы, управляющей светодиодами на лицевой панели компьютера. Такое управление может выполняться только при использовании порта 60h управления клавиатурой, так как BIOS не содержит соответствующей поддержки. Наша программа после запуска включит все светодиоды и будет ожидать нажатия на любую клавишу. После нажатия программа выключит светодиоды.

#include <stdio.h>

void main(void);

void main(void) {

int i;

// Посылаем процессору клавиатуры // команду управления светодиодами

outp(0x60,0xed);

// Перед посылкой второго байта команды // выполняем небольшую задержку

for(i=0; i<4000; i++);

// Выводим второй байт команды, // младшие три бита которого определяют // состояние светодиодов на лицевой панели // клавиатуры.

outp(0x60,7);

// Ожидаем нажатия на любую клавишу.

getch();

// Выключаем все светодиоды.

outp(0x60,0xed); for(i=0; i<4000; i++); outp(0x60,0);

exit(0); }




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