Определение факта нажатия на одну из клавиш. Программное обеспечение работы клавиатуры.

Деянов К.В. Январь 9,2014

Теперь давайте рассмотрим подпрограммы, реализующие описанные выше алгоритмы. Начнём с подпрограммы определения факта нажатия на одну из клавиш.Здесь всё просто. Первая команда настраивает младшие 4 линии порта Р1 на ввод (занесением единиц в соответствующие биты регистра порта) и выводит нули на старшие 4 линии. Далее содержи-мое порта считывается в аккумулятор, инвертируется командой CPL А, и старшие 4 бита его зануляются командой ANL.
Давайте теперь проанализируем содержимое аккумулятора после выполнения этих четырёх команд. Если ни одна из клавиш не была нажата, то возвратные линии были в единичном состоянии. Следовательно, в единичном состоянии оказались и 4 младших бита аккумулятора после чтения в него содержимого порта Р1. Инверсия аккумулятора занулила его 4 младших бита, а последняя команда занулила 4 старших. Итого после выполнения команды ANL А содержимое аккумулятора будет нулевым, если ни одна из клавиш не нажата, и отличным от 0, если что-то нажато.

Свяжитесь с нами

Отправьте ваш запрос на почту sales@chipslon.ru

Телефон:+7-(499)-408-37-63

Отправить запрос по e-mail

Рассылка

ChipSlon