При опитуванні кнопкової клавіатури виникає дилема – як вкластися в доступне число вільних ліній MK і не надто ускладнити підпрограму обслуговування кнопок З метою зменшення кількості ланцюгів застосовують метод поєднання функцій портів MK, коли одні й ті ж висновки використовуються по різному в залежності від ситуації

Кнопкову клавіатуру, конструктивно оформлену єдиним блоком у вигляді матриці 3×4, 3×5 або 4×4 кнопок (як у телефонній номеронабирачі), прийнято називати тастатурой Кнопки рядків і стовпців в тастатуре електрично зєднуються загальними шинами Разом назовні від 16 кнопок виходять всього лише 8 проводів, тобто в 2 .. 4 рази менше, ніж зазвичай Опитування тастатурним кнопок відбувається за спеціальним алгоритмом, який придумує програміст

На Рис 35, а .. ф показані схеми підключення різних кнопкових клавіатур (тастатур) до вхідних / вихідних лініях MK

Рис 35 Схеми підключення кнопкових клавіатур до вхідних / вихідних лініях MK

(Початок):

а) для опитування кнопок SB1 .. SB16 на вихідних лініях MK «0» .. «3» програмно організується «біжучий одиниця», тобто в будь-який момент часу лише в одного ланцюга має високий рівень, а що залишилися переводяться в режим входу без «pull-uр» резистора У момент натискання кнопки на одній з вхідних ліній «4» .. «7» зявляється ВИСОКИЙ рівень Знаючи, яка вихідна лінія в цей момент була активна, обчислюється номер кнопки Допускається замикання двох будь-яких контактів одночасно Але не більше, інакше виходять неправдиві свідчення Наприклад, одночасне натискання кнопок SB1, SB5, SB6 еквівалентно натисканню кнопок SB1, SB2 і тд;

б) аналогічно Рис 35, а, але з формуванням «біжить нуля» і з «pull-uр» резисторами

в) поєднання «приємного з корисним» – по одним і тим же лініях МК виводиться інформація на світлодіодний індикатор HG1 і через них же опитуються кнопки SB1 .. SBn Перемикання режимів «Опитування» та «Індикація» виробляється з частотою приблизно 50 .. 100 Гц, щоб не було мигання цифр на табло HG1 У режимі індикації на нижньому виході MK виставляється НИЗЬКИЙ рівень, а на 8-бітної шині даних – код символу, що виводиться на індикатор HG1 У режимі опитування кнопок на нижньому виході MK виставляється ВИСОКИЙ рівень, а всі лінії шини даних перебудовуються як входи з «pull-uр» резисторами При натисканні будь-який з кнопок на відповідній вхідної лінії буде НИЗЬКИЙ рівень Знаючи комбінацію сигналів на 8-бітної шині, можна визначити, які кнопки були натиснуті Опору резисторів ЯА повинні бути більше 1 кОм, інакше може знизитися яскравість світіння індикатора HG1 \

г) аналогічно Рис 35, в, але для підвищення яскравості світіння індикатора HG1 вводиться транзисторний ключ VT1 і зменшуються опору резисторів R1 .. R8 Загальна ланцюг кнопок SB1 .. SBn зєднується ні з GND, а з нижнім виходом MK, перемикальним режими «Опитування» та «Індикація» Це підвищує завадостійкість і знижує споживання струму під час тривалого утримування кнопок в замкнутому стані

д) спочатку конденсатор C1 обнуляється найнижчими рівнем з виходу MK, потім лінія перебудовується в режим входу без «pull-up» резистора По каналу АЦП і таймером вимірюється час заряду конденсатора C1 до певного порога через один або кілька резисторів R Їх сумарний опір залежить від того, яка за рахунком кнопка SB1 .. SBn була замкнута При одночасному натисканні декількох кнопок визначатися буде лише крайня зліва з них

Рис 35 Схеми підключення кнопкових клавіатур до вхідних / вихідних лініях MK

(Продовження):

е) одночасне опитування кнопок з самоповерненням SB1 .. SB4 і джамперних зєднувачів Sl .. S4 Останні опитуються тільки при високому рівні на виході MK і за відсутності натискання кнопок SB1 .. SB4 При НИЗЬКОМУ рівні на виході МК опитування неможливий Резистори R1 . R4 «привязують» вхідні лінії MK до загального проводу Їх опір має потрапити в «золоту середину» – бути не надто малим, інакше збільшиться витрата струму, і не бути занадто великим, інакше кнопки можуть нестійкий спрацьовувати на мікрострумами

ж) аналогічно Рис 35, в, але для РКІ HG1 У режимі опитування перемикачів 67 .. 54МКвтавляет на верхньому виході НИЗЬКИЙ рівень, а решта переводить в режим входу з «рі11-ір» резистором Потім аналізує стан ліній і визначає, які перемикачі були натиснуті У режимі індикації HG1 MK формує на верхньому виході позитивний імпульс, встановивши на інших виходах необхідну комбінацію сигналів на шині даних «DB4» .. «DB7»

з) аналогічно Рис 35, б, але для клавіатури заварного інструменту Sl .. S64 За електричній схемі – це матриця 8×8 замикаючих контактів з самоповерненням

і) підключення паралельно шині даних РКІ промислової тастатури, що складається з 15 кнопок SB1 .. SB15 (матриця 3×5) Режим опитування тастатури проводиться при забороні запису інформації в РКІ (цей сигнал теж формується від MK, але на схемі для спрощення не показаний) Для опитування стану кнопок на вихідних лініях MK організовується «біжить нуль», при цьому вільні лінії переводяться в режим входу з Z-станом Ф

Рис 35 Схеми підключення кнопкових клавіатур до вхідних / вихідних лініях MK

(Продовження):

к) опитування кнопок SB1 . SB4 проводиться при низькому рівні на вихідних лініях MK Ці лінії паралельно керують і іншими вузлами пристрою Заміна діодів VD1 .. VD4 – 1N4148, КД522Б Резистор R1 може бути відсутнім, якщо кнопки / .. Т стійко срабативт при протіканні через них мікрострумів по ланцюгу «харчування +5 В – високоомний внутрішній« pull-цр »резистор МК»

л) аналогічно Рис 35, до, але з активним ВИСОКИМ рівнем на вихідних лініях MK Резистор R1 обовязковий Заміна діодів VD1 .. VD4 – BAT85 або аналогічні з барєром Шоттки Трохи гірше буде завадостійкість при застосуванні кремнієвих діодів 1 N4148

м) на трьох виходах MK послідовно формуються двійкові коди від 000 до 111, які надходять на дешифратор DD1 Сигнали на виходах дешифратора мають вигляд «біжить нуля» або надсилаються адресно в довільному порядку Допускається одночасне натискання перемикачів SL . S8, оскільки мікросхема DD1 має виходи з відкритим колектором Резистор R1 може бути відсутнім, якщо перемикачі 57 .. 5 £ стійко працюють в режимі мікрострумів від внутрішнього «pull-uр» резистора MK

н) спочатку всі лінії MK переводяться в режим входу з «pull-uр» резисторами Потім проводиться опитування стану кнопок SB1 .. SBn Якщо одна з них натиснута, то відповідна лінія MK переводиться в режим виходу з низьким рівнем, при цьому загоряється певний світлодіод HL1 .. HLn Далі МК блокує (на час або постійно) подальший опитування стану вже натиснутою кнопки

о) аналогічно Рис 35, б, але з довільною матрицею кнопок, що містить «п»-стовпців і «т»-рядків Ланцюжки фільтрів R1 .. Rn, C1 .. Cn служать для усунення помилкових спрацьовувань від наведень Праві за схемою лінії МК налаштовуються в режим «О / R» або «О / Z» Не рекомендується налаштовувати їх в режим «0/1», тому при одночасному натисканні двох кнопок на одній вертикалі відбудеться коротке замикання високих і низьких рівнів на виходах MK п) ВИСОКИМ рівнем з виходу MK дозволяється опитування кнопок SB1 .. SB4 \ p) відміну від аналогічних схем – три (а не чотири) діода VD1 .. VD3, конденсатор фільтра С /, захисний резистор R1 на випадок помилок у програмі

с) особливість схеми – захисні резистори Л/..Л7ішестьактівних входів MK: 3 штатних зліва і 3 додаткових справа На входах зліва аналізується «біжить нуль» і визначається натиснута кнопка На входах праворуч «обчислюються» одночасно натиснуті кнопки в стовпці

т) опитування кнопок S1, 52проізводітся тільки при високому рівні на виході MK, що підвищує економічність пристрою Кнопки і резистори можна поміняти місцями

Рис 35 Схеми підключення кнопкових клавіатур до вхідних / вихідних лініях MK

(Закінчення):

у) скорочення числа вихідних ліній з чотирьох до трьох Плата за задоволення – точна реєстрація натискання будь, але тільки однієї (а не кількох) кнопок

ф) на восьми верхніх виходах МК програмно організується «біжучий одиниця», яка через ключі мікросхеми DD1 по черзі засвічує одне з восьми знакомест індикатора HG1 Частота індикації висока, тому мерехтіння цифр на індикаторі HG1 відсутня Номер натиснутого перемикача * / .. визначається за низького рівня на вході MK і номером вихідний лінії MK, на якій в той момент був ВИСОКИЙ рівень Резистор ЯР задає загальний струм для всіх перемикачів Sl .. S8

Джерело: Рюмік, С М, 1000 і одна мікроконтролерна схема Вип 2 / С М Рюмік – М: ЛР Додека-ХХ1, 2011 – 400 с: Ил + CD – (Серія «Програмовані системи»)