иці датчиків.
Така задача виникає, коли число датчиків багато більше числа входів контролера.
Розглянемо підключенні е клавіатури з 64 контактів, підключених до УМК у вигляді матриці 8х8.
В
P0 - на читання інформації.
P1 - на виведення інформації.
Сигнал на виході порту P1 послідовно сканує 8 шпальт матриці активним сигналом логічної одиниці "1", починаючи зі старшого розряду P1.7.
Через P0 зчитується стан всіх контактів у даному стовпці і запам'ятовується у восьми байтовому масштабі з побітовій адресацією.
Після завершення сканування через 8 тактів даний масив АЗП являє собою карту поточного стану всіх контактів.
В
Принципова схеми матриці в кожному вузлі представляє контакт, включений послідовно з діодом, всі діоди включені паралельно на кожній лінії опитувань ***. Прі не натиснутих контактах стан лінії опитування зчитується у вигляді логічного нуля, тому що кожна лінія через резистор 43 кОм приєднана до землі. Усі 8 шпальт матриці приєднані до напруги харчування Uп = +5 В за допомогою резисторів R = 4.3 Ом, тому замкнутий стан контакту в будь-якому режимі зчитується у вигляді логічної одиниці. Останнє виконується в тому випадку, якщо на стовпець у якому розташований замкнутий контакт буде подаватися логічна одиниця з виходу порту P1. На шпальтах з логічним нулем замкнутий стан контакту читається в ідеї логічного нуля. Для запобігання взаємного впливу декількох замкнутих контактів на одній лінії служать розв'язують діоди. p> Блок схема процедури сканування.
Буфер матриці сканування - область АЗП, з програмно *** бітами, де зберігаються 64 поточних значення стану контактів і 64 значення попередніх значень. Поточне значення адреса 20H - 27H, попереднє значення - 28H - 2FH. br/>В
Малюнок 37. Блок-схема процедури сканування
.0 H
.1 H
адресу бітів в осередки 20H
.7 H
Маска сканування - інформація, що виводять в порт P1 у вигляді логічної одиниці в одному з розрядів.
Початкове значення маски:
B
B
_________
B
Покажчики буфера матриці - регістри непрямої адресації R0, R1 для доступу до буфера матриці.
MOV R0, # 20H - ініціалізація покажчиків
MOV R1, # 28H буфера матриці
MOV A, # R0H - ініціалізація матриці сканування
SCAN: MOV R1, A - висновок маски A - зрушення в право маски
MOV R2, A - запам'ятовування маски
MOV A, R0 - читання ліній опи...