Студопедия

КАТЕГОРИИ:

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


Указания к выполнению работы. Прерывания в микропроцессорных системах позволяют синхронизировать работу системы с различными внешними процессами




Прерывания в микропроцессорных системах позволяют синхронизировать работу системы с различными внешними процессами. В МК51 возможна обработка прерываний от пяти источников:

- два внешних прерывания от сигналов INT0 (P3.2) и INT1 (P3.3);

- от таймеров при их переполнении, то есть от появления флагов TF0 и TF1;

- от последовательного порта при приеме и передаче байта.

Внешние прерывания могут вызываться как фронтом, так и уровнем сигнала. Это определяется битами IT0 и IT1 регистра TCON.

Обработка прерываний производится при разрешении прерывания от соответствующего источника и при общем разрешении обработки прерываний. Управление прерываниями производится установкой или сбросом соответствующих битов регистра разрешения прерываний IE, имеющего следующую структуру:

 

Биты
Обозн. EA X X ES ET1 EX1 ET0 EX0

 

Здесь EA = 0 – все прерывания запрещены; 1 – можно разрешать прерывания.

ES = 1 – разрешено прерывание от последовательного порта.

ET1 = 1 – разрешено прерывание от таймера 1.

ET0 = 1 – разрешено прерывание от таймера 0.

EX1 = 1 – разрешено прерывание от INT1.

EX0 = 1 – разрешено прерывание от INT0.

Любому из прерываний можно назначить один из двух уровней приоритета. Уровень приоритета определяется битами регистра приоритетов прерываний IP со следующей структурой:

 

Биты
Обозн. X X X PS PT1 PX1 PT0 PX0

 

PX0 – приоритет INT0.

PT0 - приоритет T0

PX1 - приоритет INT1

PT1 - приоритет T1

PS – последовательного порта.

Установка битов приоритетов в 1 означает более высокий приоритет. Обращение к битам регистров IE и IP возможно по имени бита.

Обработка прерывания осуществляется так же, как и вызов подпрограммы. Отличие заключается в том, что место вызова подпрограммы обработки прерывания определяется не командой CALL в программе, а моментом возникновения прерывания. Адреса подпрограмм обработки прерываний в МК51 имеют определенные значения:

 

Источник прерывания Адрес подпрограммы
IE0 0003H
TF0 000BH
IE1 0013H
TF1 001BH
TI+RI 0023H

При входе в программу обработки прерывания в стеке запоминается адрес возврата, и запрещаются прерывания того же уровня, что и обрабатываемое. Выход из подпрограммы обработки осуществляется командой RETI.

Для реализации обработки прерываний необходимо:

- определить тип внешнего прерывания (по умолчанию IT=0 – прерывание по уровню);

- определить приоритеты прерываний ( по умолчанию все прерывания имеют одинаковый низший уровень);

- по соответствующим адресам разместить подпрограммы обработки прерываний.

Например, задача по генерированию прямоугольных импульсов частотой 10 кГц может быть решена с использованием прерывания следующим образом:

 


Поделиться:

Дата добавления: 2015-04-05; просмотров: 59; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты