Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сгребнев Н.В., Осокина Е.Б., Перехода М.С. Микр...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.6 Mб
Скачать

Описание лабораторной установки

Лабораторная работа выполняется на стенде УМК с использованием дополнительной печатной платы (рис.19 а). На этой плате смонтированы БИС таймера К580ВИ53, БИС последовательного интерфейса К580ВВ51 и необходимые вспомогательные микросхемы. Две таких платы соединены между собой витой парой. Передатчиком шлется УМК с платой, на которой выход TxD последовательного интерфейса подключен к одному из концов сигнального провода. Второй УМК подсоединен витой парой по входу RxD и используется как приемник. В качестве источника синхроимпульсов используется один из каналов программируемого таймера.

Задания для выполнения лабораторной работы:

Задание 1: Запрограммируйте на режим деления частоты (режим3) счетчик таймера, задающий скорость передачи для УСАПП. Коэффициент для счетчика рассчитывается по формуле: . Скорость передачи fBOD задается преподавателем. Для задания 2, коэффициент деления частоты УСАПП (КВ) задать 1:1, для задания 3 коэффициент КВ задать 1:16. Тактовая частота УМК fCLK измеряется осциллографом с разъема рис.19 б.

Задание 2: Выполните программу передачи байта из ячейки памяти в бесконечном цикле. Перед запуском программы активируйте программу для таймера из задания 1 с использованием коэффициента деления частоты УСАПП 1:1. Подключите к выходу передатчика осциллограф (рис. 19 б), и наблюдайте временную диаграмму передаваемого сообщения. Осциллограммы нескольких, заданных преподавателем, байтов должны быть в отчете. Укажите на них: стартовый бит, стоповый бит, информационные биты.

Используя полученные осциллограммы, рассчитайте скорость передачи и сравните ее со скоростью заданной преподавателем. Выполните настройку, необходимую для получения скорости передачи, максимально близкой к заданной.

LXI H, 900

;Адрес ячейки памяти, содержащей передаваемый байт

XRA A

;Подготовка к сбросу

OUT 81

OUT 81

OUT 81

MVI А, 40

;Программный сброс

OUT 81

MVI A, 4D

;Инструкция режима

OUT 81

ENTR:

MVI A, 31

;Команда начала передачи

OUT 81

MOV A,M

;Передача байта из ячейки, адресуемой HL

OUT 80

WAIT:

IN 81

;Готовность передатчика

ANI 01

JZ WAIT

JMP ENTR

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

Таблица 5

Передаваемые символы

Вариант №

1

2

3

4

5

6

7

8

9

10

Без контроля достоверности

0F

FF

00

AA

83

79

6D

5B

3F

63

С контролем четности

6F

E7

4D

75

53

CF

7B

81

99

DC

С контролем нечетности

65

31

17

69

8A

6D

9B

2E

C3

A7

Задание 3: Выполните передачу и прием блока данных, используя для ввода программ приема/передачи УМК с соответствующей по подключению платой. Задание может выполняться двумя бригадами, в отчеты вносятся обе программы. Перед запуском программы активируйте программу для таймера из задания 1 с использованием коэффициента деления частоты УСАПП 1:16. До начала передачи убедитесь в абсолютном совпадении частот на выходах счетчиков, задающих скорость приема и передачи.

Программа передачи

0820

LXI SP,810

31

Загружаем адрес стека

0821

10

0822

08

0823

LXI H,900

21

Загружаем адрес массива

0824

00

0825

09

0826

MVI С, 00

0E

Обнуляем регистр контр.суммы

0827

00

0828

MVI A,4E

3E

Задаем режим работы УСАПП

0829

082A

OUT 81

D3

082B

81

082C

MVI А, 11

3E

Даем команду передачи данных

082D

11

082E

OUT 81

D3

082F

81

0830

MVI B,7F

06

Инициализируем счетчик байт

0831

7F

0832

CALL

CD

Ожидаем готовности передатчика

0833

GETREADY

60

0834

08

0835

MOV A,В

78

Передаем размер блока данных

0836

OUT 80

D3

0837

80

0838

TRANSMIT:

CALL

CD

Ожидаем готовности передатчика

0839

GETREADY

60

083A

08

083B

MOV A,M

7E

Передаем байт массива

083C

OUT 80

D3

083D

80

083E

ADD C

81

Подсчитываем контрольную сумму

083F

MOV C,A

4F

Сохраняем контрольную сумму

0840

INX H

23

Увеличиваем индекс массива

0841

DCR В

05

Уменьшаем счетчик байт

0842

JNZ TRANSMIT

C2

Если не последний байт,

0843

38

то продолжаем

0844

08

0845

CALL

CD

Ожидаем готовности передатчика

0846

GETREADY

60

0847

08

0848

MOV А,С

79

Передаем контрольную сумму

0849

OUT 80

D3

084A

...

80

0860

GETREADY:

IN 81

DB

Считываем слово состояния

0861

81

0862

ANI 01

E6

0863

01

0864

JZ GETREADY

CA

Если передатчик не готов к

0865

60

передаче, продолжаем анализиро-

0866

08

вать слово состояния

0867

RET

C9

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

Программа приема

0820

LXI SP,810

31

Загружаем адрес стека

0821

10

0822

08

0823

LXI H,900

21

Загружаем адрес массива

0824

00

0825

09

0826

MVI C, 00

OE

Обнуляем регистр контр.суммы

0827

00

0828

MVI A,4E

3E

Задаем режим работы УСАПП

0829

082A

OUT 81

D3

082B

81

082C

MVI A,14

3E

Даем команду приема данных

082D

14

082E

OUT 81

D3

082F

81

0830

CALL

CD

Принимаем размер передаваемого

0831

GETBYTE

60

блока

0832

08

0833

MOV B,A

47

Инициализируем счетчик байт

0834

RESEIVE:

CALL

CD

Принимаем байт данных

0835

GETBYTE

60

0836

08

0837

MOV V,A

77

Помещаем байт в массив

0838

INX H

23

Увеличиваем индекс массива

0839

ADD С

81

Подсчитываем контрольную сумму

083A

MOV C,A

4F

Сохраняем контрольную сушу

083B

IN 81

DB

Считываем регистр состояния

083C

81

083D

ANI 38

E6

Анализируем флаги ошибок

083E

38

083F

JNZ EXIT

C2

Выходам если ошибка

0840

49

0841

08

0842

DCR В

05

Уменьшаем счетчик байт

0843

JNZ RECEIVE

C2

Продолжаем прием если

0844

34

не последний байт

0845

CALL

08

0846

GETBYTE

CD

Принимаем контрольную сумму

0847

60

0848

08

0849

EXIT:

MOV M,A

77

Сохраняем код ошибки или

контрольную сумму

0860

GETBYTE:

IN 81

DB

Считываем слово состояния

0861

81

0862

ANI 02

E6

Анализируем бит готовности

0863

02

приемника

0864

JZ GETBYTE

CA

Если данные не готовы

0865

60

продолжаем анализировать

0866

08

слово состояния

0867

IN 80

DB

Принимаем байт

0868

80

0869

RET

C9

Возвращаемся из подпрограммы