- •1. Принципы построения и основы работы
- •2. Элементная база мпсу
- •3. Оперативные запоминающие устройства.
- •4. Постоянные запоминающие устройства.
- •5. Архитектура микропроцессора типа кр580вм80
- •6. Типы машинных циклов и слово состояния
- •7,8. Командные циклы чтения/записи
- •9. Командный цикл подтверждения прерывания.
- •10. Принципиальные электрические схемы
- •11,12. Интерфейс мпсу с изолированной системой шин
- •13. Интерфейс мпсу с общей системой шин
- •14. Организация обслуживания запросов прерывания
- •15. Программируемый контроллер
- •17. Программируемый контроллер прерываний
- •18. Функциональная схема пкп. Настройка режимов работы
- •19. Программируемый интервальный таймер
- •21. Мпсу с вводом-выводом аналоговой информации
- •22. Выходные каскады мпсу
- •Дворак Николай Маркович микропроцессорные устройства
- •В высших учебных заведениях 3-4 уровней
- •98309, Г. Керчь, ул. Орджоникидзе, 82
- •98309, Г. Керчь, ул. Орджоникидзе, 82
14. Организация обслуживания запросов прерывания
с использованием команды RST
Запрос прерывания – это запрос срочного, внеочередного обслуживания ВУ, выставившего запрос. Эта ситуация характерна для систем автоматики, так как в них обязательно контролируются аварийные параметры регулируемых сигналов и, в случае их возникновения, нужно в аварийном порядке остановить объект автоматизации. В простейшем случае во всех системах автоматики имеется кнопка "Стоп", реакция на поступивший от нее сигнал должна быть незамедлительной. Это является также требованием техники безопасности – немедленно отключить установку, если появилась угроза жизни для обслуживающего персонала.
Микропроцессорные программы управления множеством ВУ выполняются только последовательно: за 1-м ВУ обслуживается 2-е ВУ, затем 3-е ВУ и так до последнего ВУ. Потом возврат на обслуживание 1-го ВУ и – повторение цикла.
Следовательно, в каждый момент времени опрашиваются сигналы только одного объекта автоматизации, с ВУ которого работает программа МП, а сигналы с других ВУ и объектов автоматизации просто не опрашиваются. Аварийный сигнал может быть не замечен, если не подошла очередь обслуживания соответствующего ВУ. Поэтому режим прерываний в МПСУ совершенно необходим.
На рис.1.36 приведен алгоритм обслуживания прерываний и принципиальная электрическая схема МПСУ, поддерживающая режим обработки прерываний. Чтобы не усложнять схему, принято на прерывание завести кнопку С "Стоп" только одного устройства – устройства управления контактором К. Режим обслуживания множества прерываний рассмотрен далее на схеме рис.1.48.
рисунок
Кнопка С заведена на вход INT "Запрос прерывания". Кнопка П и контактор К подключены к МП обычным способом, как на схеме рис.1.29а.
Примем следующие условия построения схемы и работы МПСУ:
1). МПСУ организована с раздельной системой шин.
2). Адрес ВУ ввода и вывода равен 47Н.
3). В схеме используются:
- регистр, выставляющий команду RST 1 (схема взята из рис.1.26);
- регистр с подключенной кнопкой П (схема взята из рис.1.29б);
- D-триггер с контактором К (схема взята из рис.1.29б);
- дешифратор адреса ВУ (схема взята из рис.1.29б).
4). Программа, осуществляющая включение контактора К, расположена в начале ПЗУ. Стартовый адрес уточнится при составлении программы. Выключение контактора выполняется по прерыванию.
5). Вершина стека располагается за последним адресом массива ячеек ОЗУ.
Собственно разработкой схемы является организация дешифрации ИМС памяти. В схеме используются ИМС ПЗУ и ОЗУ одинакового объема памяти – по 211=2 Кбайта. Эти ИМС адресуются одиннадцатью битами ША (от А0 до А10). Применен дешифратор типа КР555ИД7, на адресные входы которого заведены биты А13, А12 и А11 ША, а на разрешающие входы заведены постоянные сигналы разрешения: и Е3=1. ПЗУ подключено к выходу 0 дешифратора, а ОЗУ – к выходу 1. Адреса ПЗУ и ОЗУ распределяется согласно рис.1.37.
Вид памяти |
Минимальные адреса |
Максимальные адреса |
||||||||||||||||||||||||||||
Биты ША |
16-ричные |
Биты ША |
16-ричные |
|||||||||||||||||||||||||||
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|||
ПЗУ |
0 |
0. |
0 |
0 |
0 |
0. |
0 |
0 |
0 |
0. |
0 |
0 |
0 |
0 |
0000 |
0 |
0. |
0 |
1 |
1 |
1. |
1 |
1 |
1 |
1. |
1 |
1 |
1 |
1 |
07FF |
ОЗУ |
0 |
0. |
1 |
0 |
0 |
0. |
0 |
0 |
0 |
0. |
0 |
0 |
0 |
0 |
0800 |
0 |
0. |
1 |
1 |
1 |
1. |
1 |
1 |
1 |
1. |
1 |
1 |
1 |
1 |
0FFF |
|
На ДШ |
На входы ИМС памяти |
|
На ДШ |
На входы ИМС памяти |
|
||||||||||||||||||||||||
Рис.1.37. Адреса ИМС памяти |
Последним адресом ОЗУ является 0FFFH. Следующий за ним адрес 1000Н присвоим вершине стека.
Программа управления контактором приведена на рис.1.38.
Так как после нажатия кнопки С вводится команда RST 1, то стартовый адрес подпрограммы обслуживания прерывания будет равным 0008Н, как и в работе схемы, изображенной на рис.1.26.
Адрес |
Код команды |
Метка |
Мнемокод |
Комментарии |
|||
0000 |
31 |
00 |
10 |
|
Инициализация |
LXI SP, 1000 |
Запись в указатель стека SP адреса 1000 вершины стека |
0003 |
FB |
|
|
|
|
EI |
Разрешить прерывания |
0004 |
C3 |
10 |
00 |
|
|
JMP Начало |
Идти на опрос кнопки П "Пуск" |
0007 |
00 |
|
|
|
|
NOP |
Нет операции |
0008 |
F5 |
|
|
|
Прерыв. |
PUSH PSW |
1-я команда п/программы обслуживания прерывания. Сохранить в стеке слово состояния программы |
Рис.1.38. Программа управления контактором с прерываниями
Адрес |
Код команды |
Метка |
Мнемокод |
Комментарии |
|||
0009 |
3E |
00 |
|
|
|
MVI A, 00 |
Записать в аккумулятор код выключения контактора К |
000B |
D3 |
47 |
|
|
|
OUT 47 |
Выключить контактор К |
000D |
F1 |
|
|
|
|
POP PSW |
Восстановить слово состояния |
000E |
FB |
|
|
|
|
EI |
Разрешить прерывания |
000F |
C9 |
|
|
|
|
RET |
Возврат в прерванную программу |
0010 |
DB |
47 |
|
|
Начало |
IN 47 |
Ввести состояние кнопки П "Пуск" |
0012 |
E6 |
02 |
|
|
|
ANI 02 |
Выделить маскированием бит с состоянием кнопки П |
0014 |
C2 |
1B |
00 |
|
|
JNZ Конец |
Выйти из программы без включения контактора К |
0017 |
3E |
01 |
|
|
|
MVI A, 01 |
Записать в аккумулятор код включения контактора К |
0019 |
D3 |
47 |
|
|
|
OUT 47 |
Включить контактор К |
001B |
|
|
|
|
Конец |
|
1-я команда управления другим ВУ |
Рис.1.38. Продолжение |
С начала выполнения подпрограммы обработки прерывания микропроцессор перестает опрашивать сигнал на входе INT. В конце указанной подпрограммы должны быть подряд выполнены две команды - EI и RET. Особенность команды EI состоит в том, что после нее процессор обязательно выполнит еще одну команду (по программе команда RET), даже если на входе INT будет присутствовать сигнал 1. Таким образом, подпрограмма обработки прерывания всегда будет завершена корректно: будет разрешен опрос сигнала запроса прерывания с входа INT, и одновременно управление будет передано отложенной команде.
До выполнения блока команд EI и RET кнопка С должна быть отпущена, иначе будут повторные запуски подпрограммы выключения контактора К.