- •Микропроцессоры в системах автоматического управления.
- •Структура микропроцессора i8080. Принцип работы.
- •Основные понятия системы прерываний. Обработка запросов прерываний i8080.
- •Архитектура микроконтроллера мк-51. Алу, организация памяти и устройства управления. Совмещение адресного пространства памяти данных и программ.
- •5. Архитектура микроконтроллера мк-51. Порты ввода/вывода.
- •6. Архитектура микроконтроллера мк-51. Таймер/счётчик.
- •7. Архитектура микроконтроллера мк-51.Последовательный интерфейс.
- •Система команд
- •4.4.1 Общая характеристика
- •4.4.2 Типы команд
- •4.4.3 Типы операндов
- •4.4.4 Группы команд
- •4.4.5 Oбозначения, используемые при описании команд
- •Система прерываний мк-51.??
- •8. Архитектура микроконтроллера мк-51. Система прерываний.??
- •9. Режимы работы мк-51.
- •Система команд мк-51. Способы адресации в мк-51.
- •Система команд мк-51. Команды передачи данных.
- •Система команд мк-51. Команды арифметических операций.
- •13. Команды логических операций микроконтроллера 8051
- •Система команд мк-51. Команды операций с битами.
- •Система команд мк-51. Команды передачи управления.
- •Программирование на языке Ассемблера. Директивы резервирования памяти.
- •Программирование на языке Ассемблера. Использование подпрограмм – процедур и подпрограмм – функций.
- •5.7.1 Реализация подпрограмм-процедур на языке asm51.
- •5.7.2 Передача переменных-параметров в подпрограмму.
- •5.7.3 Реализация подпрограмм-функций на языке asm51.
- •Организация циклов и ветвлений. Ветвление
- •Программирование на языке Ассемблера. Использование сегментов в языке программирования ассемблер. Разбиение памяти мк на сегменты, абсолютные сегменты памяти, перемещаемые сегменты памяти.
- •5.10.1 Абсолютные сегменты памяти.
- •5.10.2 Перемещаемые сегменты памяти.
- •Архитектура микроконтроллеров семейства mcs-51 gb. Адресация регистров и памяти микроконтроллеров.
- •2.4 Организация памяти.
- •2.4.2 Память данных (озу).
- •2.4.3 Регистры специальных функций.
- •Периферийные устройства микроконтроллеров семейства mcs-51 gb. Последовательный порт с шиной i2c.
- •2.7.3 Режимы работы таймеров-счетчиков.
- •Периферийные устройства микроконтроллеров семейства mcs-51. Программируемая счётная матрица (pca).
- •Периферийные устройства микроконтроллеров семейства mcs-51 gb. Контроллер прерываний (ic).
- •2.10.1 Регистр масок прерывания (ie).
- •2.10.2 Регистр приоритетов прерываний (ip).
- •2.10.3 Выполнение подпрограммы прерывания.
- •Периферийные устройства микроконтроллеров семейства mcs-51 gb. Аналого-цифровой преобразователь (adc). Функциональная схема ацп
- •Числа в двоичном, восьмеричном, шестнадцатеричном и двоично-десятичном коде.
- •Перевод двоичных чисел в восьмеричный и шестнадцатеричный формат и наоборот.
- •Системы счисления. Перевод десятичных чисел в систему с основанием r.
- •Перевод чисел с основанием r в десятичные числа
- •Двоичная арифметика (сложение, умножение, деление двоичных чисел).
- •Вычитание двоичных чисел
- •Логические операции над двоичными числами.
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 – регистр указатель данных;
( ) – содержимое ячейки памяти или регистра,
Система прерываний мк-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), по которой восстанавливается из стека и загружается в счетчик команд адрес возврата в прерванную программу и снимается аппаратная блокировка прерываний.
