Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПМСУ1(7)

.doc
Скачиваний:
36
Добавлен:
13.05.2015
Размер:
884.74 Кб
Скачать

Российская Федерация

Ханты-Мансийский автономный округ

Департамент образования и науки

Сургутский государственный университет ХМАО

Факультет автоматики и телекоммуникаций

Кафедра автоматики и компьютерных систем

Отчёт

по лабораторной работе №6

“ Изучение особенностей функционирования КПР”

Выполнил: студенты

Проверил: преподаватель

Сургут

20

Изучение особенностей функционирования КПР.

Задание:

Создать программное обеспечение, отображающее основную надпись и реагирующее на запросы от трех источников прерываний. Подпрограммы обслуживания запросов осуществляют отображение на дисплее в течение 3–5с определенной надписи.

Адреса КПР: master – 98h, 99h;

slave – 9Ch, 9Dh;

При активизации запросов IRQ3 IRQ4 IRQ5 взводятся триггеры, расположенные по адресам

B1, B2, B3 – соответственно. При выходе из подпрограмм обслуживания данных прерываний триггеры необходимо сбрасывать.

При программировании Ведущему сообщить о том, что к его 0-му и 7-му входу IRQ подключен Ведомый.

Ведомому назначить №7 и замаскировать все его запросы.

Вариант 4.

Основная надпись № IRQ

Серега 5 “УЧЕБА_”

1 “БОРЕЦ_”

3 “ГРУППА”

0011 1001

39

0111 1001

79

0111 0011

73

0011 0001

31

0111 0111

77

0011 0111

37

0110 1110

6E

0110 0110

66

0111 1101

7D

0011 1111

3F

1011 1110

BE

Блок - схема

Основная программа Подпрограмма №1

Подпрограмма №2 Подпрограмма №3

Листинг программы на языке Assembler:

Основная программа:

Адрес

Метка

Машинный

код

Assembler

Комментарии

0800

0801

3E

14

MVI A, 14h

Управляющее слово КИ1

Младший байт адреса таблицы векторов 00h

master

slave

0802

0803

D3

98

OUT 98h

0804

0805

D3

9C

OUT 9Ch

0806

0807

3E

09

MVI A, 09h

Управляющее слово КИ2

Старший байт адреса таблицы векторов 09h

master

slave

0808

0809

D3

99

OUT 99h

080A

080B

D3

9D

OUT 9Dh

080C

080D

3E

81

MVI A, 81h

Управляющее слово КИ3 для master

1000 0001

080E

080F

D3

99

OUT 99h

0810

0811

3E

07

MVI A, 07h

Управляющее слово КИ3 для slave

0000 0111

0812

0813

D3

9D

OUT 9Dh

0814

0815

3E

D5

MVI A, D5h

Управляющее слово КO1 для master

1101 0101

0816

0817

D3

99

OUT 99h

0818

0819

3E

FF

MVI A, FFh

Управляющее слово КO1 для slave

1111 1111

081A

081B

D3

9D

OUT 9Dh

081C

081D

3E

C3

MVI A, C3h

Управляющее слово КО2д

master

081E

081F

D3

98

OUT 98h

0820

0821

3E

00

MVI A, 00h

Сброс

триггеров

0822

0823

D3

B1

OUT B1

0824

0825

D3

B3

OUT B3

0826

FB

EI

Разрешение прерываний

0827

0828

0829

M8

21

FA

0B

LHI H, 0BFA

Инициализация указателя

082A

082B

36

77

MVI M, 77h

Запись символа “А”

082C

23

INX H

082D

082E

36

31

MVI M, 31h

Запись символа “Г”

082F

23

INX H

0830

0831

36

79

MVI M, 79h

Запись символа “Е”

0832

23

INX H

0833

0834

36

73

MVI M, 73h

Запись символа “Р”

0835

23

INX H

0836

0837

36

79

MVI M, 79h

Запись символа “Е”

0838

23

INX H

0839

083A

36

39

MVI M, 39h

Запись символа “С”

083B

083C

0E

FF

MVI C, FF

Инициализация счетчика

083D

083E

083F

M7

CD

29

04

CALL 0429

Задержка 1мс

0840

0841

0842

CD

C8

01

CALL 01C8

Однократное сканирование дисплея

0843

0D

DCR C

Декремент

0844

0845

0846

С2

3D

08

JNZ 083D

Если не равно 0, то переход на метку M7

0847

0848

0849

C3

27

08

JMP 0827

Безусловный переход на M8

Подпрограмма 1 (IRQ 5 “УЧЕБА_”)

Адрес

Метка

Машинный

код

Assembler

Комментарии

0850

M1

FB

EI

Разрешение прерываний

0851

F5

PUSH PSW

Сохранение информации в стек

0852

C5

PUSH B

0853

D5

PUSH D

0854

E5

PUSH H

0855

0856

0857

21

FA

0B

LHI H, 0BFA

Инициализация указателя

0858

0859

36

00

MVI M, 00h

Запись символа “ ”

085A

23

INX H

085B

085C

36

77

MVI M, 77h

Запись символа “А”

085D

23

INX H

085E

085F

36

7D

MVI M, 7Dh

Запись символа “Б”

0860

23

INX H

0861

0862

36

79

MVI M, 79h

Запись символа “Е”

0863

23

INX H

0864

0865

36

66

MVI M, 66h

Запись символа “Ч”

0866

23

INX H

0867

0868

36

6E

MVI M, 6Eh

Запись символа “У”

0869

086A

0E

FF

MVI C, FF

Инициализация счетчика

086B

086C

086D

M4

CD

29

04

CALL 0429

Задержка 1мс

086E

086F

0870

CD

C8

01

CALL 01C8

Однократное сканирование дисплея

0871

0D

DCR C

Декремент

0872

0873

0874

С2

6B

08

JNZ 086B

Если не равно 0, то переход на метку M4

0875

0876

3E

20

MVI A, 20h

Управляющее слово КО2a

master

0877

0878

D3

98

OUT 98h

0879

087A

3E

00

MVI A, 00h

Сброс триггера B3

087B

087C

D3

B3

OUT B3

087D

E1

POP H

Извлечение информации из стека

087E

D1

POP D

087F

C1

POP B

0880

F1

POP PSW

0881

C9

RET

Возврат

Подпрограмма 2 (IRQ 1 “БОРЕЦ_”)

Адрес

Метка

Машинный

код

Assembler

Комментарии

0890

M2

FB

EI

Разрешение прерываний

0891

F5

PUSH PSW

Сохранение информации в стек

0892

C5

PUSH B

0893

D5

PUSH D

0894

E5

PUSH H

0895

0896

0897

21

FA

0B

LHI H, 0BFA

Инициализация указателя

0898

0899

36

00

MVI M, 00h

Запись символа “ ”

089A

23

INX H

089B

089C

36

BE

MVI M, BEh

Запись символа “Ц”

089D

23

INX H

089E

089F

36

79

MVI M, 79h

Запись символа “Е”

08A0

23

INX H

08A1

08A2

36

73

MVI M, 73h

Запись символа “Р”

08A3

23

INX H

08A4

08A5

36

3F

MVI M, 3Fh

Запись символа “О”

08A6

23

INX H

08A7

08A8

36

7D

MVI M, 7Dh

Запись символа “Б”

08A9

08AA

0E

FF

MVI C, FF

Инициализация счетчика

08AB

08AC

08AD

M5

CD

29

04

CALL 0429

Задержка 1мс

08AE

08AF

08B0

CD

C8

01

CALL 01C8

Однократное сканирование дисплея

08B1

0D

DCR C

Декремент

08B2

08B3

08B4

С2

AB

08

JNZ 08AB

Если не равно 0, то переход на метку M5

08B5

08B6

3E

20

MVI A, 20h

Управляющее слово КО2a

master

08B7

08B8

D3

98

OUT 98h

08B9

E1

POP H

Извлечение информации из стека

08BA

D1

POP D

08BB

C1

POP B

08BC

F1

POP PSW

08BD

C9

RET

Возврат

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]