Система прерываний микроконтроллера. (Лекция 5) презентация

Система прерываний микроконтроллера Рис. 2 – Таблица векторов прерываний

Слайд 1Лекция 5
Система прерываний микроконтроллера
Рис. 1 – Прерывание останавливает выполнение основной программы


Слайд 2Система прерываний микроконтроллера
Рис. 2 – Таблица векторов прерываний


Слайд 3Система прерываний микроконтроллера
Рис. 3 – Начальный код для микроконтроллера AVR tiny2313


Слайд 4Внешние прерывания
Рис. 4 – Регистр управления микроконтроллером

Бит 7 — PUD: Отключение

резисторов внутренней нагрузки. Если значение этого бита равно единице, нагрузочные резисторы всех разрядов всех портов отключены, даже если биты DDxn и PORTxn какого-либо регистра сконфигурированы на включение нагрузочного резистора.
Биты 6, 4 — SM1...0: Первый и второй разряды выбора режимов сна. Эти биты позволяют выбрать один из четырех режимов сна, как показано в таблице А.3.
Бит 5 — SE: Разрешение спящих режимов. Бит SE должен быть установлен в единицу для того, чтобы по команде SLEEP микроконтроллер перешел в спящий режим. Чтобы избежать случайного перехода в спящий режим, рекомендуется устанавливать бит SE в единичное состояние непосредственно перед вызовом команды SLEEP и сбрасывать его сразу после пробуждения.
Бит 3, 2— ISC11, ISC10: Биты выбора режима вызова внешнего прерывания INT1. Внешнее прерывание 1 вызывается при помощи внешнего входа INT1 в том случае, если установлен флаг I регистра SREG, а также установлен соответствующий бит регистра маски. Возможные варианты вызова прерывания INT1 приведены в таблице А.5.
Бит 1,0 — ISC01, ISC00: Биты выбора режима вызова внешнего прерывания INT0. Внешнее прерывание 0 вызывается при помощи внешнего входа INT0 в том случае, если установлен флаг I регистра SREG, а также установлен соответствующий бит регистра маски. Возможные варианты вызова прерывания INT0 приведены в таблице А.6.

Источники внешних прерываний:
PD2 – прерывание INT0;
PD3 – прерывание INT1
Все вывода Port B, объединенные по ИЛИ – прерывание PCINT


Слайд 5Внешние прерывания
Рис. 5 – Конфигурирование режима внешних прерываний INT0 и INT1

Прерывание

PCINT формируется при изменении уровня на любом выбранном выводе PORT B

Слайд 6Регистры для управления внешними прерываниями
Рис. 6 – Регистр маски внешних прерываний

GIMSK



Бит 7— INT1: Разрешение внешнего прерывания INT1. Внешнее прерывание INT1 разрешается, когда бит INT1 установлен в единицу, а также установлен флаг I регистра SREG,. Условия возникновения прерывания определяются битами ISC11 и ISO0 регистра MCUCR. Прерывание будет вызвано даже в том случае, если контакт INT1 сконфигурирован как выход. При вызове прерывания выполняется процедура, определяемая соответствующим вектором прерывания.
Бит 6— INT0: Разрешение внешнего прерывания INT0. Когда бит INT0 установлен в единицу, а также установлен флаг I регистра SREG, внешнее прерывание INT0 разрешается. Условия возникновения прерывания определяются битами ISC01 и ISC00 регистра MCUCR. Прерывание будет вызвано даже в том случае, если контакт INT0 сконфигурирован как выход. При вызове прерывания выполняется процедура, определяемая соответствующим вектором прерывания.
Бит 5 — PCIE: Разрешение прерывания по изменению состояния выводов. Если бит PCIE установлен в единицу, и при этом установлен флаг I регистра SREG, прерывание по изменению состояния любого контакта разрешено. Запрос на прерывание по изменению состояния на любом из контактов вызывает процедуру обработки прерывания, определяемую соответствующим вектором прерывания. Какие именно контакты будут вызвать прерывание, определяется индивидуально, установкой одного из битов PCINT7 – 0 регистра PCMSK.


Слайд 7Регистры для управления внешними прерываниями
Рис. 7 – Регистр флагов внешних прерываний

EIFR




Бит 7 — INTF1: Флаг внешнего прерывания 1. Когда изменение логического уровня сигнала на входе INT1 вызывает запрос на прерывание, устанавливается флаг INTF1. Если при этом флаг I регистра SREG и бит INT1 регистра GIMSK установлены в единицу, микроконтроллер перейдет к выполнению процедуры обработки прерывания по соответствующему вектору.
При запуске процедуры обработки прерывания флаг автоматически очищается. Флаг может быть также очищен программно, путем записи в него логической единицы. Если прерывание INT1 сконфигурировано как прерывание по уровню, данный флаг всегда очищен.
Бит 6 — INTF0: Флаг внешнего прерывания 0. Когда изменение логического уровня сигнала на входе INT0 вызывает запрос на прерывание, устанавливается флаг INTF0. Если при этом флаг I регистра SREG и бит INT0 регистра GIMSK установлены в единицу, микроконтроллер перейдет к выполнению процедуры обработки прерывания по соответствующему вектору.
При запуске процедуры обработки прерывания флаг автоматически очищается. Флаг может быть также очищен программно, путем записи в него логической единицы. Если прерывание INT0 сконфигурировано как прерывание по уровню, данный флаг всегда очищен.
Бит 5 — PCIF: Флаг прерывания по изменению состояния оного из выводов. Изменение логического уровня на одном из входов PCINT7 – 0 вызывает генерацию запроса на прерывание, благодаря чему устанавливается флаг PCIF. Если при этом флаг 1 регистра SREG и бит PCIE регистра GIMSK установлены в единицу, микроконтроллер перейдет к выполнению процедуры обработки прерывания по соответствующему вектору.
При запуске процедуры обработки прерывания флаг автоматически очищается. Флаг может быть также очищен программно, путем записи в него логической единицы.


Слайд 8Регистры для управления внешними прерываниями
Рис. 8 – Регистр маски вывода выводов

Port B для прерывания PCINT





Бит 7..0 — PCINT7..0: Маска разрешения входов. Каждый из битов PCINT7 – 0 определяет, разрешается ли прерывание по изменению уровня на соответствующем входе. Если бит и флаг PCIE регистра GIMSK установлены в единицу, прерывание по изменению сигнала на соответствующем входе разрешается. Если бит сброшен, то прерывание по изменению сигнала на соответствующем входе запрещено.


Слайд 9Порты ввода/вывода
Типы портов в микроконтроллерах:
только вход;
только выход;
двунаправленный вывод;
вывод с альтернативными функциями




Рис.

9 – Эквивалентная схема одного вывода микроконтроллера AVR

Регистры для управления портами микроконтроллера:
DDRx – регистр направления передачи данных порта;
PORTx – регистр данных порта;
PINx – регистр значения порта


Слайд 10Порты ввода/вывода




Рис. 10 – Функциональная схема вывода порта без учета альтернативных

функций

Слайд 11Порты ввода/вывода




Рис. 11 – Конфигурирование портов ввода/вывода
Электрические характеристики портов:
Входной ток –

не более 1 мкА
Выходной ток – не более 20 мА (при 5 В), 10 мА (при 3В)
Суммарный ток на всех выводах – не более 200 мА

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика