Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Исследование прерываний

Автор:   •  Июнь 9, 2021  •  Лабораторная работа  •  681 Слов (3 Страниц)  •  255 Просмотры

Страница 1 из 3

Лабораторная работа №4.

 ИССЛЕДОВАНИЕ ПРЕРЫВАНИЙ

Цель работы: изучение способов реализации прерываний от различных источников

Порядок выполнения работы

 1. Ознакомиться со способами организации прерываний.

2. Изучить различные источники прерываний.

 3. Исследовать с помощью отладчика программу 4.1.

3.1. Набрать программу 4.1 на ПЭВМ.

 3.2. Откомпилировать программу.

3.3. Загрузить программу в отладчик.

3.4. Записать содержимое регистра специального назначения PSW и используемых ячеек памяти.

4. Составить программу по заданию преподавателя.

5. Исследовать программу, составленную по заданию преподавателя.

Краткая теория

Описание механизма прерываний ОМЭВМ

Механизм прерываний в ОМЭВМ позволяет автоматически реагировать на внешние и внутренние события (переполнение таймеров/ счетчиков, завершение последовательного обмена).

Каждое из внешних прерываний INТ0, INТ1 может быть активизировано по уровню ("0") или по фронту (переход из "1" в "0") сигналов на выводах ОМЭВМ Р3.2,Р3.3, что определяется состоянием битов IТ0 и IТ1 регистра ТСОN.

При поступлении запроса внешнего прерывания INТх устанавливается флаг IЕх регистра TCON. Установка флагов IЕх в регистре ТСОN вызывает соответствующее прерывание. Очистка флага IЕх производится следующим образом:

 при прерывании по фронту IЕх сбрасывается аппаратно (автоматически внутренними средствами ОМЭВМ) при обращении к соответствующей подпрограмме обработки прерывания;

 при прерывании по уровню флаг очищается при снятии запроса внешнего прерывания, то есть в IЕх отслеживается состояние вывода INТх. Прерывания от таймеров/счетчиков вызываются установкой флагов ТР0 и ТP1 регистра ТСОN, которые устанавливаются при переполнении соответствующих регистров таймеров/счетчиков. Очистка флагов ТР0 и ТP1 производится внутренней аппаратурой ОМЭВМ при переходе к подпрограмме обслуживания прерывания.

 Прерывание от последовательного порта вызывается установкой флага прерывания приемника RI или флага прерывания передатчика ТI в регистре SСОN. В отличие от всех остальных флагов, R1 и Т1сбрасываются только программным способом.

Каждый из перечисленных источников прерывания может быть индивидуально разрешен или запрещен установкой, или сбросом соответствующего бита в регистре разрешения прерываний IE.Регистр IE содержит также бит ЕА, сброс которого в «0» запрещает сразу все прерывания.

Структура приоритетов прерываний является двухступенчатой. Каждому источнику прерываний может быть индивидуально присвоен высокий или низкий уровень приоритета. Выполняется это установкой или сбросом соответствующего бита в регистре приоритетов прерываний IP.Программа обработки прерывания с высоким уровнем приоритета не может быть прервана никаким другим запросом 30 прерывания. Программа обработки прерывания с низким уровнем может быть прервана запросом прерывания с высоким уровнем, но не может быть прервана другим запросом с низким уровнем приоритета. Если одновременно приняты запросы с одинаковым уровнем, то они будут обрабатываться в порядке, задаваемом последовательностью внутреннего опроса флагов прерываний.

Таблица 1 - Векторы прерывания для различных источников.

[pic 1]

Разбор примера

Пример. Программа, использующая прерывания от различных источников. С задержкой в 50 мс, прибавить к содержимому порта вывода Р0, единицу (используя прерывание от таймера/счетчика),при запросе прерывания от внешнего источника(INT0),вывести в порт Р1 число ААh.

Код программы примера

[pic 2]

Проверка программы примера на ошибки

[pic 3]

Выполнение программы примера в отладчике

[pic 4]

Задание

Вариант 15. Контролировать состояние 1 разряда порта Р0, если бит установлен, то вывести в порт Р2 константу С2h, по сигналу внешнего прерывания инвертировать содержимое порта Р1.

...

Скачать:   txt (9.4 Kb)   pdf (257.7 Kb)   docx (116.8 Kb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club