Изучение особенностей функционирования микропроцессора КР580ВМ80 при выполнении команд ввода и вывода информации. Программное управление клавиатурой и дисплеем УМК, страница 2


Задание: Модифицировать предыдущую программу таким образом, чтобы на четыре разряда дисплея последовательно выдавались результаты опроса клавиш выбранной линейки клавиатуры в порядке нажатия клавиш.

Листинг программы

0800

00

00

0801

MVI A

3E

Выбрать второй индикатор и вторую линейку клавиатуры

0802

02

02

0803

OUT

D3

0804

F8

F8

0805

IN

DB

Опросить клавиатуру

0806

FA

FA

0807

STA

32

Записать  в ячейку 0800

0808

00

00

0809

08

08

080A

SUI

D6

Вычесть

080B

64

64

080C

JNZ

C2

Перейти если не равно нулю

080D

16

16

080E

08

08

080F

MVI A

3E

Выдать цифру 1 на семисигментный индикатор

0810

06

06

0811

OUT

D3

0812

F9

F9

0813

CALL

CD

Вызвать подпрограмму задержки

0814

60

60

0815

08

08

0816

LDA

3A

Загрузить содержимое ячейки в аккумулятор

0817

00

00

0818

08

08

0819

SUI

D6

Вычесть

081A

34

34

081B

JNZ

C2

Перейти если не равно нулю

081C

25

25

081D

08

08

081E

MVI A

3E

Выдать цифру 2 на семисигментный индикатор

081F

57

57

0820

OUT

D3

0821

F9

F9

0822

CALL

CD

Вызвать подпрограмму задержки

0823

60

60

0824

08

08

0825

LDA

3A

Загрузить содержимое ячейки в аккумулятор

0826

00

00

0827

08

08

0828

SUI

D6

Вычесть

0829

54

54

082A

JNZ

C2

Перейти если не равно нулю

082B

34

34

082C

08

08

082D

MVI A

3E

Выдать цифру 3 на семисигментный индикатор

082E

4F

4F

082F

OUT

D3

0830

F9

F9

0831

CALL

CD

Вызвать подпрограмму задержки

0832

60

60

0833

08

08

0834

LDA

3A

Загрузить содержимое ячейки в аккумулятор

0835

00

00

0836

08

08

0837

SUI

D6

Вычесть

0838

70

70

0839

JNZ

C2

Перейти если не равно нулю

083A

01

01

083B

08

08

083C

MVI A

3E

Выдать цифру 4 на семисигментный индикатор

083D

66

66

083E

OUT

D3

083F

F9

F9

0840

CALL

CD

Вызвать подпрограмму задержки

0841

60

60

0842

08

08

0843

RET

C9

Выйти из подпрограммы

0860

Задержка

086С

0900

MVI B

0901

01

0902

MOV A B

0903

OUT

0904

F8

0905

LDA

Загрузить содержимое ячейки в аккумулятор

0906

00

0907

08

0908

MOV C A

В регистр С поместить содерж А

0909

CALL

Вызвать подпрограмму опроса клавиш

090A

01

090B

08

090C

LDA

Загрузить содержимое ячейки в аккумулятор

090D

00

090E

08

090F

SUB C

А = А - С

0910

JZ

Перейти если А = 0

0911

00

0912

09

0913

MOV A B

0914

RLC

Сдвиг влево

0915

MOV B A

0916

SUI

0917

10

0918

JZ

0919

00

091A

09

091B

JMP

091C

02

091D

09

091E

Вывод: в ходе выполнения работы Мы изучили особенности функционирования микропроцессора при выполнении команд ввода и вывода информации, приобрели навыки программного управления клавиатурой и дисплеем УМК.