- •Описание лабораторного макета
- •Устройство умк
- •2. Подготовка умк к работе
- •3. Порядок работы
- •3.1. Описание клавиатуры.
- •Индикация и изменение содержимого памяти.
- •3.3. Индикация и изменение содержимого регистров.
- •3.4. Передача управления программе пользователя.
- •3.6. Заполнение массива памяти константой.
- •3.8. Прерывание выполнения программы пользователя.
- •3.9. Пошаговое выполнение программ.
- •Лабораторная работа № 1 запись и выполнение простых программ
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 виды адресации и команды пересылок
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Организация циклов
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 выполнение арифметических операций
- •Теоретическая часть
- •Задание для домашней подготовки
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Методические указания
- •Способы адресации процессора к1801
- •Форматы команд микропроцессора кр 1801:
- •Коды способов адресации процессора к1801
- •Задание для домашней подготовки
- •Команды переходов
- •Пример 9.2.
- •Пример 9.3
- •Задание для выполнения в лаборатории
- •Контрольные вопросы
- •Лабораторная работа № 10 выполнение арифметических операций в машинных кодах микропроцессора к1801вм1
- •Теоретическая часть
- •Умножение
- •Деление
- •Задание для домашней подготовки
- •Задание для выполнения в лаборатории
- •Указания по оформлению отчета
- •Контрольные вопросы
- •Приложения
- •Система команд микропроцессора кр580вм80а
- •Система команд мп к1801вм1 Одноадресные команды
- •Двухадресные команды
- •Регистровые команды
- •Команды управления
- •Команды прерываний и специальные команды
- •Изменение кодов условий
- •Условные обозначения
- •Время выполнения команд мп к1801вм1
- •1. Устройство умк 3
Организация циклов
С помощью циклов обычно производят обработку массивов информации, многобайтовых чисел и т.д. Возможны две основные схемы организации циклов: с проверкой окончания в начале цикла (рис.3.1) и в конце цикла (рис.3.2).
Р ис.3.1 Цикл с проверкой окончания в начале тела
Рис.3.2 Цикл: с проверкой окончания в конце тела
Перед началом цикла в счетчик заносится число повторений цикла, а после каждого прохождения цикла из счетчика вычитается 1 (команды DCR или DCХ). Затем командой условного перехода проверяется равно ли.нулю новое значение счетчика. Если не равно нулю - повторение цикла, иначе останов.
Одной из самых простых циклических программ является программа организации временной задержки. Эта программа "ничего не делает", но выполняется заданное время.
В систему команд МП входит команда NOP , которая «ничего не делает», но выполняется за 4 такта. При тактовой частоте 2 МГц команда выполняется за 2 мкс.
Рассмотрим подпрограмму, которая обеспечивает временную задержку за 150 мкс (программа 3.2). Программа построена по схеме рис.2 и в теле цикла содержит одну команду NОР. Время выполнения программы определяется числом, загруженным в регистр А. Это число OF.
Программа 3.2
DEL 1
M1 |
MVI
NOP DCR JNZ
PLT |
A , OF
A M1 |
Счетчик циклов в Регистр А Тело цикла А = А – 1 Переход на M1, если в счетчике не нуль Останов |
Подсчитаем время выполнения программы 3.2.
Команда MVI А, ОF выполняется за 7 тактов. Затем NOP -4 такта, DCR А - 5 тактов, JNZ MI - 10 тактов. Эти три команды выполняются 15 (0F) раз, т.е. (4+5+10) 15 = 285 тактов. Команда HLT - 7 тактов. Итого 299 тактов, что при частоте 2 МГц составляет 150 мкс.
Максимально возможная задержка, осуществляемая программой 2,составит 2429,5 мкс.
Если нужно получить задержку большей длительности, то используют вложенные циклы либо увеличивают тело цикла.
Порядок построения программ рассмотрим на примере подпрограммы временной задержки на 200 мс (программой 3.3). Она состоит из двух циклов. Счетчик внутреннего вложенного цикла - в регистре Е. Тело цикла не содержит ни одной команды. Первоначально в Е занесено число 00, но первая же команда DCR E изменяет состояние регистра на FF . Программа выполняется за 200 мс и состоит из двух циклов по Е и D) .
Программа 3.3
DEL 2
М2
|
MVI MVI DCR JNZ DCR JN 2 HLT |
D , 68 Е , 00 Е М2 D М2
|
Счетчик циклов в регистре D Счетчик циклов в регистре Е Е = Е – 1 Переход к М2, если Е ≠ 0 D =D –1 Переход на М2, если D ≠ 0 Останов |
При программировании технологических режимов широкое применение находит следующая программа.
Программа 3.4
DЕLЗ
Ml
|
LXI
DCX MOV ОRА
JNZ
HLT |
D , data
D A , D Е
Ml |
Загрузка пары временем задержки от 0000 до FFPF (DE)=(DE) – 1 (D) ← (A) Логическое сравнение старших и младших разрядов регистровой пары. При Z=1, когда (D) = (Е)= 00, Выход из цикла Останов |
Время на выполнение программы 4 определяется числом тактов.
Число тактов: ΣT = 10+C∙ (5+5+4+10) +7 = 17 + С∙24, где C=data.
При частоте f = 2 МГц и data= 0001 имеем минимальную для данной программы задержку времени tзад = ΣT/f = 0,00002 с.
При data= FFFF, ΣT = 17 + 65535∙24 = 1572857, tзад = 0,7864285с.