Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по електронике.БВВ.ТДЛ.doc
Скачиваний:
18
Добавлен:
04.02.2016
Размер:
377.86 Кб
Скачать

1. Переведите программу (табл.8.2.) в машинный код и введите в микролабораторию.

Табл.8.2.

Программа, демонстрирующая действие логических команд.

Адрес

Содержимое

Метка

Команда

Комментарии

8000

... 3E

MVI A, 81

Программирование

интерфейса КР580ИК55

8001

... 81

8002

... D3

OUT FB

8003

... FB

8004

... DB

START

IN FA

Чтение данных с входного порта в аккумулятор

8005

... FA

8006

... 06

MVI B, OA

0000 0101 - В

8007

... 0A

8008

... A0

ANA B

А*В-А

8009

... D3

OUT F 9

Запись данных в порт вывода

800A

... F9

800B

... C3

JMP START

Зацикливание программы

800C

... 04

800D

... 80

Каждое мнемоническое обозначение должно быть преобразовано в соответствующий КОП и дополнено необходимыми данными (если нужно).

Эта программа считывает данные с переключателей входного порта, а затем объединяет их по "И" с числом 0000 1010. Результат появляется на светодиодных индикаторах. Затем программа возвращается на начало, и процесс бесконечно повторяется, так что можно изменить входные данные и проверить соответствующие выходные.

2. Проверьте правильность ввода программы.

3. Установите на начальный адрес 8000 и нажмите кнопку ПУСК. Программа выполняется.

4. Установите входные переключатели в 1. Индикаторы показывают 0000 1010.

5. Измените положение переключателей и проверьте соответствующие выходы. Биты, которые объединяются по "И" с нулями, не зависят от положения переключателей.

6. Нажмите кнопку СБРОС для возвращения управления монитору. Заметьте, что переключатели не влияют больше на состояние индикаторов. Замените команду ANA B (по адресу 8008) командой ORA B (КОП-ВО).

7. Запустите программу.

8. Посмотрите на соответствие между различными положениями входных переключателей и состояниями индикаторов. Заметьте различия между функциями "И" и "ИЛИ". Выходы битов, объединенных по "ИЛИ" с нулями, зависят от положения переключателей.

9. Нажмите кнопку СБРОС. Замените команду ORA B на XRA (КОП-А8). Повторите шаги 7 и 8. Биты, объединенные по "Исключающему ИЛИ" с единицами, инвертируются.

Вопросы для самопроверки.

1. Что такое шина адреса, шина данных, шина управления?

2. Как обратиться к программе, хранимой в памяти "Микролаба"?

3. Что такое "бит", "байт", "слово"?

4. Запишите любое четырехразрядное двоичное число как шестнадцатеричное; тоже как десятичное.

5. Как вводится программа в ОЗУ "Микролаб"?

6. Чем отличается ОЗУ от ПЗУ?

Лабораторная работа N 9.

Построение систем управления технологическими процессами на базе микропроцессорных систем.

Цель работы: понять принцип управления технологическими процессами на базе микропроцессорных систем. Разобрать работу программы "бегущие огни" и ее использование для управления внешними устройствами. Научиться изменять временные задержки в управляющей программе.

После определения характеристик и составления алгоритмов работы объектов управления можно писать программы управления технологическими процессами. Такие программы опираются в первую очередь на логику работы всего устройства в целом, и часто имеют блоки, которые устанавливают управляющие сигналы, организуют программную задержку, изменяют управляющие сигналы (рис.9.1).

Для иллюстрации процесса управления в лабораторной работе мы будем поочередно зажигать светодиоды, организуя "бегущие огни".

Для организации программной задержки используется свойство микропроцессора выполнять определенную команду за определенное время и алгоритм работы, изображенный на рис.9.2.

Один такт микропроцессора КР580ИК80 длится 0,5мкс. Команде DCX требуется для выполнения четыре такта. Для JNZ в случае выполнения условия требуется 10 тактов, если условие не выполняется - 7 тактов и т.д. Таким образом, для того чтобы рассчитать время задержки, необходимо просуммировать время выполнения всех команд в цикле задержки и умножить на количество раз выполнения этого цикла.

Время задержки, получаемой фрагментом LOOP программы табл.9.1. определяется по формуле:

задержка= (N-1)*24+31 (тактов) = (N-1)*12мкс+15,5мкс

Используя для организации задержки один регистр, мы сможем посчитать до 256. Использование команды DCX B, уменьшающей содержимое пары регистров B и C, позволяет увеличить счет (и задержку) до значения 65536 циклов. Таким образом максимальная задержка:

(65536-1)*12+15,5 = 0,786 с.

Табл.9.1.

Метка

Команда

Комментарии

DALAY

LXI B, 0

Начало счета внутренней петли

LOOP

DCX B

Уменьшающийся счет

MOV A, B

Проверка на 0

ORA C

JNZ LOOP

Повторять пока не 0

DCR D

Уменьшение основного счетчика

JNZ DALAY

Повторять пока не 0

RET

Возврат из п/п

Команда LXI B, 0 заносит 0 в пару регистров B, C. Далее вырабатывается задержка 0,786с. Регистр D используется для счета основной задержки (присвоение происходит в основной программе), т.е. определяет сколько раз выполнится задержка 0,786с.

Таким образом, в программе "бегущие огни" существует две петли: внешняя и внутренняя. Внутренняя петля вырабатывает задержку равную 0,786 с, а внешняя - множество таких задержек. Такая организация программы называется вложением.

Полная программа "бегущие огни" представлена в табл. 9.2.