Вычислительная техника и сети в задачах управления качеством. Балабанов П.В - 79 стр.

UptoLike

79
P
4
.
4
P
4
.
3
P4.5
P
4
.
6
P4.1
P4.0
P4.2
входы выходы
SB3
SB8
SB6
SB12
t
t
t
t
t
t
t
Рис. 14.3. Временная диаграмма работы матричной клавиатуры
Координаты нажатой кнопки определяются номером сканируе-
мого столбца и номером строки, в которой получен логический 0.
На рисунке 14.3 показаны сигналы на входных линиях порта P4
при нажатии кнопок во время сканирования клавиатуры. Нажатие
кнопки SB3 (см. рис. 14.2) вызывает появление нуля на входе P4.3
при сканировании столбца, подключённого к выходу P4.0. По анало-
гии другие кнопки будут вызывать появление следующих сигналов
(рис. 14.2, 14.3):
– SB6 – P4.4 = 0 при P4.0 = 0;
– SB8 – P4.5 = 0 при P4.1 = 0;
– SB12 – P4.6 = 0 при P4.0 = 0.
Алгоритм сканирования матрицы и отображения кода нажатой
клавиши на индикаторе поясняет блок-схема, представленная
на рис. 14.4.
В блоке 1 инициализируется переменная SCAN для опроса
третьего столбца матрицы. В блоке 2 производится вывод значения
переменной SCAN в порт P4, а в блоке 3 ввод с порта P4 и присвое-
ние полученного значения переменной KEY.
В блоке 4 выполняется проверка факта нажатия кнопки в опра-
шиваемом столбце клавиатуры. Если ни одна кнопка не нажата, то
переменная KEY в двоичных разрядах 3…6 будет содержать логиче-
ские единицы, и проверка даст отрицательный результат. Если же хотя
бы одна кнопка нажата, то переменная KEY в соответствующем дво-
ичном разряде будет содержать логический нуль, следовательно, про-
верка даст положительный результат.