Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП Лабораторние роботи№1-7.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
782 Кб
Скачать
☆

1. Цель работы:

1.1 Изучение работы устройств вывода информации.

1.2 Построение режима динамической индикации.

1.3 Корректировка программы показа информации в соответствии с индивидуальным заданием.

2. Теоретические сведения:

Выходным устройством, служащим для визуального наблюдения за внутренним состоянием системы, в микролаборатории являются 8 восьмисегментных индикаторов табло VD1-VD8. На них индуцируются входные данные, адреса памяти, данные памяти, содержимое регистров центрального процессора и флагов состояния в соответствии с операциями клавиатуры. Информация отображается на индикаторах в H-кодах. Индикация информации динамическая. Данные на индикаторы передаются из восьми старших ячеек ОЗУ с адресами 83F8-8FF при помощи прямого доступа к памяти без участия центрального процессора. В каждой из этих ячеек ОЗУ находится восьмисегментный код, соответствующий своему индикатору. Информация из этих ячеек посылается на индикаторы при помощи специальной схемы, которая обеспечивает динамический режим индикации.

Задача матобеспечения сводится к подготовке семисегментных кодов и засылке их в ячейки памяти 83F8…83FF. Ячейка 83F8 соответствует левому индикатору, 83FF – правому. (Динамическая индикация осуществляется в микропроцессорных системах не обязательно с помощью схемы. Сканирование индикаторов можно осуществлять и с помощью программы).

3. Ход выполнения работы.

Монитор микролаборатории содержит программу SEGCG (адрес=01С0), которая преобразует шестнадцатеричные коды 0, 1, 2…4, Е, F в семисегментные и заносит их в ячейки памяти 83F8…83FF. Исходные данные для этой программы должны находиться в ячейках 83F4…83F7. Каждый байт из этих ячеек соответствует паре индикаторов: содержимое ячейки 83F4 после преобразования высветится на двух левых индикаторах, содержимое ячейки 83F7 – на двух правых.

Задание 1:

В табл.1 приведена программа показа информации, использующая подпрограмму SEGCG. Введите программу и проверьте ее работу. На индикаторах должны последовательно высвечиваться символы 1, 2, 3, 4, A, B, C, D.

Таблица 1. Программа показа информации (SEGCG).

Адрес

Содержимое

Метки

Команда

Комментарии

8000

8001

8002

8003

8004

8005

8006

8007

8008

8009

800A

800B

800C

800D

800E

800F

8010

8011

8012

8013

8014

8015

8016

8017

3E

12

32

F4

83

3E

34

32

F5

83

3E

AB

32

F6

83

3E

CD

32

F7

83

CD

C0

01

76

MVI A, 12

STA 83F4

MVI A, 34

STA 83F5

MVI A, AB

STA 83F6

MVI A, CD

STA 83F7

CALL SEGCG

HLT

12->[A] Пересылка байта в аккумулятор

A->83F4 Запись в ячейку содержимого аккумулятора

34->A

A->[83F5]

AB->A

A->F83F61

CD->A

A->[83F7]

Вызов SEGCG

Останов

Задание 2:

В предыдущей программе мы использовали подпрограмму SEGCG для получения семисегментного кода. Но эта программа оперирует только с шестнадцатеричными символами 0…F, т. Е. не полностью использует возможности семисегментных индикаторов.

Можно формировать семимегментный код и получать на индикаторах любые символы, которые позволяют получить используемые в микролаборатории индикаторы. Как уже говорилось, семисегментные коды должны засылаться в определенные ячейки памяти. Каждый бит в этих ячейках соответствует определенному сегменту (рис. 1). Если бит 1, то соответствующий сегмент будет «гореть», и – наоборот.

Бит

7

6

5

4

3

2

І

0

Сегмент

H

G

F

E

D

C

B

A

Рис. 1 Соответствие разрядов и сегментов

В табл.2 приведен листинг программы, которая выводит на индикаторы надпись 2011UA. Изменяя семисегментные коды, вы можете вывести на индикацию любую возможную надпись.

Таблица 2. Программа вывода символов на индикаторы без программы SEGCG.

Адрес

Содержимое

Метки

Команда

Комментарии

8000

8001

8002

8003

8004

8005

8006

8007

8008

8009

800A

800B

800C

800D

800E

800F

8010

8011

8012

8013

8014

8015

8016

8017

8018

8019

801A

801B

801C

801D

801E

801F

8020

8021

8022

8023

3E

5B

32

F8

83

3E

3F

32

F9

83

3E

06

32

FA

83

32

FB

83

3E

3E

32

FC

83

3E

77

32

FD

83

AF

32

FE

83

32

FF

83

76

MVI A, 5B

STA 83F8

MVI A, 3F

STA 83F9

MVI A, 06

STA 83FA

STA 83FB

MVI A, 3E

STA 83FC

MVI A, 77

STA 83FD

XRA A

STA 83FE

STA 83FF

HLT

Семисегментный код цифры 2 (2->A)

A->[83F8]

Семисегментный код цифры (0->A)

A->[83F9]

Семисегментный код цифры 1 (1->A)

A->[83FA]

A->[83FB]

Семисегментный код буквы “U”

A->[83FC]

Семисегментный код буквы “A”

A->[83FD]

0->A

A->[83FE], гашение индикатора

A->[83FF], гашение индикатора

Останов

Задание 3:

Внесите изменения в программу, заменив буквы UA номером вашей фамилии в списке группы.

Отчет по лабораторной работе должен содержать:

- Цель работы.

- Теоретические сведения (кратко, по выбору ).

- Рис. 1.

- Задания 1, 2, 3.

- Выводы по работе.

НТУУ «КПИ»