- •Раздел 1. Микропроцессорные системы управления.
- •Раздел 2. Микроконтроллерные системы управления.
- •Раздел 3. Вопросы эксплуатации микропроцессорных устройств.
- •1. Микропроцессорные системы управления
- •1.1. Принципы построения и основы работы
- •Вопросы и задания
- •1.2. Элементная база мпсу
- •Вопросы и задания
- •1.3. Оперативные запоминающие устройства.
- •Вопросы и задания
- •1.4. Постоянные запоминающие устройства.
- •Вопросы и задания
- •1.5. Архитектура микропроцессора типа кр580вм80
- •Вопросы и задания
- •1.6. Типы машинных циклов и слово состояния
- •Вопросы и задания
- •1.7. Командные циклы чтения/записи
- •Вопросы и задания
- •1.8. Командный цикл подтверждения прерывания.
- •1.9. Принципиальные электрические схемы
- •Вопросы и задания
- •1.10. Интерфейс мпсу с изолированной системой шин
- •Вопросы и задания
- •1.11. Интерфейс мпсу с общей системой шин
- •1.12. Организация обслуживания запросов прерывания
- •Вопросы и задания
- •1.13. Программируемый контроллер
- •Вопросы и задания
- •1.14. Программируемый контроллер прерываний
- •Вопросы и задания
- •1.15. Программируемый интервальный таймер
- •Вопросы и задания
- •1.16. Мпсу с вводом-выводом аналоговой информации
- •Вопросы и задания
- •1.17. Выходные каскады мпсу
- •Вопросы и задания
- •2. Микроконтроллерные системы управления
- •2.1. Архитектура микроконтроллера к1816ве51
- •Вопросы и задания
- •2.2. Принципиальная электрическая схема порта
- •2.3. Схемы подключения внешней памяти к мк51
- •Вопросы и задания
- •2.4. Интерфейс мк51 с большим числом
- •Вопросы и задания
- •2.5. Таймер/счетчики мк51.
- •Вопросы и задания
- •2.6. Система прерываний мк51. Использование прерываний в программах
- •Вопросы и задания
- •2.7. Основы организации
- •Допустимые различия скорости приемо-передачи
- •2.8. Организация мультиконтроллерных систем
- •Программы инициализации станции и абонентов
- •Программы станции и абонента в сеансе "станция→абонент"
- •2.9. Микроконтроллерная система управления
- •3. Вопросы эксплуатации микропроцессорных устройств
- •3.1. Отладка аппаратных средств мпсу
- •Вопросы и задания
- •3.2. Отладка программного обеспечения мпсу
- •Вопросы и задания
- •3.3. Методы обеспечения помехоустойчивости мпсу
- •Вопросы и задания
- •1. Группа команд пересылок
- •2. Группа команд инкремента-декремента
- •3. Группа арифметических команд
- •4. Группа логических команд
- •5. Группа команд сдвига
- •6. Группа команд передачи управления
- •7. Группа команд работы со стеком
- •8. Группа команд ввода-вывода и управления микропроцессором
- •1. Группа команд пересылок
- •2. Группа команд арифметических операций
- •3. Группа команд логических операций
- •4. Группа команд операций с битами
- •5. Группа команд передачи управления
- •Дворак Николай Маркович микропроцессорные устройства
- •В высших учебных заведениях 3-4 уровней
- •98309, Г. Керчь, ул. Орджоникидзе, 82
- •98309, Г. Керчь, ул. Орджоникидзе, 82
1.12. Организация обслуживания запросов прерывания
с использованием команды 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 кнопка С должна быть отпущена, иначе будут повторные запуски подпрограммы выключения контактора К.