Иногда микропроцессорная система должна реагировать на редкие и непредсказуемые события. Вернемся к аналогии с предприятием. Предположим, что могут произойти какие-то экстремальные события. Например, каждый может быть оторван от работы пожарной тревогой. После того, как пожар потушен и его последствия ликвидированы, люди возвращаются к прежней работе.
Аналогичные события могут произойти и в микропроцессорной системе. Например, рассмотрим вольтметр со встроенным МП, который иметр на передней панели кнопку калибровки. Когда нажимается эта кнопка, работа МП прерывается и МП переходит к подпрограмме калибровки. После выполнения калибровки управление возвращается к основной программе, которая была прервана. Эти действия называются прерываниями. Кристалл МП имеет вход, который принимает прерывания. Сигнал высокого уровня на этом входе вызывает переход процессора к специальной подпрограмме прерывания. Эта подпрограмма выполняет задачу, требуемую прерывающим устройством. Команда, стоящая в конце подпрограммы прерывания, возвращает МП к прерванной программе.
|
|
Иногда нужно, чтобы МП не реагировал на прерывание. Поэтому прерывание может быть запрещено программой. Существуют две команды: ЕI - разрешить прерывание, DI -запретить прерывание.
МП КР580ИК80 реагирует на прерывание следующим образом. Не увеличивая содержимого счетчика адреса, он принимает информацию с шины данных, и в зависимости от кода, установленного на шине данных, начинает выполнять программу с определенного адреса в соответствии с табл.4.
Таблица 4 Таблица прерываний
Номер прерывания | Код на шине данных | Адрес, с кото рого начинает ся программа обработки прерывания |
RST0 | С7 | |
RST 1 | СF | |
RST 2 | D7 | |
RST З | DF | |
RST 4 | Е7 | |
RST 5 | ЕF | |
RST 6 | F7 | |
RST 7 | FF |
Таким образом, внешнее устройство, вырабатывающее сигнал прерывания, должно выставить на шине данных код, в соответствии которым будет выполняться определенная подпрограмма по обработке прерывания. Программист, в свою очередь, должен предусмотреть такую подпрограмму при написании общей программы.
В "Микролаб" прерывание используется для организации шагового режима. Подробнее это будет описано в последующих разделах.