- •Содержание
- •1 Микропроцессорный комплект кр580
- •1.1 Мп вм80а. Структура. Основные режимы функционирования
- •1.2 Функционирование мп
- •1.3 Особые режимы функционирования
- •1.4 Непрограммируемые интерфейсные бис
- •1.5 Системный контроллер вк28 Системные контроллеры кр580вк28 и кр580вк38
- •1.6 Интерфейс и классификация интерфейсов
- •1.7 Параллельный адаптер вв55
- •1.8 Последовательный адаптер вв51а Синхронный режим
- •Асинхронный режим
- •1.9 Кпдп вт57. Назначение. Структура
- •Функционирование
- •1.10 Кпп вн59. Назначение. Структура
- •1.11 Контроллер клавиатуры и индикации вв 79
- •1.12 Контроллер видеотерминала кр580вг75
- •1.13 Особенности мп к1821вм8085а
- •2 Микрокрнтроллер мк51
- •2.1. Структурная схема мк51
- •2.1.1. Арифметическо-логическое устройство
- •2.1.2. Резидентная память
- •2.1.3. Устройство управления и синхронизации
- •2.2. Порты ввода/вывода информации
- •Доступ к внешней памяти
- •2.3. Таймер/счетчик
- •2.4. Последовательный интерфейс
- •2.5. Система прерываний
1.2 Функционирование мп
Микропроцессор КР580ВМ80А может осуществлять синхронный и асинхронно-синхронный обмены информацией с памятью и внешними устройствами за один или несколько машинных циклов. Кроме того, его подсистема прерываний может инициировать асинхронно-синхронный обмен по прерыванию. При обработке большинства команд микропроцессор осуществляет обмены с памятью - извлекает код команды и операнды, засылает в память содержимое регистров и лишь только две команды IN и OUT предназначены для проведения обмена с внешними устройствами. Обмен с памятью инициируется также при начальной установке микропроцессора.
Начальная установка. При одновременном включении питания - 5, +5 и 12В (или последовательном в указанном порядке) и поступлении на микропроцессор серий тактовых импульсов F1 и F2, все регистры и флаги микропроцессора устанавливаются в произвольные состояния. При поступлении на вход RESET сигнала высокого уровня длительностью не менее 3 тактов счетчик команд PC, триггер разрешения прерывания (выход INTE), а также триггер подтверждения захвата (выход HLDA) сбрасываются, и микропроцессор начинает выборку из памяти команды, расположенной по нулевому адресу.
Микропроцессор
выполняет различные команды за различное
время в течение от 1 до 5 машинных циклов
(M1 - М5) Первый цикл обычно состоит из 4 -
5 машинных тактов, а последующие - из 3.
Таким образом, в зависимости от типа
выполняемого машинного цикла микропроцессор
последовательно проходит устойчивые
состояния
,
,
(
или
,
для первого цикла команды), в каждом из
которых он находится в течение 1 машинного
такта. Кроме того, микропроцессор может
находиться неограниченное время в
следующих устойчивых состояниях:
ожидания, захвата, останова.
В
зависимости от выполняемой команды
микропроцессор проходит через
последовательность различных машинных
циклов (табл. 1.2), о каждом из которых он
посылает на шину данных в первом такте
цикла информацию - слово состояния,
структура которого следующая: D0
(INTA)
- подтверждение запроса на прерывание;
D1 (
)
- запись в память или вывод во внешнее
устройство; D2 (STACK)
- операции со стеком; D3 (HLTA)
- подтверждения останова после выполнения
команды HLT; D4 (OUT)
- вывод; D5 (M1)
- первый цикл команды; D6 (INP)
- ввод; D7 (MEMR)
- чтение из памяти.
Таблица 1.2
Слово состояния |
M1 |
M2 |
M3 |
M4 |
M5 |
M6 |
M7 |
M8 |
M9 |
M10 |
|
Извлечение команды |
Чтение из памяти |
Запись в память |
Чтение из стека |
Запись в стек |
Ввод |
Вывод |
Подтверждение пребывания |
Подтверждение останова |
Подтверждение прерывания во время останова |
||
D0 |
INTA |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
D1 |
|
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
D2 |
STACK |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
D3 |
HLTA |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
D4 |
OUT |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
D5 |
M1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
D6 |
INP |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
D7 |
MEMR |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
Различают
следующие циклы:
- прием первого байта (цикл извлечения
команды);
- чтение из ЗУ по адресу, расположенному
в паре регистров (ВС,
DE, HL) или
счетчике команд PC;
- запись в ЗУ по адресу, расположенному
в паре регистров (ВС,
DE, HL);
Рисунок 1.2 - временная диаграмма входных и выходных сигналов микропроцессора
-
чтение из стека - области ЗУ, на которую
указывает содержимое SP;
- запись в стек - область ЗУ, на которую
указывает содержимое SP;
- ввод-загрузка аккумулятора из внешнего
устройства;
- вывод-сохранение содержимого аккумулятора
во внешнем устройстве;
- прерывание-переход на обслуживание
запроса от внешнего источника;
- останов;
- прерывание во время останова - переход
на обслуживание запроса от внешнего
источника из состояния останова. Все
множество допустимых циклов микропроцессора
КР580ВМ80А можно условно разбить на три
группы: чтение (ввода) -
,
,
,
,
,
(временная диаграмма входных и выходных
сигналов микропроцессора изображена
на рис. 1.2, а); записи (вывода)
,
,
(рис. 1.2,б); останова
.
В циклах группы чтения во втором
такте
на выходе DBIN появляется сигнал высокого
уровня, по которому микропроцессор
выполняет чтение информации из памяти
или внешних устройств. В циклах группы
записи в такте
на выходе микропроцессора
появляется сигнал отрицательной
полярности, по которому происходит
запись информации в память или внешние
устройства. В циклах первой группы
М1, М8, М10 информация с шины данных вводится
в регистр команд IR, в
- в аккумулятор А или в один из регистров
общего назначения (В, С, D, E, H, L, W, Z), в
- в пару регистров (ВС, DE, HL или PSW), в
- в аккумулятор А. В цикле второй
группы
информация на шину данных выводится из
аккумулятора или одного из регистров
общего назначения, в
- из регистра пары (ВС, DE, HL или PSW); в
- из аккумулятора. Следует отметить, что
в циклах первой группы после такта
,
в котором может завершаться чтение,
могут следовать такты
и
,
или
следующего цикла, а в циклах второй
группы вслед за
,
в котором осуществляется запись,
всегда следует
следующего цикла. При выполнении любой
команды последовательность циклов
обмена, инициируемая микропроцессором,
начинается циклом
,
в котором происходит извлечение кода
команды.
Цикл извлечения команды. В первом такте по переднему фронту F2 на выходе SYNC появляется сигнал высокого уровня, индицируя первый такт машинного цикла (рис. 1.3). Кроме того, на шине данных в этом такте появляется слово состояния, у которого в разрядах D1, D5, D7 записаны единицы. По переднему фронту F2 в этом такте на адресной шине устанавливается адрес ячейки памяти, который поступил в буфер адреса из счетчика команд микропроцессора.
Во
втором такте
на выходе микропроцессора DBIN появляется
сигнал высокого уровня длительностью
в один такт, по которому обычно происходит
чтение памяти и внешних устройств. В
этом такте микропроцессор опрашивает
сигналы на входах READY, HOLD и триггере
HLTA. В зависимости от значения сигналов
на этих выводах микропроцессор
переходит в различные состояния:
ожидания, захвата или останова. Если на
выводы READY, HOLD поступили сигналы 1, 0, а
триггер HLDA установлен в «0», то
микропроцессор переходит в состояние
.
В третьем такте может выполняться или
завершаться чтение памяти, после чего
шина данных переходит в высокоимпедансное
состояние. Следует отметить, что обычно
до четвертого такта
уже изменяется значение счетчика команд
и, таким образом, в нем находится адрес
новой команды, который поступает на
адресные шины в первом такте следующего
машинного цикла.
В четвертом такте код команды, поступившей в регистр команд, дешифрируется - определяется, сколько циклов и тактов требуется для выполнения команды, которая затем отрабатывается микропроцессором в течение данного или последующего пятого такта . Если команда двух- или трехбайтная, то выполнение ее происходит в следующих машинных циклах после извлечения оставшихся байтов. Следует отметить, что по переднему фронту F2 на выводах адресной шины в такте появляется неопределенное значение, а в такте эти выводы переводятся в высокоимпедансное состояние.
Рисунок 1.3 - Диаграмма цикла извлечения команды
