АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Система прерываний микроконтроллера MCS51. Работа со стеком

Читайте также:
  1. I ступень – объектив- центрическая система из 4-10 линз для непосредственного рассмотрения объекта и формирования промежуточного изображения, расположенного перед окуляром.
  2. II. Работа в базе данных Microsoft Access
  3. II. Работа с лексическим составом языка
  4. II. Работа с текстом
  5. II. Світовий освітній простір і система освіти в Україні.
  6. IV. Культурно-просветительская работа.
  7. IV. Работа с текстом
  8. V. УЗАГАЛЬНЕННЯ Й СИСТЕМАТИЗАЦІЯ ЗНАНЬ
  9. V1: Договорная работа с поставщиками и посредниками
  10. VI. Система органов дыхания
  11. А) звукопровідна система
  12. Аварии на коммунально-энергетических системах.

5 источников прерываний (2 внешних, 2 внутренних от таймеров и 1 от последовательного канала)

Запросы в порядке убывания приоритета: INT0, TF0, INT1, TF1, (RI, TI).

Внешние прерывания и могут быть вызваны либо уровнем, либо переходом сигнала из 1 в 0 на входах МК51 в зависимости от значений управляющих битов IT0 и IT1 в регистре TCON. От внешних прерываний устанавливаются флаги IE0 и IE1 в регистре TCON, которые инициируют вызов соответствующей подпрограммы обслуживания прерывания. Сброс этих флагов выполняется аппаратно только в том случае, если прерывание было вызвано по перепаду сигнала. Если же прерывание вызвано уровнем входного сигнала, то сбросом флага IE управляет соответствующая подпрограмма обслуживания прерывания путем воздействия на источник прерывания с целью снятия им запроса.

Флаги запросов прерывания от таймеров TF0 и TF1 сбрасываются автоматически при передаче управления подпрограмме обслуживания. Флаги запросов прерывания RI и ТI устанавливаются блоком управления УАПП (универсальный асинхронный приемопередатчик) аппаратно, но сбрасываться должны программой.

Прерывания могут быть вызваны или отменены программой, так как все перечисленные флаги программно-доступны и могут быть установлены/сброшены программой с тем же результатом, как если бы они были установлены/сброшены аппаратурными средствами.

В блоке регистров специальных функций есть два регистра, предназначенных для управления режимом прерываний и уровнями приоритета.

Регистр масок прерывания IE:

Символ Позиция Имя и назначение
ЕА IE.7 Снятие блокировки прерываний
---- IE.6 Не используются
---- IE.5
ES IE.4 Бит разрешения прерывания от УАПП
ET1 IE.3 Бит разрешения прерывания от таймера 1
EX1 IE.2 Бит разрешения внешнего прерывания 1
ET0 IE.1 Бит разрешения прерывания от таймера 0
EX0 IE.0 Бит разрешения внешнего прерывания 0

 

Регистр приоритетов прерываний IP:

Символ Позиция Имя и назначение
---- IP.7 IP.6 IP.5 Не используются
PS IP.4 Бит приоритета УАПП.
PT1 IP.3 Бит приоритета таймера 1
PX1 IP.2 Бит приоритета внешнего прерывания 1
PT0 IP.1 Бит приоритета таймера 0
PX0 IP.0 Бит приоритета внешнего прерывания 0

Регистр управления таймерами TCON:

Символ Позиция Имя и назначение
  TCON.7 Пусковый бит таймера 1
TF1 TCON.6 Флаг переполнения таймера 1
  TCON.5 Пусковый бит таймера 0
TF0 TCON.4 Флаг переполнения таймера 0
IE1 TCON.3  
IT1 TCON.2  
IE0 TCON.1  
IT0 TCON.0  

Регистр управления последовательным каналом SCON

Символ Позиция Имя и назначение
  SCON.7  
  SCON.6  
  SCON.5  
  SCON.4  
  SCON.3  
  SCON.2  
TI SCON.1  
RI SCON.0  

 

При выполнении прерывания в стек помещается только содержимое счетчика команд (PC). Затем в счетчик команд загружается адрес вектора соответствующей подпрограммы обслуживания. По адресу вектора должна быть расположена команда безусловной передачи управления (JMP) к начальному адресу подпрограммы обслуживания прерывания. Подпрограмма обслуживания в случае необходимости должна начинаться командами записи в стек (PUSH) слова состояния программы (PSW), аккумулятора, расширителя, указателя данных и т.д. и заканчиваться командами восстановления из стека (POP). Подпрограммы обслуживания прерывания обязательно завершаются командой RETI, по которой в счетчик команд перезагружается из стека сохраненный адрес возврата в основную программу. Команда RET также возвращает управление прерванной основной программе, но при этом не снимает блокировку прерываний, что приводит к необходимости иметь программный механизм анализа окончания процедуры обслуживания данного прерывания.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)