
- •Введение
- •Архитектура микроконтроллера.
- •1.1 Структурная организация микроконтроллера i8051.
- •Назначение выводов микроконтроллера 8051.
- •1.2 Память
- •Память программ
- •Масочная память
- •Однократно программируемая память
- •Репрограммируемая память
- •Память с электрическим стиранием
- •Флэш-память
- •Память программ микроконтроллера 8051 (пзу).
- •Память данных
- •Статическая память
- •Память с электрическим стиранием
- •Память данных микроконтроллера 8051 (озу).
- •Специализированные ячейки флэш-памяти
- •Работа с внешней памятью микроконтроллера 8051.
- •1.3 Процессорное ядро
- •Регистр инструкций
- •Программный счетчик
- •Арифметико-логическое устройство
- •Арифметико-логическое устройство микроконтроллера 8051.
- •Регистры общего назначения
- •Регистр состояния
- •Регистр флагов (psw) микроконтроллера 8051.
- •Регистры ввода/вывода, специальные регистры.
- •1.4 Тактовый генератор
- •1.5 Система сброса
- •Источники сброса
- •1.6 Система прерываний
- •Алгоритм обработки прерываний
- •Система прерываний микроконтроллера 8051.
- •Регистр масок прерывания (ie).
- •Регистр приоритетов прерываний (ip).
- •Выполнение подпрограммы прерывания.
- •Вектора прерываний
- •1.7 Порты ввода/вывода организация ввода/вывода
- •Алгоритмы обмена данными
- •Асинхронный обмен
- •Симплексный обмен
- •Устройство портов.
- •Особенности электрических характеристик портов.
- •1.8 Таймеры-счетчики.
- •Таймеры-счетчики микроконтроллеров семейства 8051.
- •1.9 Последовательный порт микроконтроллера 8051.
- •Регистр управления/статуса приемопередатчика scon.
- •Функциональное назначение бит регистра управления/статуса приемопередатчика scon.
- •Скорость приема/передачи информации через последовательный порт.
- •Регистр управления мощностью pcon.
- •1.10 Режимы работы микроконтроллера 8051 с пониженным энергопотреблением.
- •Режим хх.
- •Режим внп.
- •1.11 Устройства ввода/вывода дискретных сигналов
- •1.12 Устройства ввода/вывода аналоговых сигналов
- •Интегрирующий преобразователь
- •Сигма-дельта преобразователь
- •1.13 Устройства обмена данными с другими микроконтроллерами
- •2. Программирование микроконтроллера
- •2.1 Система команд Мнемонические обозначения
- •Типы команд
- •Типы операндов
- •Группы команд.
- •Oбозначения, используемые при описании команд.
- •Команды пересылки данных микроконтроллера 8051.
- •Команды арифметических операций 8051.
- •Команды логических операций микроконтроллера 8051.
- •Команды операций над битами микроконтроллера 8051.
- •Команды передачи управления микроконтроллера 8051.
- •2.2 Язык ассемблера
- •Операнды
- •Операторы
- •Директивы ассемблера.
- •Командная строка
- •2.3 Особенности программирования микроконтроллеров общие особенности.
- •Типы инструментальных средств разработки и отладки программ для микроконтроллеров.
- •Внутрисхемные эмуляторы.
- •Классификация внутрисхемных эмуляторов.
- •Функциональные возможности внутрисхемных эмуляторов.
- •Достоинства и недостатки внутрисхемных эмуляторов.
- •Программные симуляторы.
- •Платы развития.
- •Отладочные мониторы.
- •Эмуляторы пзу.
- •Типичные функциональные модули средств разработки и отладки.
- •Отладчик.
- •Узел эмуляции микроконтроллера.
- •Эмуляционная память.
- •Подсистема точек останова.
- •Процессор точек останова.
- •Трассировщик.
- •Профилировщик.
- •Интегрированная среда разработки.
Регистр приоритетов прерываний (ip).
Символ |
Позиция |
Имя и назначение |
- |
IP.7 - IP.5 |
Не используется |
PS |
IP.4 |
Бит приоритета приемопередатчика. Установка/сброс программой для присваивания прерыванию от приемопередатчика высшего/низшего приоритета |
РТ1 |
IP.3 |
Бит приоритета таймера 1. Установка/сброс программой для присваивания прерыванию от таймера 1 высшего/низшего приоритета |
РХ1 |
IP.2 |
Бит приоритета внешнего прерывания 1. Установка/сброс программой для присваивания высшего/низшего приоритета внешнему прерыванию INT1 |
РТ0 |
IP.1 |
Бит приоритета таймера 0. Установка/сброс программой для присваивания прерыванию от таймера 0 высшего/низшего приоритета |
РХ0 |
IP.0 |
Бит приоритета внешнего прерывания 0. Установка/сброс программой для присваивания высшего/низшего приоритета внешнему прерыванию INT0 |
Таблица 1.7 Регистр приоритетов прерываний.
При «1» в определенном разряде регистра IP приоритет соответствующего источника прерывания высокий, а при «0» - низкий. При одновременном появлении нескольких запросов одного уровня очередность обслуживания определяется с помощью внутренней процедуры поллинга (последовательного опроса), который производится в порядке фиксированного старшинства источников внутри одного уровня приоритета. Этот порядок следующий:
-
Источник
Приоритет внутри
уровня
Вход INT0#
Высший
Таймер 0
Вход INT1#
Таймер 1
Последовательный порт
Низший
Таблица 1.8 Приоритеты прерываний при поллинге.
Действие механизма приоритетов прерываний заключается в выборе для обслуживания одного из источников при одновременном приходе нескольких запросов, а также в принятии решения о прерывании текущей процедуры обслуживания вновь поступившим запросом.
Выполнение подпрограммы прерывания.
Система прерываний формирует аппаратный вызов (LCALL) соответствующей подпрограммы обслуживания, если она не заблокирована одним из следующих условий:
в данный момент обслуживается запрос прерывания равного или высокого уровня приоритета;
текущий машинный цикл — не последний в цикле выполняемой команды;
выполняется команда RETI или любая команда, связанная с обращением к регистрам IЕ или IP
Отметим, что если флаг прерывания был установлен, но по одному из указанных выше условий не получил обслуживания и к моменту окончания блокировки уже сброшен, то запрос прерывания теряется и нигде не запоминается.
По аппаратно сформированному коду LCALL система прерывания помещает в стек только содержимое счетчика команд (PC) и загружает в него адрес вектора соответствующей подпрограммы обслуживания. По адресу вектора должна быть расположена команда безусловной передачи управления (JMP) к начальному адресу подпрограммы обслуживания прерывания. В случае необходимости она должна начинаться командами записи в стек (PUSH) слова состояния программы (PSW), аккумулятора, расширителя, указателя данных и т.д. и должна заканчиваться командами восстановления из стека (POP). Подпрограммы обслуживания прерывания должны завершаться командой RETI, по которой в счетчик команд перезагружается из стека сохраненный адрес возврата в основную программу. Команда RET также возвращает управление прерванной основной программе, но при этом не снимут блокировку прерываний, что приводит к необходимости иметь программный механизм анализа окончания процедуры обслуживания данного прерывания.