Способ опроса матричной клавиатуры

Изобретение относится к области электронной техники, а более конкретно к способу обработки вводимой информации с клавиатуры.

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

 

Изобретение относится к области электронной техники, а более конкретно к способу обработки вводимой информации с клавиатуры.

В настоящее время известны несколько способов опроса клавиатуры, позволяющих вводить информацию в различные приборы и устройства. В большинстве из них опрос выполняют с помощью контроллера (микроконтроллера), при этом постоянно сканируют клавиатуру для определения кода нажатой клавиши. Эти способы являются аналогами к заявляемому техническому решению и описаны в источниках [1], [2].

Ближайшим техническим решением из аналогов - прототипом к заявляемому способу, является способ опроса клавиатуры методом сканирования, приведенный в статье [1].

В этом способе, в клавиатуре, выполненной в виде матрицы, горизонтальные линии являются для микроконтроллера выходными, а вертикальные - входными, подтянутыми с помощью резисторов к уровню питания. Для определения кода нажатой клавиши, микроконтроллер постоянно производит циклическое сканирование горизонтальных линий матрицы, т.е. попеременно выставляет на одной из горизонтальных линий сигнал логического "0", а на остальных - сигнал логической "1". В каждой фазе сканирования считывается и анализируется код на вертикальных линиях матрицы. При замыкании какой-либо из клавиш и появлении сигнала логического "0" в вертикальной линии, микроконтроллер считывает код с вертикальных линий и определяет код нажатой клавиши.

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

Задачей заявляемого решения является уменьшение времени, затрачиваемого микроконтроллером на опрос клавиатуры.

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

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

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

Схемотехническая реализация способа может быть такой, как в прототипе, и приведена в статье [1].

Примером для реализации способа опроса матричной клавиатуры может служить устройство, состоящее из двух горизонтальных и двух вертикальных линий, изображенное на чертеже. Устройство содержит микроконтроллер 1, к порту 2 которого подключены горизонтальные линии 3 и 4 матричной клавиатуры 5, а к порту 6 подключены вертикальные линии 7 и 8 матричной клавиатуры 5, которая содержит клавиши 9, 10, 11, 12 и резисторы 13, 14, 15, 16, подтягивающие горизонтальные линии 3 и 4 и вертикальные линии 7 и 8 к напряжению питания.

Устройство работает следующим образом. В исходном состоянии в микроконтроллере 1 настраивают порт 2 на выход и на горизонтальных линиях 3 и 4 устанавливают уровень логического "0", а порт 6 настраивают на вход с возможностью работы по прерыванию. На вертикальных линиях 7 и 8 подтягивающими резисторами 15 и 16 задают уровень логической "1". Пока ни одна из клавиш не нажата, микроконтроллер 1 не получает сигнал прерывания по порту 6 и выполняет основную программу, не затрачивая времени на обслуживание клавиатуры. При нажатии клавиши, например 9, на вертикальной линии 7 появляется уровень логического "0", вызывающий прерывание микроконтроллера 1. Микроконтроллер 1 читает состояние порта 6, затем перепрограммируют линии порта 2 на вход, а линии порта 6 на выход с повторением считанного состояния, т.е. устанавливая в линии 7 уровень логического "0", а в линии 8 уровень логической "1". При этом уровень в линии 3 станет равным логическому "0", который считывают микроконтроллером 1, читая состояние порта 2. Из совокупности кода, установленного в порт 6 и принятого по порту 2, формируют код нажатой клавиши. Уровень логической "1" в порту 2 задают подтягивающими резисторами 13 и 14. После отжатия клавиши, микроконтроллер 1 возвращается в исходное состояние и настраивает порт 2 на выход, а порт 6 - на вход.

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

Литература

1. Схемотехника, №10, 11, 2001 г., «Интерфейсы с клавиатурой».

2. Интернет страница: //ofap.ulstu.ru - Справочник по однокристальным микроконтроллерам КМ1816ВЕ48.

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



 

Похожие патенты:

Изобретение относится к способам и системам ввода информации. .

Изобретение относится к способам ввода символов с использованием кнопок на электронных устройствах. .

Изобретение относится к области систем ввода текста. .
Изобретение относится к устройствам ввода печатной информации (клавиатурам), предназначено для ускорения скорости печатания на клавиатуре. .

Изобретение относится к узлу клавиатуры для использования с терминалом, который содержит осветительные элементы. .

Изобретение относится к переносным электронным устройствам, в частности к двухрежимным переноным устройствам связи или мобильным станциям с вводом при помощи клавиатуры.

Изобретение относится к способам ввода текста в электронные устройства с помощью клавиатуры. .

Изобретение относится к ручным устройствам ввода данных и может быть использовано для построения унифицированных пультов управления различных систем обработки данных.

Изобретение относится к области информатики и может найти широкое применение, например, в портативных компьютерах. .

Изобретение относится к способу ввода информации через оптическую клавиатуру и устройству реализации оптической клавиатуры

Изобретение относится к вводу данных в электронные устройства

Изобретение относится к способу ввода текста в устройство

Изобретение относится к вычислительной технике, может быть использовано в компьютерных технологиях и применяется в системах обработки и передачи информации

Изобретение относится к бытовому электроприбору, такому как печь, холодильник или стиральная машина

Изобретение относится к клавиатуре для электронного оборудования, к способу для управления клавиатурой для электронного оборудования и к электронному оборудованию для беспроводной связи, содержащему клавиатуру

Изобретение относится к коммуникациям, более конкретно к предсказанию слова на основании пользовательского ввода

Изобретение относится к активации ссылок с использованием агента пользователя, такого как веб-браузер, реализованный в карманном или мобильном устройстве. Технический результат заключается в компенсации ошибки ввода при использовании пальца или стилуса для щелчка на интерактивном элементе. Такой результат достигается за счет того, что вычисляется точка касания на экране и устанавливается радиус зоны касания, отходящий из точки касания, если обнаруживается, что выбираемые объекты, по меньшей мере, частично находятся в зоне касания, определяемой радиусом, они частично активируются путем изменения характера их отображения. При вычислении другой точки касания, задающей частично активированный объект, он полностью активируется, а другие частично активированные объекты деактивируются. 3 н. и 16 з.п. ф-лы, 22 ил.
Наверх