
- •Введение
- •Архитектура микроконтроллера.
- •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 Особенности программирования микроконтроллеров общие особенности.
- •Типы инструментальных средств разработки и отладки программ для микроконтроллеров.
- •Внутрисхемные эмуляторы.
- •Классификация внутрисхемных эмуляторов.
- •Функциональные возможности внутрисхемных эмуляторов.
- •Достоинства и недостатки внутрисхемных эмуляторов.
- •Программные симуляторы.
- •Платы развития.
- •Отладочные мониторы.
- •Эмуляторы пзу.
- •Типичные функциональные модули средств разработки и отладки.
- •Отладчик.
- •Узел эмуляции микроконтроллера.
- •Эмуляционная память.
- •Подсистема точек останова.
- •Процессор точек останова.
- •Трассировщик.
- •Профилировщик.
- •Интегрированная среда разработки.
1.11 Устройства ввода/вывода дискретных сигналов
Дискретные сигналы (включено-выключено) широко используются в системах управления.
Изменение значения дискретного сигнала называется событием.
Часто для обработки входных и формирования выходных событий в микроконтроллерах используются специальные периферийные устройства, осуществляющие быстрый ввод и быстрый вывод без непосредственного участия процессора.
Быстрый ввод заключается в обнаружении события определенного типа на определенном входе микроконтроллера и запоминание времени его наступления в заданной системе отсчета времени. Быстрый вывод заключается в формировании события определенного типа на заданном выходе микроконтроллера в заданный момент времени.
Для выполнения операций быстрого ввода и вывода в микроконтроллерах разных типов используются или блок быстрого ввода-вывода (HSIO), или блок процессоров событий (EPA).
В обоих блоках для формирования текущего значения времени используются таймеры-счетчики, на счетные входы которых подаются сигналы времени от внутреннего генератора или от внешнего источника.
В блоке быстрого ввода-вывода (HSIO) для обработки входных событий и формирования выходных событий используются специализированные модули для ввода и для вывода, а в блоке процессоров событий (EPA) содержится набор универсальных модулей, каждый из которых при программировании настраивается на работу или в режиме быстрого ввода (capture-захвата) или в режиме быстрого вывода (compare-сравнения).
По результатам обработки входных событий могут вычисляться параметры импульсных последовательностей на входах микроконтроллера – период следования импульсов, их длительность, сдвиг во времени между импульсами на разных входах и другие параметры.
Блоки HSIO и EPA кроме операций быстрого ввода и вывода могут использоваться для формирования временных задержек (режим программного таймера) формирования сигналов специальной формы (например, сигнала с широтно-импульсной модуляцией), запуска аналого-цифрового преобразователя и выполнения некоторых других функций.
1.12 Устройства ввода/вывода аналоговых сигналов
У микроконтроллеров большинства типов в число периферийных устройств входит многоканальный аналого-цифровой преобразователь (ADC). Число каналов может быть равно 4, 6,8, 13 или 14. Входное напряжение в канале может изменяться в пределах от 0 до 5 (5,12)В. В результате преобразования формируется восьмиразрядный или десятиразрядный двоичный код.
Запуск преобразования в канале может производиться по команде в программе или по сигналу из блока HSIO или ЕРА в заранее заданное время. Некоторые преобразователи могут работать в режиме сканирования входов.
Преобразование цифровых данных в аналоговый сигнал выполняется с использованием широтно-импульсного модулятора (PWM). Широтно-импульсный модулятор формирует последовательность прямоугольных импульсов, следующих с постоянным периодом. Длительность импульса пропорциональна числу, преобразуемому в значение аналогового сигнала. Получаемая импульсная последовательность с выхода микроконтроллера с переменной скважностью подается на внешнюю интегрирующую схему, с выхода которой снимается аналоговый сигнал.
В микроконтроллерах может присутствовать специальный блок содержащий три широтно-импульсных модулятора, работающих совместно. Этот блок, называемый генератором периодических колебаний (WG), он имеет три пары выходов. Разность напряжений на выходах одной пары представляет собой синусоидоподобный ступенчатый сигнал. Сигналы, снимаемые с трех пар выходов, могут быть использованы для питания трехфазных индукционных двигателей переменного тока. Блок позволяет также формировать сигналы для управления вентильными двигателями постоянного тока, шаговыми двигателями и для некоторых других целей.
аналого-цифровые преобразователи
Аналого-цифровой преобразователь ADC (Analog Digital Converter) осуществляет преобразование напряжения в цифровой код. Он предназначен для оцифровки и ввода в микроконтроллер аналоговых сигналов с различных датчиков физических величин. Схемы преобразователей различны. В зависимости от принципа построения меняются и свойства преобразователя.
Принципы аналого-цифрового преобразования.
Параллельный преобразователь
В параллельном преобразователе (рис. 1.8) входной сигнал подается сразу на множество компараторов, осуществляющих сравнение сигнала с опорными напряжениями. Опорные напряжения формируются цепочкой резисторов, делящих эталонное напряжение U0 на равные части.
Рисунок 1.8 Параллельный аналого-цифровой преобразователь.
Такие схемы ADC работают очень быстро, но сложны и используются редко.
Преобразователь последовательного приближения
Основными элементами преобразователя (рис. 1.9) является регистр последовательных приближений, код из которого с помощью цифроаналогового преобразователя преобразуется в напряжение. Компаратор СМР сравнивает входное напряжение с выходным напряжением преобразователя и через устройство управления воздействует на регистр.
Рисунок 1.9 Преобразователь последовательного приближения
Преобразование выполняется за несколько тактов. В первом такте в старший разряд регистра последовательных приближений записывается единица. Если в результате сравнения на выходе компаратора устанавливается единичный сигнал, единица в старшем разряде регистра сохраняется. В противном случае - сбрасывается. Далее, в том же порядке, формируется второй по старшинству разряд результата, потом - третий и т.д. Для получения результата необходимо n тактов, где число n равно разрядности преобразователя.