ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ГРАЖДАНСКОЙ АВИАЦИИ»
_______________________________________________________________________________________________________________________
Кафедра вычислительных машин, комплексов, систем и сетей
МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ
Пособие
к выполнению лабораторных работ № 3, 4
для студентов V курса
специальности 220100
дневного обучения
Москва - 2005
ББК 6Ф0.3
С 50
Рецензент канд. техн. наук, доц.
С 50 Микропроцессорные системы: Пособие к выполнению лабораторных работ № 3, 4. –М.: МГТУ ГА, 20с.
Данное пособие издается в соответствии с рабочей программой учебной дисциплины «Микропроцессорные системы» по Учебному плану специальности 220100 для студентов V курса дневного обучения.
В пособии изложены рекомендации по подготовке и проведению лабораторных работ № 3, 4 на учебно-отладочном устройстве «Электроника –580».
Рассмотрено и одобрено на заседаниях кафедры 25.04.05 г. и методического совета 25.04.05 г.
Редактор
Подписано в печать 05.09.05 г.
Печать офсетная Формат 60х84/16 0,93 уч.-изд. л.
0,96 усл. печ. л. Заказ № 000/ Тираж 150 экз.
Московский государственный технический университет ГА
125993 Москва, Кронштадтский бульвар, д. 20
Редакционно-издательский отдел
125493 Москва, ул. Пулковская, д.6а
© Московский государственный
технический университет ГА, 2005
Лабораторная работа № 3
Тема: Разработка модуля временной задержки
1. Цель работы: привитие навыков разработки программных модулей по исследованию времени выполнения командных циклов микропроцессоров.
2. Краткие теоретические сведения
Выполнение каждой команды в микропроцессорной БИС осуществляется в строго определенной последовательности, определяемой кодом команды и синхронизируется во времени синхросигналами Ф1 и Ф2, вырабатываемыми генератором тактовых импульсов.
В МП К580 коды команд выполняются по машинным циклам (МЦ), продолжительность которых составляет от 3-х до 5-ти машинных тактов, отсчитываемых по передним фронтам тактовых импульсов Ф1.

Ф1 Т
t
Ф2
t
Рис.1. Временное представление последовательности
тактовых импульсов Ф1, Ф2
Длительность машинного такта может быть установлена произвольно в интервале от 0,5 до 2 мкс (тактовая частота fт = 1/Т = 2.. 5 МГц).
Процессор, кроме нахождения в одном из МЦ, может функционировать в состояниях ОЖИДАНИЕ, ЗАХВАТ и ОСТАНОВ. Управление работой МПС осуществляется генерацией управляющих сигналов по двум шинам:
· по шине управления собственно МП (WR, DBIN, INTE, …) в каждом такте работы МП;
· по шине данных путем генерации слова состояния процессора (PSW) в каждом МЦ.
Число машинных циклов и общее количество тактов, необходимое для выполнения команды, определяется ее типом. При этом число МЦ равно суммарному числу обращений к запоминающим устройствам (ЗУ) и устройствам ввода-вывода (УВВ), необходимых для выборки и выполнения команды.
Например, самые короткие команды:
· RAL –сдвиг аккумулятора А влево с переносом (1 машинный цикл, 4 такта);
· RRС – сдвиг аккумулятора А вправо циклический (1 машинный цикл, 4 такта);
· RLC – сдвиг аккумулятора А влево циклический (1 машинный цикл, 1 такт), т. к. требуют только одного обращения к ЗУ для выборки байта команды.
Тогда команда RAL выполняется за время 0.5 * 4 = 2,0 мкс (при использовании ГТИ с частотой 2 МГц).
Самая длинная команда XTHL – обмен содержимым между вершиной стека и парой регистров (H-L), хотя и однобайтная требует 5 МЦ – 18 тактов (9.0 мкс), так как необходимо выбрать из ЗУ 3 байта (КОП, младший байт и старший байт указателя стека), а содержимое указателя стека (старший и младший байты) записать в ЗУ.
Исключение составляют команды:
DAD D (1 байт, 3 цикла,10 тактов, 5.0 мкс - сложение 16-разрядных чисел, находящихся в регистрах D и E с 16-разрядным числом, находящимся в регистрах H и L). Результат заносится в регистр H и L. Содержимое аккумулятора не меняется;
HLT – (останов) – 1 байт, 1 цикл, 7 тактов, 3.5 мкс.
Обращение к ЗУ в обеих командах осуществляется только один раз (выборка кода операции).
После включения напряжения питания и подачи тактовых импульсов Ф1 и Ф2 микропроцессор запускается подачей 1 на вход «Сброс» (RESET) в течение не менее трех периодов Ф1, вследствие чего счетчик команд, регистр команд и внутренние триггеры разрешения прерывания ожидания сбрасываются в нулевое состояние.
Первый цикл М1 всегда является циклом выборки кода команды и состоит из 4 или 5 тактов. Три последующих МЦ (МЦ2, 3, 4) всегда выполняются за три такта, а М5 – за три или за пять тактов.
Время выполнения команды – время выборки, декодирования и собственно выполнения команды.
Строгая временная синхронизация выполнения команд позволяет разрабатывать программные модули временной задержки в различных устройствах автоматики.
Пример 1. Необходимо разработать программный модуль задержки времени на интервал Тс = 0,5 с при тактовой частоте ГТИ fт = 2.5 МГц. Расчетный операнд, определяющий задержку времени Тс = 0,5 с, отобразить на индикаторах учебно-отладочного устройства (УОУ).
Количество переключений определяется вариантом задания.
Последовательность работы модуля задержки времени представлена в табл. 1.
Выполнение последовательности действий начинается с установления вершины стека SP в адрес 83FAH и указания в регистровой паре (HL) Адреса 1. В ячейке, косвенно адресуемой этим адресом, будут фиксироваться переключения после отработки заданной временной задержки Тс = 0,5 с.
Таблица 1
Последовательность работы модуля задержки
№ п/п | Последовательность действий | Реализующая команда |
1 | Установить вершину стека SP в Адрес 83FAH | LXI SP, 83FA – 3 байта |
2 | Указать в регистровой паре (HL) Адрес 1 | LXI H, Адрес 1 - 3 байта |
3 | Записать в пару регистров (ВС) операнд NЦ для заданного Тс | LXI В, NЦ - 3 байта |
4 | Занести в стек содержимое регистровой пары (ВС) | PUSH BC – 1 байт |
5 | Уменьшить на 1 содержимое регистровой пары (ВС) | DCX BC – 1 байт |
6 | Переслать содержимое регистра В аккумулятор (регистр А) | MOV A, B – 1 байт |
7 | Сравнить содержимое пары регистров (ВС) с нулем | ORA C – 1 байт |
8 | Если содержимое пары регистров (ВС) равно 0, то перейти к п.9, иначе – к п.5 | JNZ M1 -3 байта |
9 | Записать в аккумулятор № варианта | MVI A, № вар. – 2 байта |
10 | Увеличить на 1 содержимое Адреса 1 | INR M - 1 байт |
11 | Сравнить содержимое Адреса 1 с содержимым аккумулятора | CMP M 1 байт |
12 | Если Адрес 1 равен содержимому аккумулятора, то перейти к п.13, иначе – к п.3 | JNZ M2 – 3 байта |
13 | Останов | HLT – 1 байт |
Запись операнда Nц в стек осуществляется для реализации его отображения на индикаторах УОУ.
Собственно процесс выработки временной задержки начинается с уменьшения на 1 операнда в регистровой паре (ВС) и продолжается до его обнуления. Момент выработки временной задержки фиксируется переключением, сопровождаемым приращением на 1 содержимого ячейки, указанного адреса (Адрес 1). Число переключений задается в аккумуляторе, как номер варианта. При накоплении в ячейке значения, равного указанному адресу (Адрес 1, равный заданному числу переключений), решение задачи завершается. Таким образом, заданная временная задержка отрабатывается по данной последовательности действий количество раз, равное номеру варианта.
Для определения численного значения операнда (в данном случае числа циклов Nц), соответствующего заданной временной задержке Тс = 0,5 с, необходимо предварительно произвести следующий расчет.
При программном способе заданное значение операнда циклически уменьшается на 1 до тех пор, пока результат не станет равным нулю. Если известна продолжительность цикла tЦ (tЦ - сумма времени командных циклов, реализующих заданную временную задержку), то общая задержка Тс определяется из выражения
Тс = Nц * tЦ. (1)
Следовательно,
Nц =
. (2)
В данном примере заданная задержка реализуется командами DCX BC; MOV A, B; ORA C; JNZ M1, каждая из которых имеет следующую длину машинных циклов:
DCX BC – 5Т; MOV A, B – 5Т; ORA C – 4Т; JNZ M1 – 10Т.
На выполнение этих команд требуется
tЦ = 5Т + 5Т + 4Т + 10Т = 24Т.
Так как Т = 1/fT, то
tЦ =
= 9,6 мкс.
В соответствии с (2) число циклов
Nц =
=
= 52
Заменяя Nц=5208310 на его шестнадцатеричное представление, получим
Nц = СВ73Н,
являющееся значением операнда Nц, которое необходимо поместить в регистровую пару (ВС) для выработки программной временной задержки ТС = 0,5 с.
В предположении, что в задании указан Адрес 1, равный 83FFH, а номер варианта NВ = FFH, программа, реализующая временную задержку ТС = 0,5 с, примет вид, представленный в табл.2.
Таблица 2
Программа модуля реализации временной задержки
Адрес | Код команды | Метка | Мнемоника | Комментарий |
8200 | 31 | LXI SP, 83FA | Установить вершину стека SP в ячейке с адресом 83FA | |
8201 | FA | |||
8202 | 83 | |||
8203 | 21 | LXI H, 83FF | Указать в регистровой паре (HL) | |
8204 | FF | Адрес1=83FF для регистрации переключений | ||
8205 | 83 | |||
8206 | 01 | M2: | LXI B, CB73 | Разместить в регистровой паре (ВС) операнд NЦ=СВ73Н, задающий требуемое значение временной задержки |
8207 | 73 | |||
8208 | CB | |||
8209 | C5 | PUSH BC | Занести в стек число циклов NЦ=СВ73Н | |
820А | 0B | M1 | DCX BC | Уменьшить на 1 число циклов в паре регистров (ВС) |
820В | 78 | MOV A, B | Переслать содержимое регистра В в регистр А | |
820С | В1 | ORA C | Сравнить содержимое регистров В и С с нулем | |
820D | C2 | JNZ M1 | Если содержимое (ВС) то переход на метку М1 по адресу 820А | |
820E | 0A | |||
820F | 82 | |||
8210 | 3E | MVI A, FF | Записать в аккумулятор число переключений, равное номеру варианта задания | |
8211 | FF | |||
8212 | 34 | INR M | Увеличить на 1 счетчик переключений в 83FFH | |
8213 | BE | CMP M | Сравнить значение счетчика в 83FFH с заданным в А | |
8214 | C2 | JNZ M2 | Если (83FF) | |
8215 | 06 | |||
8216 | 82 | |||
8217 | 76 | HLT | Останов |
После выполнения программы на индикаторах УОУ будет получено отображение, представленное на рис. 2.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 |


