- •Содержание
- •История развития микропроцессорной техники Классификация микропроцессорных средств
- •Основные определения
- •Архитектура cpu
- •Программная модель cpu.
- •Организация памяти базового мк. Память данных (пд) Карта памяти данных
- •Внешняя память мк
- •Карта памяти программ (пп)
- •Расширенная память
- •Организация sfr регистров
- •Система команд микроконтроллеров семейства mcs-51 Режимы адресации
- •Встроенные периферийные устройства мк
- •Альтернативные функции
- •Архитектура таймеров-счетчиков.
- •Форматы регистров управления. (sfr)
- •Tmod – режим (sfr)
- •Последовательный порт uart (асинхронный приёмопередатчик)
- •Форматы регистров управления Регистр управления последовательным портом scon
- •Регистр управления мощностью pmod
- •Скорость обмена данными для последовательного порта
- •Система прерываний
- •Особенности системы прерываний
- •Ie(разрешение прерываний)
- •Особенности системы прерываний мк Infineon 80c535
- •Дополнительный регистр запроса прерываний
- •Регистры приоритетов прерываний
- •Узел генератора
- •Регистры специального назначения.
- •Порты ввода-вывода
- •Цифровой коммутатор и приоритетный дешифратор
- •Форматы регистров конфигурирования
- •Особенности работы cpu. Особенности центрального процессорного устройства cip51.
- •Архитектура и программирование аналого-цифрового преобразователя(ацп)
- •Устройство выборки и хранения на входе ацп
- •Форматы регистров конфигурирования
- •Калибровка
- •Узел прямого доступа к памяти (dma)
- •2 Режима работы dma
- •2 Регистра управления dma
Система прерываний
В базовой модели поддерживается векторная маскируемая приоритетная многоуровневая система прерываний.
Векторная система, так как определяется по началу вектора прерывания.
Маскируемая система, так как каждый источник прерывания может быть замаскирован.
Приоритетная – чем меньше цифра, тем выше приоритет.
Приоритет Адрес
RESET – высший приоритет, не рассматриваем как вектор прерываний 00 h
INT0 (устанавливается IE0) – внешнее прерывание 0 03 h
T/C0 (устанавливается TF0) – прерывание таймера 0 0b h
INT1 (устанавливается IE1) – внешнее прерывание 1 13 h
T/C1 (устанавливается TF1) – прерывание таймера 1 1b h
SP (устанавливается TI, RI) – прерывание последовательного порта 23 h
T2 (устанавливается T2F, ExF) – прерывание дополнительного устройства 2b h
(МК 80С535)
Схема 21. Система прерываний
При контекстуальном переключении сохраняется регистр в стеке (push), указатель переходит на следующую команду. Выполняется прерывание, TI=0. Дальше происходит обратное контекстуальное переключение, при котором извлекаются данные из стека (pop). При обслуживании запроса прерывания текущая команда выполняется до конца, а после IRET выполняется еще одна команда.
Могут быть вложенные прерывания. Глубина вложенности определяется стеком.
Схема22. Система вложенных прерываний
Прерывания могут быть фронтом и уровнем. Прерывание по фронту удобнее в использовании, так как запрос прерывания сбрасывается автоматически при переходе на обработку этого прерывания, можно объединить несколько источников прерываний.
Если использовать прерывание по уровню, то подпрограмма обработки должна своей инструкцией произвести сброс.
Сброс флага IE необходим, чтобы обрабатывать следующие прерывания.
Особенности системы прерываний
Сама подпрограмма обработки должна определять, что является источником запроса прерываний, и после обработки прерываний(программно)
Ie(разрешение прерываний)
EA |
- |
ET2 |
ES |
ET1 |
EX1 |
ET0 |
EX0 |
IP(priority)
- |
- |
PT2 |
PS |
PT1 |
PX1 |
PT0 |
PX0 |
PT2 – приоритет TF2 или EXF2
Машинный цикл равен 6 состояниям. Состояние делят на 2 фазы (первая и вторая)
C1 S5P2 – состояние 5, фаза 2.
Сам запрос прерывания распознаётся во время выполнения цикла. Следующий машинный цикл используется для проверки других запросов и сравнения приоритетов.
С2 – цикл 2
С3 выполняется команда LCALL (длинный вызов)
С4
Как минимум, 3 машинных цикла требуется на то, чтобы начать выполнять подпрограмму обработки прерываний.
Особенности системы прерываний мк Infineon 80c535
Всего 12 источников запросов прерываний - 12 векторов прерываний, они объединены в пары.
Ext Int0 ADC Int
T0 Ext Int2
Ext Int1 Ext Int3
T1 Ext Int4
SP Ext Int5
T2 Int Ext Int6
У базовой модели запрос прерывания должен держаться, пока не выполнится. Но ему мешают запросы с более высоким приоритетом. Если система не удержит запрос, то он пропадёт, то есть, надо куда-то записывать «заявки» от регистров.