Команды и директивы компилятора PROTON

InKey

Синтаксис:

Variable = InKey

Этот оператор предназначен для работы с матричными клавиатурами размерами 4 х 4 или 3 х 4 клавиши. Он сканирует состояние клавиш клавиатуры, и полученное значение возвращает в переменную.

При нажатии клавиши оператор InKey возвращает значения между 0 и 15. Если никакая клавиша не нажата, то возвращенное значение равно 16.

Пример

На рисунке 1 приведена типовая схема подключения 12-кнопочной клавиатуры к микроконтроллеру PIC16F84. Если используется клавиатура с 16 кнопками, то 4-й столбец необходимо соединить с PORTB.7 (RB7).

Рис. 1. Типовая схема подключения клавиатуры к микроконтроллеру.

Порядок подключения выводов клавиатуры к микроконтроллеру может быть выбран произвольно с учетом топологии клавиатуры и желанием упростить рисунок соединения печатных проводников связывающих микроконтроллер и клавиатуру. Используя совместно с командой InKey команду LookUp, возвращаемые значения могут быть нужным образом преобразованы и cопоставлены надписям на клавиатуре, например:

Переопределения для команды INKEY.

Подключить клавиатуру можно к любому порту. Однако цепи клавиатуры требуют подключения подтягивающих резисторов. Поэтому, лучшим портом микроконтроллера для этих целей является PORTB, который имеет в своем составе внутренние подтягивающие резисторы. Чтобы включить внутренние подтягивающие резистора порта PORTB необходимо в список определений включить следующую запись:

При подключении клавиатуры к другому порту необходимо использовать директиву:

Если директива DeclareKEYPADPORT PORTn не было использована в программе, то по умолчанию используется PORTB.

На рисунке 2 приведена действующая модель inkey3x4.DSN демонстрирующая работу команды InKey c 12-кнопочной матричной клавиатурой. Модель работает под управлением программы inkey3x4.bas. В программе используются определениe включающее внутренние подтягивающие резисторы входящие в состав PORTB и определения обеспечиваюшие работу графического ЖКИ на основе контроллера Toshiba T6963.

Нажмите кнопку Нажмите кнопку Нажмите кнопку
Нажмите кнопку Нажмите кнопку Нажмите кнопку
Нажмите кнопку Нажмите кнопку Нажмите кнопку
Нажмите кнопку Нажмите кнопку Нажмите кнопку

Рис. 1. Действующая модель inkey3x4.DSN, демонстрирующая работу команды InKey .
По этой ссылке можно скачать архив действующей схемы и необходимые для ее работы ASM и HEX файлы.

Листинг программы inkey3x4.bas