Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kharakhnin / ПОСОБИЕ_Харахнин.doc
Скачиваний:
278
Добавлен:
08.03.2016
Размер:
17.89 Mб
Скачать

Глава 5. Аппаратные средства

МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ И ИХ

ПРОГРАММИРОВАНИЕ

5.1. Ввод информации с клавиатуры

Клавиатура является одним из самых широко распространенных устройств для ввода информации в микропроцессорный контроллер. В различных по сложности и назначению системах используются следующие виды клавиатур:

  • простейшие, состоящие из нескольких управляющих клавиш;

  • цифровые, предназначенные для ввода параметров и управления режимами микропроцессорного контроллера, состоящие из шестнадцатеричных и управляющих клавиш;

  • алфавитно-цифровые, применяемые в калькуляторах и персональных компьютерах.

По технической реализации клавиатуры делятся на:

  • контактные механические;

  • бесконтактные герконовые;

  • использующие токопроводящую резину;

  • многофункциональные клавиатуры на основе сенсорных переключателей.

Различают клавиатуры кодирующие и некодирующие. В клавиатурах первого типа аппаратным способом на выходе формируется код, соответствующий нажатой клавише. Широкое распространение получили некодирующие матричные клавиатуры, которые представляют собой простую матрицу двоичных переключателей требуемой размерности, включенных на пересечении строк и столбцов матрицы. Идентификация кода нажатой клавиши выполняется программно.

Для обслуживания клавиатур в микропроцессорных системах используют, как правило, два способа:

  • постоянный опрос (сканирование) состояния клавиш, фиксация момента нажатия клавиши и определение ее кода;

  • использование режима прерываний: аппаратным путем при нажатии клавиши формируется сигнал-запрос на прерывание, после чего в подпрограмме обслуживания прерывания программным путем определяется код клавиши.

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

5.1.1. Прямое подключение клавиш к разрядам порта мк

Подключение восьмиклавишной клавиатуры к разрядам порта Р2 МК показано на рис. 27. Резисторы с R2 по R9 выполняют роль “подтягивающих”, своими вторыми выводами они подключены к источнику питания +5В. Если ни одна из клавиш не нажата, то на разряды порта Р2 подаются единичные уровни сигналов. При нажатии на клавишу в разряде порта возникает нулевой уровень. Работа такой клавиатуры организована в режиме прерываний. Имеется логическая схема, выполняющая логическую функцию “8-И”. В случае если на всех входах этой схемы единичные сигналы, то на выходе имеет место также единичный уровень, поступающий на вход INT0 МК, прерывания в работе МК не наступает. При нажатии на клавишу один из восьми сигналов станет нулевым и на выходе схемы “8-И” появится нулевой активный сигнал. Это вызовет прерывание в работе процессора МК.

Недостатком такой схемы является эффект “дребезг контакта” при нажатии на клавишу (явление переходного процесса), который устраняется путем подключения параллельно каждой клавише конденсатора (на рис.27 конденсаторы не показаны) и введения временной задержки в программе. Рассмотрим алгоритмы (рис.28, 29) и программу реализации клавиатуры для рассматриваемой схемы.