- •Лабораторная работа № 15 Программирование системы прерываний микроконтроллера
- •Цель работы
- •2.Основные теоретические сведения
- •3. Порядок выполнения работы
- •3.1. Исследование внешних прерываний
- •3.2. Исследование прерываний от таймеров/счетчиков
- •3.3. Исследование приоритетов запросов прерывания
- •4. Задания для самостоятельной работы
- •Содержание отчета
- •Контрольные вопросы
4. Задания для самостоятельной работы
При выполнении заданий будет использоваться микроконтроллерное устройство (МКУ), схема которого приведена на рис. 4. Кнопка SB1 служит для подачи на линию P3.2 запроса прерывания /INT0. Подпрограммы обслуживания прерываний следует располагать в памяти за основной программой.
Разработайте программу для МКУ, которая отображает на светодиодах VD1 – VD8 в двоичном коде количество нажатий на кнопку SB1. При нажатии кнопки поступает запрос прерывания /INT0.
Разработайте программу для МКУ, которая выводит состояние датчиков предельных температур (см. п.3.3 лабораторной работы № 9) на светодиоды VD1 – VD8 каждый раз, когда нажимается кнопка SB1 (при нажатии кнопки в МК поступает запрос прерывания /INT0). Длительность индикации – 5 секунд. Затем все светодиоды гаснут.
Разработайте программу, которая производит циклическое включение и выключение светодиодов VD1 – VD8 определенное число раз. Это число равно двоичному коду, заданному переключателями на линиях P1.0, P1.1, P1,2 порта МК. Цикл включения и выключения начинается после нажатия на кнопку SB1, при этом на вход P3.2 поступает запрос прерывания. Длительность включенного и выключенного состояния светодиодов равна 1 секунде.
Содержание отчета
Наименование и цель работы. Тексты программ к заданиям для самостоятельной работы. Необходимо привести блок-схемы алгоритмов, комментарии, hex-файлы для демонстрации разработанных программ.
Контрольные вопросы
Какие запросы прерывания предусмотрены в МК51
Как можно разрешить и запретить запрос прерывания
Какая из команд возврата (RET или RETI) должна использоваться в подпрограммах обслуживания прерывания и почему
Опишите действия МК51 при поступлении запроса внешнего прерывания, если оно было разрешено.
Опишите действия МК51 при поступлении запроса прерывания от таймера/счетчика, если оно было разрешено.
Каков порядок обслуживания запросов прерывания при их одновременном поступлении, если все они имеют низкий приоритет
Как можно изменить порядок обслуживания запросов прерывания при их одновременном поступлении