
- •Введение
- •Архитектура микроконтроллера.
- •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 Особенности программирования микроконтроллеров общие особенности.
- •Типы инструментальных средств разработки и отладки программ для микроконтроллеров.
- •Внутрисхемные эмуляторы.
- •Классификация внутрисхемных эмуляторов.
- •Функциональные возможности внутрисхемных эмуляторов.
- •Достоинства и недостатки внутрисхемных эмуляторов.
- •Программные симуляторы.
- •Платы развития.
- •Отладочные мониторы.
- •Эмуляторы пзу.
- •Типичные функциональные модули средств разработки и отладки.
- •Отладчик.
- •Узел эмуляции микроконтроллера.
- •Эмуляционная память.
- •Подсистема точек останова.
- •Процессор точек останова.
- •Трассировщик.
- •Профилировщик.
- •Интегрированная среда разработки.
Источники сброса
Причинами (источниками) сброса могут являться различные воздействия: включение питания и кратковременные его изменения, сигналы формируемые аппаратно вне и внутри микроконтроллера, сторожевой таймер, а также инструкции программы. В частности, инструкция безусловного перехода на адрес $0 всегда приводит к сбросу устройства.
Сторожевой таймер вызывает сброс микроконтроллера, если его содержимое не будет обновлено в течение определенного промежутка времени (обычно от десятков миллисекунд до нескольких секунд). Если изменение содержимого программного счетчика не соответствует заданной программе, то команда модификации сторожевого таймера не будет выполнена. В этом случае сторожевой таймер производит сброс микроконтроллера, устанавливая его в исходное состояние.
Микроконтроллеры некоторых типов имеют схему обнаружения падения частоты генератора тактовых импульсов (OFD). При снижении частоты ниже определенного уровня OFD вырабатывает сигнал сброса и переводит микроконтроллер в состояние сброса. Это предотвращает появление опасных комбинаций сигналов на выходах микроконтроллера, которые могут возникнуть при остановке генератора тактовых импульсов в произвольный момент времени в процессе выполнения программы
1.6 Система прерываний
В компьютерной системе прерывание - это запуск специальной подпрограммы (называемой «обработчиком прерывания» или «программой обслуживания прерывания»), который вызывается сигналом аппаратуры. На время выполнения этой подпрограммы реализация текущей программы останавливается. Термин «запрос на прерывание» (interrupt request) используется потому, что иногда программа отказывается подтвердить прерывание и выполнить обработчик прерывания немедленно.
Алгоритм обработки прерываний
Сигнал запроса на прерывание вырабатывается периферийным устройством при его готовности к обмену информацией. Сигнал может появиться в произвольный момент времени.
Процессорное ядро может реагировать на запросы прерываний по-разному. В каждой архитектуре реализуется своя оригинальная система обслуживания прерываний. Однако общий алгоритм обработки запросов всегда содержит одни и те же действия ядра:
при поступлении запроса на прерывание завершается выполнение текущей
инструкции программы;
записывается в стек содержимое программного счетчика и текущее
состояние некоторых наиболее важных регистров общего назначения;
идентифицируется прерывающее устройство;
осуществляется переход к выполнению подпрограммы обслуживания прерывания для идентифицированного устройства;
по окончании подпрограммы восстанавливает состояние прерванной
программы за счет извлечения из стека содержимого регистров общего
назначения и программного счетчика;
возобновляется выполнение прерванной программы.
В различных системах обработки прерывания отдельные перечисленные действия реализуются аппаратно или программно.
Пользователю системы всегда предоставляется возможность отключить (замаскировать) отдельные источники прерываний. Для этого в схемах предусматриваются специальные программируемые регистры маски, где каждому источнику прерываний ставится в соответствие один бит.
При большом количестве источников прерываний порядок их обслуживания определяется приоритетом источника. Приоритет устанавливается в зависимости от важности и ответственности решаемой этим устройством задачи. Полагается, что запрос с большим приоритетом способен прервать подпрограммы обслуживания прерываний с меньшим приоритетом.
Наиболее простым является фиксированное распределение приоритетов. При этом каждому из источников запросов присваивается постоянный приоритет, соответствующий его порядковому номеру в схеме.
Циклическое распределение приоритетов (очередь) используется в тех случаях, когда ни одному из источников запросов исходно нельзя отдать явного предпочтения. В этом случае приоритеты входов изменяются в процессе работы контроллера после обработки любого из запросов. Вход последнего обслуженного запроса на прерывание получает низший приоритет, а приоритеты остальных входов при этом повышаются.