МИНОБРНАУКИ РОССИИ
______________________________________________________________
Санкт-Петербургский государственный электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина)
______________________________________________________________
Микропроцессорные системы
Отчет по лабораторной работе №4 вариант №5
Выполнили:
Жариков В.В.
Шумилов Н.С.
Факультет: КТИ
Группа: 2307
Проверил:
Зуев И.С
Подпись:
________
Санкт-Петербург
СПбГЭТУ “ЛЭТИ”
2015 г.
Лабораторная работа №4 Изучение системы приоритетных прерываний в микроконтроллере 8051
Цель работы:
1. Ознакомление с организацией системы прерываний в микроконтроллере;
2. Изучение приемов программирования и принципов построения программ обработки прерываний.
Задания на лабораторную работу
Построить программу реализации "бегущего огня" согласно лабораторной работе №3 на основе программно-аппаратной задержки. При программировании регистров управления прерыванием обеспечить разрешение прерывания от T/C0 и INT0/. При этом реализовать следующее.
Внешний сигнал прерывания INT0 вызывает программу вывода в порт Р1 "решетки", например код 55H.
Изучить отличия формирования сигнала прерывания INT0 по фронту и уровню. Замаскировать прерывание INT0 , а затем и прерывание от TF0, объяснить поведение программы (отсутствие индикации ).
Изучить режимы обработки запросов прерываний с различными приоритетами. назначить сигналу INT0 высший приоритет, а сигналу прерывания TF0 от T/C0 – низший. Для наблюдаемости результата в программе обработке прерывания от TF0 вывести некоторый код в порт Р1 и, не выходя из обработки прерывания, выполнять бесконечный цикл – этот цикл должен быть прерван по сигналу INT0 с выводом в порт Р1 решетки 55H. Убедиться, что программа, запускаемая от таймера/счетчика 0, не прерывается, если назначить сигналу INT0 приоритет, равный или меньше приоритета сигнала прерывания TF0 от T/C0.
Вариант задания |
Вид бегущего огня |
Время свечения светодиода/СИД/ /в секундах/ |
5 |
Слева-направо; горят 4 СИД |
0,5 |
Cтруктурные схемы работы системы прерываний
В микроконтроллере предусмотрена приоритетная система прерываний, структура которой показана на рис. 4.1. Обслуживаются запросы на прерывание, поступающие от следующих источников прерывания.
1. Таймеры/счетчики 0, 1 (при переполнении) и 2 (при переполнении или автозахвате/автозагрузке).
2. Два внешних источника прерывания (запросы должны поступать от внешних устройств на входы INT0, INT1 микроконтроллера).
3. Порт последовательной передачи данных (при передаче или приеме очередного байта информации).
Рис 4.1
Прерывания могут быть вызваны или запрещены программным путем, так как все указанные флаги программно доступны и могут быть установлены/сброшены. В микроконтроллере имеются два регистра, управляющие разрешением прерываний (IE) и уровнем приоритетов (IP). Форматы данных регистров представлены на рис. 4.2, 4.3, а их описание – в таблицах 4.1, 4.2. Чтобы прерывание от данного источника произошло, необходимо, во-первых, установить в 1 соответствующий бит разрешения прерывания в регистре IE и во-вторых, установить в 1 бит общего разрешения прерываний EA. Система прерываний является двухуровневой, то есть программа обработки прерывания низшего приоритета (0 в соответствующем бите регистра IP) может быть прервана программой обработки прерывания высшего приоритета (1 в соответствующем бите регистра IP). Если установленный в регистре IP приоритет разных источников прерываний одинаков, то при одновременном возникновении запросов управление получает программа обработки прерывания с меньшим номером соответствующего разряда в регистре IE.
IE.7 |
IE.6 |
IE.5 |
IE.4 |
IE.3 |
IE.2 |
IE.1 |
IE.0 |
EA |
– |
ET2 |
ES |
ET1 |
EX1 |
ET0 |
EX0 |
Рис. 4.2. Структура регистра разрешения прерываний IE
IP.7 |
IP.6 |
IP.5 |
IP.4 |
IP.3 |
IP.2 |
IP.1 |
IP.0 |
– |
– |
PT2 |
PS |
PT1 |
PX1 |
PT0 |
PX0 |
Рис. 4.3. Структура регистра приоритетов прерываний IP
Таблица 4.1. Назначение битов регистра разрешения прерываний IE
Бит |
Позиция |
Название и назначение |
EA |
IE.7 |
Общеее разрешение пpеpываний. Сбpасывается пpогpаммно для запpета всех пpеpываний независимо от состояний остальных битов pегистpа IE. |
|
IE.6 |
Не используются. |
ET2 |
IE.5 |
Разpешение пpеpывания от таймеpа/счетчика 2 от флага TF2 или EXF2 |
ES |
IE.4 |
Разpешение пpеpывания от УАПП от флага TI или RI. |
ET1 |
IE.3 |
Разpешение пpеpывания от таймеpа/счетчика 1 от флага TF1 |
EX1 |
IE.2 |
Разpешение внешнего пpеpывания от входа INT1 |
ET0 |
IE.1 |
Разpешение пpеpывания от таймеpа/счетчика 0 от флага TF0 |
EX0 |
IE.0 |
Разpешение внешнего пpеpывания от входа INT0 |
Таблица 4.2. Назначение битов регистра приоритетов прерываний IP
Бит |
Позиция |
Название и назначение |
|
IP.7, IP.6 |
Не используются. |
ET2 |
IP.5 |
Приоритетет пpеpывания от таймеpа/счетчика 2 от флага TF2 или EXF2 |
ES |
IP.4 |
Приоритетет пpеpывания от УАПП от флага TI или RI. |
ET1 |
IP.3 |
Приоритетет пpеpывания от таймеpа/счетчика 1 от флага TF1 |
EX1 |
IP.2 |
Приоритетет внешнего пpеpывания от входа INT1 |
ET0 |
IP.1 |
Приоритетет пpеpывания от таймеpа/счетчика 0 от флага TF0 |
EX0 |
IP.0 |
Приоритетет внешнего пpеpывания от входа INT0 |