Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Процедура ввода цифры с клавиатуры. Опрос матрицы двоичных датчиков




Ввод символов с клавиатуры. Опрос группы упорядоченных двоичных датчиков

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

При проектировании интерфейса ввода-вывода МП-контроллера необходимо решать задачу об оптимальном (по ряду критериев) распределении функции между аппаратными и программ­ными средствами интерфейса. В общем случае необходимо исходить из того, что применение специализированных БИС упрощает разра­ботку и обеспечивает высокое быстродействие системы, но сопряжено с увеличением стоимости, объема и потребляемой мощности МП-контроллера.

По способам аппаратной реализации различают два типа кла­виатур:

1. Кодирующие. У клавиатур этого типа схемным путем на вы­ходе формируется код, соответствующий нажатой клавише. Приме­ром могутслужить оцифрованные переключатели (на 10 или 16 по­зиций).

2. Некодирующие. Представляют собой матрицу двоичных пере­ключателей, включенных на пересечении строк и столбцов матрицы (чаще всего 4х4 или 5х5). Идентификация и кодирование нажатой клавиши в таких клавиатурах выполняются программой. Переключа­тели 4х4 предназначены для ввода шестнадцатеричных кодов дан­ных и команд, а 5х5, кроме этого, имеют еще и девять функциональ­ных клавиш для управления режимом работы МП-контроллера.

 

 

Процедура ввода числа с клавиатуры состоит из ряда частных процедур: ожидания нажатия клавиши, сканирования, устранения дребезга контактов, ожидания освобождения нажатой клавиши, обна­ружения одновременного нажатия двух и более клавиш, определения веса нажатой клавиши (идентификация). Особенности реализации этих процедур при работе с клавиатурой вызваны тем, что группы клавиш объединены в матрицу 4х4 (рис. 61).

Вертикальные линии К1 (колонки или столбцы) являются вы­ходными, а горизонтальные линииCi (строки матрицы) - входными Для МП-контроллера. Один вывод каждой клавиши соединен с одной Из колонок Ki, а другой - с одной из строк Ci матрицы. Аналогичным способом в матрицу могут быть включены автономные двоичные дат­чики объекта управления, когда их много.

Сканирование. Частная процедура сканирования служит для обнаружения нажатой клавиши и последующей ее идентификации. Процедура состоит в последовательной выборке и считывании кода столбца строк матрицы клавиатуры. БСА представлена на рисунке 62.

 


 

Рисунок 61 – Структура клавиатуры 4 х 4 и схема подключения ее к МП-контроллеру; ША - первый разряд шины адреса

Выборка столбца осуществляется выдачей в выходной порт сло­ва выборки, формирующего в каждый момент времени значение ло­гического 0 только на одной из вертикальных линий матрицы KI (активный столбец). На всех остальных вертикальных линиях матри­цы должен быть сформирован уровень логической единицы. Столбцы выбираются последовательно, начиная с КО. Для этого МП-контроллер обеспечивает последовательную выдачу через порт 1 слов выборки бегущий нуль, т.е. последовательность кодов 1110, 1101, 1011, 0111, формируемую операциями сдвига. Для матриц большой размер­ности используется аппаратный способ формирования слов выборки бегущий нуль. К выходному порту подключается дешифратор, после­довательность слов выборки будет иметь вид 00, 01, 10,11 и может быть сформирована программным счетчиком.

После каждой новой генерации слов выборки горизонтальные линии должны быть опрошены МП-контроллером. Если при опросе горизонтальная линия Ci приобретет значение 0 (активная строка), то имеется возможность программным путем определить нажатую кла­вишу, так как сигнал на входной горизонтальной линии будет иметь значение 0 только в том случае, если нажатая клавиша соединяет ее с вертикальной линией матрицы, на которой в данный момент време­ни присутствует уровень 0. МП-контроллер выполняет сканирование матрицы клавиатуры до тех пор, пока не обнаружит нажатую клави­шу, после чего реализуется переход к частной процедуре устранения дребезга контакта.

Рисунок 62 – Схема алгоритма частной процедуры сканирования

Фрагмент программы сканирования:

 

SCAN: MVI A,OFFH; слово выборки – 11111110
SCAN1: MOV B,A; сохранение копии СВ в регистре В
  OUT 01H; выдача СВ
  IN 01H; считывание строк
  CPI OEFH; анализ состояния клавиш
  JNZ SCAN2  
  MOV A,B  
  RLC   ; сдвиг
  CPL OEFH ; опрошен последний столбец матрицы
  JNZ SCAN1  
  JMP SCAN  
SCAN2: MOV C,A ; сохранение кода активной строки
      ;в регистре С
DBOUNCE:     ;начало частной процедуры DBOUNCE

 

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

Устранение дребезга контактов при вводе символа с клавиату­ры реализуется программой временной задержки величиной 10-50 мс, после чего МП-контроллер переходит к частной процедуре ожидания освобождения нажатой клавиши.

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

На рисунке 63. представлена БСА, а программа имеет вид:

 


WAITOP: MOV A,B ; загрузка CВ в аккумулятор
  OUT 01H ; вывод СВ
WAIT01: IN 01H ; считывание строк
  CPI OEFH ; анализ состояния клавиш
  JNZ WAIT01 ; если нажатая клавиша, то ждать
KEYW:     ; начало частной процедуры
      ; определения веса нажатой клавиши
       



Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 512; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.