Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы мкр и мпс.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
4 Мб
Скачать
☆

4.4.5 Oбозначения, используемые при описании команд

Rn (n = 0, 1,..., 7) – регистр общего назначения в выбранном банке регистров;

@Ri(i= 0, 1) – регистр общего назначения в выбранном банке регистров, используемый в качестве регистра косвенного адреса;

ad – адрес прямоадресуемого байта;

ads – адрес прямо адресуемого байта-источника;

add – адрес прямо адресуемого байта-получателя; 

ad11 – 11-разрядный абсолютный адрес перехода; 

ad16 – 16-разрядный абсолютный адрес перехода;

rel – относительный адрес перехода;

#d – непосредственный операнд;

#d16 – непосредственный операнд (2 байта);

bit – адрес прямо адресуемого бита; 

/bit – инверсия прямо адресуемого бита;

А - аккумулятор;

РС – счетчик команд;

DPTR – регистр указатель данных;

( ) – содержимое ячейки памяти или регистра,

  1. Система прерываний мк-51.??

Прерывание (interrupt) – это реакция вычислительной системы на внутреннее или внешнее событие, возникновение которого приводит к приостановке выполнения текущей программы и передаче управления подпрограмме обслуживания источника прерывания, по завершении которой осуществляется возврат к прерванной программе.

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

У однокристальных МП: (например I8080)

Также, как и у МК-51 векторный способ обработки прерываний

RST0, RST1, … , RST7 – restart – команды запуска

Внешнее устройство посылает сигнал

Процессор анализирует ситуацию

Разрешает прерывание (INTA)

Код одной из команд RST

Процессор считывает этот код и передает управление под этим номером

Самый высокий приоритет – RST0

Такой механизм называется ПОЛИНГОМ

8. Архитектура микроконтроллера мк-51. Система прерываний.??

Прерывание (interrupt) – это реакция вычислительной системы на внутреннее или внешнее событие, возникновение которого приводит к приостановке выполнения текущей программы и передаче управления подпрограмме обслуживания источника прерывания, по завершении которой осуществляется возврат к прерванной программе.

В общем случае прерывание может быть инициировано внешним по отношению к процессору устройством (внешнее прерывание – external interrupt) или какой-либо внутренней причиной, например, ошибкой в программе (внутреннее прерывание – internal interrupt). Различают также аппаратные прерывания (hardware interrupt), вызванные физическими устройствами, и программные прерывания (software interrupt), вызванные специальными машинными командами.

Совокупность программных и аппаратных средств, предназначенных для обслуживания прерываний, называется системой прерываний. Система прерываний принимает запросы прерываний, определяет порядок обслуживания запросов (устанавливает приоритеты), передает управление подпрограмме обслуживания прерывания и обеспечивает корректный возврат из этой подпрограммы.

Система прерываний МК 80С51 обслуживает только аппаратные прерывания, которые могут быть инициированы внешними по отношению к микроконтроллеру устройствами (внешние прерывания) или встроенными периферийными устройствами (внутренние прерывания). Сигналы запросов внешних прерываний поступают на входы INT0’ и INT1’ микроконтроллера, запросы внутренних прерываний формируются таймером 0, таймером 1, приемником или передатчиком последовательного порта.

Аппаратная реализация рассмотренных выше функций системы прерываний в МК 80С51 осуществляется встроенным периферийным устройством, которое называется контроллером прерываний (IC – interrupt controller).

Для временного хранения адреса возврата в прерванную программу используется системный стек.

Начальные участки подпрограмм обслуживания прерываний, называемые векторами прерываний, размещаются в специальной области программной памяти, начиная с адреса 0003Н. Под каждый вектор прерывания отводится 8 байт памяти. Адрес первого (младшего) байта, называемый адресом вектора прерывания, формируется контроллером прерываний при предоставлении обслуживании соответствующему устройству.

Контроллер прерываний имеет два регистра специальных функций (IE и IP), которые служат для программного управления системой прерываний.

П рерывание от каждого источника может быть индивидуально разрешено или запрещено путем программной установки или сброса соответствующего разряда в регистре разрешения прерываний IE (Interrupt Enable). Этот регистр также содержит разряд EA (Enable All interrupts), установка/сброс которого приводит к разрешению/запрету всех прерываний.

Каждому источнику прерываний индивидуально может быть присвоен один из двух уровней приоритета (1 – высокий уровень или 0 – низкий уровень) путем программирования соответствующего бита в регистре приоритетов прерываний IP (Interrupt Priority). Уровень приоритета определяет очередность обслуживания устройств в том случае, когда сигналы запросов прерываний от этих устройств приходят одновременно. Сначала обслуживаются устройства, имеющие высокий уровень приоритета, затем – все остальные.

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

Рис. 2.14. Система прерываний МК 80С51

Запрос прерывания (interrupt request) формируется аппаратно при одновременном выполнении следующих условий: установлен флаг готовности устройства (IE0, IE1, TF0, TF1, TI, RI), установлен соответствующий управляющий бит в регистре разрешения прерываний (EX0, EX1, ET0, ET1, ES), снята программная блокировка всех прерываний (установлен бит EA в регистре разрешения прерываний).

Алгоритм реакции МК на запрос прерывания представлен на рис. 2.15.

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

1) прерываемая программа сама является подпрограммой обслуживания прерывания равного или более высокого уровня приоритета,

2) текущий цикл (т.е. тот цикл, в котором выполняется опрос и ранжирование запросов прерываний) не является последним циклом команды, выполняемой процессором,

3) выполняемая процессором команда является командой возврата из подпрограммы обслуживания прерывания (RTI) или же командой записи в регистр разрешения прерываний IE или регистр приоритетов прерываний IP.

Подпрограмма обслуживания прерывания должна заканчиваться командой RTI (Return from Interrupt), по которой восстанавливается из стека и загружается в счетчик команд адрес возврата в прерванную программу и снимается аппаратная блокировка прерываний.