Введение

Организация обработки прерываний в однокристальном микроконтроллере МК-51 является одной из важнейших особенностей, отличающих этот класс микропроцессорных БИС от универсальных микропроцессоров. Наличие на кристалле раз­витых средств обработки прерываний во многом обусловлено основной областью применения однокристальных микроконтроллеров – встраиваемые устройства управления. Если использование универсальных микропроцессоров практически невозможно без подключения отдельной БИС контроллера приоритетных прерываний (КПП), а в большинстве случаев – двух таких БИС, то в МК проблема подключения и определения порядка обработки нескольких запросов на прерывания решается встроенными средствами. Возможности микроконтроллеров при обработке прерываний, конечно, уступают возможностям специализированной БИС КПП, но в то же время достаточны для большинства применений.

Система прерываний однокристального микроконтроллера типа МК-51 позволяет обрабатывать до пяти запросов на прерывания: два внешних прерывания, поступающих по входам INT0 и INT1 (линии порта Р3.2 и Р3.3 соответственно), два прерывания от таймеров/счетчиков Т/С0 и Т/С1 и прерывание от последовательного порта. Прохождение любого запроса прерывания может быть запрещено установкой в "0" соответствующего бита регистра маски IE. Бит EA этого ре­гис­т­ра запрещает все прерывания в мик­ро­контроллере.

Каждому прерыванию в регистре приоритетов IP назначается высокий или низкий уровень приоритета.

Вызов обработчика прерывания, принятого к обслуживанию, заключается в передаче управления по фиксированному адресу памяти программ. При этом в стеке запоминается адрес возврата в прерванную программу и аппаратно запрещаются прерывания, имеющие тот же уровень приоритета, что и обслуживаемое прерывание. Обработчик прерывания должен завершаться командой IRET, по которой восстанавливается логика приоритетов пре­ры­ва­ний и в программный счетчик PC из стека заносится адрес возв­ра­та.

Формат специальных регистров микроконтроллера, исполь­зуемых системой прерываний, и детальный механизм об­работки запросов на прерывания рассмотрены в разделе 1.3.

Постановка задачи и варианты ее решения

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

Индивидуальные варианты заданий на выполнение лабораторной работы различаются параметрами генерируемого импульса и типами прерываний, на которые должен реагировать микроконтроллер.

Запрос на прерывание от внешних источников INT0 и INT1 должен устанавливаться по срезу сигнала на соответствующем входе.

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

1. Изучить пример подготовки к выполнению работы.

2. Составить программу на языке ассемблера МК-51.

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

1. Выполнить отладку составленной программы.

2. Исследовать реакцию МК на прерывания при следующих ситуациях:

прерывания имеют одинаковый приоритет и приходят одновременно;

прерывания имеют разный приоритет и приходят одновременно;

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

прерывания имеют одинаковый приоритет;

обрабатываемое прерывание имеет более высокий приоритет;

обрабатываемое прерывание имеет меньший при­оритет.

3. Проанализировать работу стека микроконтроллера при об­работке прерываний.

4. Продемонстрировать работу отлаженной программы пре­подавателю.

5. Ответить на вопросы преподавателя.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: