Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПрогрМПС_ЛР-3_МатрКлав.docx
Скачиваний:
2
Добавлен:
12.08.2019
Размер:
191 Кб
Скачать
  1. Домашня підготовка до роботи:

3.1. Вивчити систему команд ОЕОМ сімейства MCS-51.

3.2. Вивчити методику опитування матричної клавіатури і визначення скан-коду натиснутої клавіші.

  1. Порядок виконання роботи

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. Дайте відповіді на контрольні питання.

  1. Зміст звіту

5.1. Хід та результати розрахунків.

5.2. Лістинги програм

5.3. Пояснення по ходу виконання програм.

5.4. Відповіді на контрольні запитання