Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПТ методичка исправл длин прилож.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
982 Кб
Скачать
☆

4.6 Подпрограмма определения кода засветки первой цифры в номере клавиши

Подпрограмма IND 2 определяет код засветки первой цифры в номере клавиши. Алгоритм этой подпрограммы приведен на рис.17.

Рисунок 17- Алгоритм определения кода засветки первой цифры в номере клавиши

Программа, написанная в соответствии с алгоритмом, изображенным на рис.17, имеет вид (табл. 25):

Таблица 25

Адрес

Код

Метка

Мнемокод

Комментарий

1

2

3

4

5

0900

79

IND 2

MOV A, C

номер клавиши в

аккумулятор

0901

0F

RRC

сдвиг

0902

0F

RRC

младших

0903

0F

RRC

четырех

0904

0F

RRC

бит

0905

1F

RAR

сдвиг содержимого А

0906

DA 17 09

JC MET20

1ый бит старших четырех равен единице?

да – переход к МЕТ20

0909

1F

RAR

сдвиг содержимого А

090A

DA 12 09

JC MET19

2ый бит равен единице? да – переход к МЕТ19

090D

0E 00

MVI C, 00H

кода засветки нет

(пустой индикатор)

090F

C3 19 09

JMP IND

переход к подпрограмме засветки IND

0912

0E 5B

МЕТ19:

MVI C, 5BH

загрузка в регистр C

кода цифры « 2 »

0914

C3 19 09

JMP IND

переход к подпрограмме засветки IND

0917

0E 06

МЕТ20:

MVI C, 06H

загрузка в регистр H

кода цифры « 1 »

0919

FF

END:

RST

возврат в “монитор”

4.7 Подпрограмма засветки индикаторов в мультиплексном режиме

Подпрограмма засветки индикаторов в мультиплексном режиме

Имеет вид: (табл.26).

Таблица 26

Адрес

Код

Метка

Мнемокод

Комментарий

0919

06 4F

IND:

MVI B, 04H

количество циклов

091B

3E 20

LOOP:

MVI A, 20H

номер индикатора

091D

D3 F8

OUT F8

вывод в порт F8

091F

7C

MOV A, H

код второй цифры

0920

D3 F9

OUT F9

вывод в порт состояния индикатора (F9)

0922

CD 5B 03

CALL DELAY

подпрограмма DELAY - борьба с дребезгом

0925

3E 00

MBI A, 00H

выключение

0927

D3 F9

OUT F8

индикатора

(вывод в порт F8)

0929

3E 10

MBI A, 10H

номер индикатора (2)

092B

D3 F8

OUT F8

вывод в порт F8

092D

79

MOV A, С

код первой цифры

092E

D3 F9

OUT F9

вывод в порт состояния индикатора (F9)

0930

CD 5B 03

CALL DELAY

подпрограмма DELAY - борьба с дребезгом

0933

3E 00

MBI A, 00H

выключение

0935

D3 F8

OUT F8

вывод в порт F8

0937

05

DCR В

декремент

содержимого В

0938

78

MOV A, В

счетчик циклов

0939

C2 1B 09

JNZ LOOP

переход на LOOP, если содержимое B

не равно нулю

093C

C3 00 08

JMP МЕТ1

переход на МЕТ 1

(начало программы)