- •Міністерство освіти і науки, молоді та спорту україни Національний університет "Львівська політехніка"
- •Інструкція до лабораторної роботи №3
- •Тема. "Опитування матричної клавіатури"
- •Мета роботи.
- •Короткі теоретичнi відомості.
- •Домашня підготовка до роботи:
- •Порядок виконання роботи
- •Література.
- •Контрольні питання.
- •Рівень знань та навичок після виконання лабораторної роботи.
Домашня підготовка до роботи:
3.1. Вивчити систему команд ОЕОМ сімейства MCS-51.
3.2. Вивчити методику опитування матричної клавіатури і визначення скан-коду натиснутої клавіші.
Порядок виконання роботи
4.1. Виконайте наведений нижче приклад опитування клавіатури. При натисканні на стенді кнопки клавіатури формується сканкод натиснутої клавіші, який співпадає з фактичним номером клавіші. Цей код виводиться на праве знакомісце статичного індикатора.
org 0
mov a,#00000111b ;підготовка статичного індикатора mov dptr,#a004h movx @dptr,a
vdp: call opyt ;опитування клавітури mov a,scan ;перевірка на відпущення xrl a,#0ch jnz vdp nat: call opyt ;перевірка на натиснення mov a,scan xrl a,#0ch jz nat
mov a,scan ;перевірка чи * ? xrl a,#0ah jz vdp mov a,scan ;перевірка чи # ? xrl a,#0bh jz vdp
mov a,scan ;вивід цифри на індикатор mov dptr,#b000h movx @dptr,a
jmp vdp
opyt: call z_100ms mov dptr,#9006h movx a,@dptr mov st1,a mov dptr,#9005h movx a,@dptr mov st2,a mov dptr,#9003h movx a,@dptr mov st3,a jnb st1.0,c_1 ;натиснута кнопка "1" ? jnb st1.1,c_4 ;натиснута кнопка "4" ? jnb st1.2,c_7 ;натиснута кнопка "7" ? jnb st1.3,c_z ;натиснута кнопка "*" ? jnb st2.0,c_2 ;натиснута кнопка "2" ? jnb st2.1,c_5 ;натиснута кнопка "5" ? jnb st2.2,c_8 ;натиснута кнопка "8" ? jnb st2.3,c_0 ;натиснута кнопка "0" ? jnb st3.0,c_3 ;натиснута кнопка "3" ? jnb st3.1,c_6 ;натиснута кнопка "6" ? jnb st3.2,c_9 ;натиснута кнопка "9" ? jnb st3.3,c_r ;натиснута кнопка "#" ? mov scan,#0ch ;всі ненатиснуті. Сканкод = С ret c_1: mov scan,#1 ;сканкод = 1 ret c_2: mov scan,#2 ;сканкод = 2 ret c_3: mov scan,#3 ;сканкод = 3 ret c_4: mov scan,#4 ;сканкод = 4 ret c_5: mov scan,#5 ;сканкод = 5 ret c_6: mov scan,#6 ;сканкод = 6 ret c_7: mov scan,#7 ;сканкод = 7 ret c_8: mov scan,#8 ;сканкод = 8 ret c_9: mov scan,#9 ;сканкод = 9 ret c_0: mov scan,#0 ;сканкод = 0 ret c_z: mov scan,#0ah ;сканкод = А ret c_r: mov scan,#0bh ;сканкод = В ret
z_100ms: mov r3,#35 mov r4,#0 djnz r4,$ djnz r3,$-2 ret
st1: equ 20h ;стовпець 1-4-7-* st2: equ 21h ;стовпець 2-5-8-0 st3: equ 22h ;стовпець 3-6-9-# scan: equ 23h ;сканкод нтиснутої кнопки
end |
4.2. Виконайте індивідуальне завдання (див. Додаток 1).
4.3. Дайте відповіді на контрольні питання.
Зміст звіту
5.1. Хід та результати розрахунків.
5.2. Лістинги програм
5.3. Пояснення по ходу виконання програм.
5.4. Відповіді на контрольні запитання
