- •Оглавление.
- •Изучение цифроаналоговых преобразователей (цап).
- •3. Основные параметры цап.
- •Введение.
- •1.Цифроаналоговые преобразователи.
- •2. Основные параметры цап.
- •3. Основные типы цап.
- •Порядок выполнения работы.
- •Изучение аналогово-цифровых преобразователей (ацп).
- •Введение.
- •1. Аналогово-цифровые преобразователи.
- •2. Входные и выходные сигналы ацп. Основные параметры.
- •3. Работа мультивибраторного ацп.
- •Порядок выполнения работы.
- •2. Структура микропроцессорной лаборатории.
- •3. Распределение памяти "Микролаб", запись данных и выполнение программ.
- •Порядок выполнения работы.
- •Программирование в машинных кодах (1).
- •1. Программные средства.
- •2. Форматы команд и данных.
- •3. Команды мп кр580ик80.
- •2. Арифметические и логические команды.
- •4. Команды переходов.
- •4. Команды ввода/вывода и управления.
- •Порядок выполнения работы.
- •Программирование в машинных кодах (2).
- •1. Архитектура эвм "Микролаб".
- •2. Программы временной задержки.
- •3. Индикация данных.
- •Порядок выполнения работы.
- •Программирование в машинных кодах (3).
- •Вариант № 1.
- •Вариант № 2.
- •Вариант № 3.
- •Вариант № 4.
- •Вариант № 5.
- •Вариант № 6.
- •Литература.
Программирование в машинных кодах (2).
1. Архитектура эвм "Микролаб".
Центральный процессор ЭВМ шинами данных, адреса и управления соединен с ОЗУ, ПЗУ и устройством ввода/вывода. Область адресов ячеек ОЗУ предназначенных для записи программы и размещения данных - от 8000H до 83C6H. По адресам 0000-02FF в ПЗУ размещена программа монитора. Монитор - это программа, обеспечивающая считывание данных с клавиатуры и управление дисплеем. "Микролаб" все время выполняет программу монитора, за исключением случая, когда он выполняет программу пользователя. Устройство ввода и вывода выполнено на микросхеме К580ИК55, через которую данные из процессора могут поступать на знаковые индикаторы, светодиоды и динамик или с клавиатуры и трех переключателей в процессор. Режим работы интерфейса К580ИК55 устанавливается программно. Для этого в интерфейс (его адрес при программировании FB) записывается управляющее слово. После записи, например, управляющего слова 81 интерфейс работает на выдачу данных на светодиоды при записи по адресу F9 и на прием данных с переключателей S1-S3 при чтении из адреса FA.
Программа № 7. Управление светодиодами.
Адрес |
Содержимое |
Метка |
Команда |
Комментарии |
8000 |
3E |
|
MVI A, 81H |
Управляющее слово 81Н |
8001 |
81 |
|||
8002 |
D3 |
|
OUT FB |
Запись управляющего слова в интерфейс для его программирования на выдачу данных на светодиоды |
8003 |
FB |
|||
8004 |
3E |
|
MVI A, 27H |
Запись в аккумулятор двоичного числа 00100111 |
8005 |
27 |
|||
8006 |
D3 |
|
OUT F9 |
Выдача данных на светодиоды |
8007 |
F9 |
|||
8008 |
76 |
|
HLT |
|
Программа № 8. Чтение данных с переключателей.
Адрес |
Содержимое |
Метка |
Команда |
Комментарии |
8000 |
3E |
|
MUI A,81H |
Программирование интерфейса |
8001 |
81 |
|||
8002 |
D3 |
|
OUT FB |
|
8003 |
FB |
|||
8004 |
DB |
START |
IN FA |
Чтение данных с переключателей S1-S3 |
8005 |
FA |
|||
8006 |
D3 |
|
OUT F9 |
Выдача данных на светодиоды |
8007 |
F9 |
|||
8008 |
C3 |
|
JMP 8004Н |
Переход к чтению данных |
8009 |
04 |
|||
800A |
80 |
Примечание: переключатели S1-S3 подключены к линиям D1-D3 входов интерфейса.
2. Программы временной задержки.
Если ЭВМ используется не для вычислений, а для управления объектами, возникает необходимость программного создания интервалов времени между обращениями ЭВМ к объектам. Такие интервалы времени задержки можно создать, заставив процессор выполнять по программе повторяющиеся действия. Изменяя число повторений, можно изменять задержку.
Программа № 9.
Адрес |
Содержимое |
Метка |
Команда |
Комментарии |
8000 |
1E |
|
MVI E, 05H |
Число повторений |
8001 |
05 |
|||
8002 |
1D |
LOOP |
DCR E |
Декремент |
8003 |
C2 |
|
JNZ LOOP |
Если не ноль, повторить вычитание |
8004 |
02 |
|||
8005 |
80 |
Программа 5 раз производит операцию декремента содержимого регистра E. Время задержки выполнения основной программы равно произведению числа, записанного в регистр E, на время выполнения операций по адресам 8002-8005. Содержимое регистра E не может превышать 255 и программа 9 создает задержку не более 2,5 мс. Для создания больших задержек можно загрузить регистровую пару числом двойной разрядности (до FFFFH) и производить операцию декремента регистровой пары. В этом случае задержка может достичь 0,6 с.
Программа № 10.
Адрес |
Содержимое |
Метка |
Команда |
Комментарии |
8000 |
06 |
|
MVI B,F0 |
Загрузка старшего байта |
8001 |
F0 |
|||
8002 |
0E |
|
MVI C,50 |
Загрузка младшего байта |
8003 |
50 |
|||
8004 |
0B |
LOOP |
DCX B |
Декремент регистровой пары |
8005 |
79 |
|
MOV A,C |
Проверка равенства нулю одновременно содержимого регистров B и C |
8006 |
B0 |
|
ORA B |
|
8007 |
C2 |
|
JNZ LOOP |
Если не ноль, повторить вычитание |
8008 |
04 |
|||
8009 |
80 |
Программа № 11.
Адрес |
Содержимое |
Метка |
Команда |
Комментарии |
8000 |
3E |
|
MVI A, 81H |
Программирование интерфейса |
8001 |
81 |
|||
8002 |
D3 |
|
OUT FB |
|
8003 |
FB |
|||
8004 |
16 |
|
MVI D, 00Н |
D=0 |
8005 |
00 |
|||
8006 |
06 |
START |
MVI B,F0 |
Программа задержки |
8007 |
F0 |
|||
8008 |
0E |
|
MVI C,50H |
|
8009 |
50 |
|||
800A |
0B |
LOOP |
DCX B |
|
800B |
79 |
|
MOV A,C |
|
800C |
B0 |
|
ORA B |
|
800D |
C2 |
|
JNZ LOOP |
|
800E |
0A |
|||
800F |
80 |
|||
8010 |
7A |
|
MOV A,D |
Выдача данных из D в порт F9 |
8011 |
D3 |
|
OUT F9 |
|
8012 |
F9 |
|||
8013 |
14 |
|
INR D |
D=D+1 |
8014 |
C3 |
|
JMP START |
Повторение программы |
8015 |
06 |
|||
8016 |
80 |
В программе 11 после формирования времени задержки в порт F9 (на светодиоды и динамик) выдается содержимое регистра D, которое затем увеличивается на единицу и процесс повторяется. Т.о., в порт выдается нарастающий код. Сигнал на динамик подается с младшего разряда шины данных (D0) и изменяется с нуля на единицу и наоборот после каждого прохождения программы. Если время задержки уменьшить, частота колебаний возрастет и будет слышен тональный сигнал.
Программа 12 формирует звуковые сигналы, тон которых зависит от того, какая клавиша нажата. Подпрограмма чтения клавиатуры помещает код нажатой клавиши (от 00 до 17H) в регистр А. Этот код определяет период звуковых колебаний, подаваемых через порт F9 на динамик.
Программа № 12.
Адрес |
Содержимое |
Метка |
Команда |
Комментарии |
8000 |
CD |
|
CALL 0216H |
Вызов подпрограммы чтения клавиатуры |
8001 |
16 |
|||
8002 |
02 |
|||
8003 |
47 |
|
MOV B,A |
Сохранение кода клавиши |
8004 |
3E |
|
MVI A,80H |
Программирование интерфейса |
8005 |
80 |
|||
8006 |
D3 |
|
OUT FB |
|
8007 |
FB |
|||
8008 |
0E |
|
MVI C,FF |
Число периодов |
8009 |
FF |
|||
800A |
3E |
PERIOD |
MVI A,00Н |
A=0 |
800B |
00 |
|||
800C |
D3 |
|
OUT F9 |
Выдача в порт F9 числа 0 |
800D |
F9 |
|||
800E |
CD |
|
CALL M1 |
Вызов подпрограммы задержки |
800F |
1F |
|||
8010 |
80 |
|||
8011 |
3E |
|
MVI A,FF |
A=FF |
8012 |
FF |
|||
8013 |
D3 |
|
OUT F9 |
Выдача в порт F9 числа FF |
8014 |
F9 |
|||
8015 |
CD |
|
CALL M1 |
Вызов подпрограммы задержки |
8016 |
1F |
|||
8017 |
80 |
|||
8018 |
0D |
|
DCR C |
C=C-1 |
8019 |
C2 |
|
JNZ PERIOD |
Если не ноль, то выдать еще один период |
801A |
0A |
|||
801B |
80 |
|||
801C |
C3 |
|
JMP 8000H |
Переход к чтению клавиатуры |
801D |
00 |
|||
801E |
80 |
|||
801F |
50 |
M1 |
MOV D,B |
Подпрограмма задержки |
8020 |
15 |
|
DCR D |
|
8021 |
C2 |
|
JNZ 8020H |
|
8022 |
20 |
|||
8023 |
80 |
|||
8024 |
C9 |
|
RET |
Возврат из подпрограммы |