- •Введение
- •Список сокращений
- •1. Архитектура современных микропроцессоров
- •1.1. Термины и определения
- •1.2. Микропроцессорные системы управления
- •1.3. Архитектурные особенности микропроцессоров
- •1.3.1. Гарвардская и принстонская архитектура
- •1.3.2. Архитектура системы команд (cisc и risc)
- •1.4. Корпус микропроцессоров
- •1.5. Технология изготовления кристаллов
- •1.6. Общие положения об обозначении импортных цифровых микросхем
- •1.6.1. Система обозначений микросхем производства Atmel
- •2. Структура микропроцессорной системы
- •2.1. Модуль питания
- •2.2. Модуль сброса и синхронизации
- •2.2.1. Сторожевой таймер
- •2.2.2. Тактирование системы
- •2.3. Модуль памяти
- •2.3.1. Супервизор напряжения
- •2.3.2. Память микропроцессорного устройства
- •2.4. Контроллер прерываний
- •2.5. Терминал
- •2.6. Центральный процессор
- •2.7. Суперскалярный конвейер
- •3. Программирование микропроцессорных устройств
- •3.1. Основные этапы проектирования и отладки программного обеспечения
- •3.2. Языки высокого уровня
- •3.3. Язык Ассемблера
- •3.3.1. Способы адресации на языке ассемблера
- •3.4. Алгоритм выполнения команды
- •3.5. Типы данных микропроцессора
- •4. Микропроцессоры с архитектурой х86
- •4.1. Микропроцессор Pentium
- •4.2. Микропроцессор Pentium 4
- •4.3. Микропроцессоры компании amd
- •4.4. Микропроцессор к7
- •5. Микропроцессоры с архитектурой x64
- •5.1.Микропроцессор Itanium ia-64
- •Отличия архитектур процессоров х86 и ia-64
- •5.2. Микропроцессоры семейства Hammer
- •Микропроцессоры c архитектурой power pc и arm
- •6.1. Микропроцессоры с архитектурой power
- •Процессоры arm
- •6.2. Микропроцессоры с архитектурой arm
- •4. Микроконтроллеры семейства mcs-51
- •4.1. Структура микроконтроллеров семейства mcs-51
- •4.2 Способы адресации и система команд микроконтроллеров семейства mcs-51
- •4.3. Функции выводов
- •5. Микроконтроллеры семейства Motorola
- •5.1. Общая структура микроконтроллеров семейства 68нс05/705/08
- •4.2.2. Регистровая модель микроконтроллеров семейства 68нс05/705/08
- •4.2.3. Способы адресации и система команд микроконтроллеров семейства 68нс05/705/08
- •6. Микроконтроллеры avr компании Atmel
- •5.1. Архитектура микроконтроллеров avr
- •5.2. Процессор микроконтроллера avr
- •5.3. Запоминающее устройство FlashRom
- •5.4. Периферийные устройства
- •Микроконтроллеры семейства piCmicro
- •12.1. Младшие подсемейства picMicro
- •Основные характеристики микроконтроллеров младшего подсемейства
- •12.2. Архитектура микроконтроллеров младшего подсемейства
- •Стандартный набор операций алу микроконтроллеров PlCmicro
- •12.3. Среднее подсемейство picMicro
- •12.5. Старшее подсемейство picMicro
- •12.6 Архитектура микроконтроллеров старшего подсемейства
- •Ввод-вывод данных микропроцессорной системы
- •6.1 Аналоговый ввод/вывод микропроцессорной системы
- •6.2. Таймеры микропроцессорной системы
- •6.3. Параллельный ввод-вывод данных
- •6.2.2. Асинхронный последовательный обмен
- •6.2.3 Синхронный последовательный обмен
- •6.3. Микроконтроллерная сеть
- •6.3.1 Протокол i2c
- •6.3.2. Протокол can
- •Характеристика протокола can
- •Выбор скорости передачи данных исходя из расстояния
- •6.3.3. Протокол rs-485 и rs-422
- •Стандартные параметры интерфейсов rs-422 и rs-485
- •Лекция 7 Микропроцессорные системы управления
- •7.1. Подключение светодиодов
- •7.2. Подключение 7-сегментных светодиодных индикаторов
- •7.3. Ввод с матричной клавиатуры
- •7.4. Управление жидкокристаллическим индикатором
- •7.5. Управление соленоидом и реле
- •7.6. Управление электродвигателем
- •6.5.1. Управление шаговым двигателем
- •7.6. Управление мощной нагрузкой
- •Лекция 8 Цифровая обработка сигналов
- •8.1. Типовые задачи решаемые цос
- •8.2. Способы реализации алгоритмов цос
- •8.3. Структура процессора цифровой обработки сигналов
- •8.4. Пцос с фиксированной и плавающей точкой
- •8.5. Гибридные процессоры
- •Библиографический список
- •Фирмы-производители 8-, 16- и 32-разрядных микроконтроллеров
- •Высокопроизводительные 8-разрядные risc микроконтроллеры семейства avr
- •1.6.2. Система обозначений микросхем производства
- •1.6.3. Система обозначений микросхем производства Motorola
- •1.6.4. Система обозначений микросхем производства
5.2. Процессор микроконтроллера avr
Процессор формирует адрес очередной команды, выбирает команду из памяти и организует ее выполнение. Код команды имеет тип данных слово (16 бит) или два слова.
В счетчике команд адрес очередной команды формируется путем добавления 1 к числу, код которого хранится в счетчике команд. При пуске и перезапуске МК в счетчик команд заносится код числа 0 и первая команда выбирается из FlashROM по адресу 0.
В АЛУ выполняются арифметические и логические операции. Операнды поступают из регистров общего назначения. При выполнении одноместных операций результат записывается в регистр, из которого поступил операнд. При выполнении двухместных операций результат записывается в регистр, из которого поступил первый операнд.
Блок регистров общего назначения содержит 32 восьмиразрядных регистра, которым присвоены имена R0, R1, ..., R31. В некоторых операциях в АЛУ могут участвовать лишь регистры со старшими номерами (от R16 до R31). Регистры с именами от R24 до R31 могут образовывать пары, используемые для хранения слов, при этом регистр с четным номером хранит младший байт, а регистр с нечетным номером – старший байт. Регистр управления МК – MCUCR.
Паре регистров R26, R27 присвоено имя X, паре регистров R28, R29 – имя Y, паре регистров R30, R31 – имя Z. Эти пары регистров используются для хранения адресов при обращениях к памяти с косвенной адресацией.
Область ввода/вывода МК AVR содержит 64 регистра, используемых для управления или хранения данных периферийных устройств.
Регистр состояния содержит флаги условий МК AVR и располагается в области ввода/вывода по адресу $3F (адрес SRAM – $5F). После подачи сигнала сброса он инициализируется нулями. Общий регистр флагов прерываний – GIFR, общий регистр маскирования прерываний – GIMSK, TIFR – Регистр флагов прерываний от таймеров/счетчиков, TIMSK – Регистр маскирования прерываний от таймеров.
В МК AVR для обозначения результата выполнения операций используются восемь различных флагов:
– разряд 0 (С) – флаг переноса (Carry); указывает на переполнение (перенос) после выполнения арифметической или логической операции;
– разряд 1 (Z) – нулевой флаг (Zero); всегда устанавливается, если результат арифметической или логической операции равен нулю; сбрасывается, если результат операции не равен нулю;
– разряд 2 (N) – флаг отрицательного результата (Negative); указывает на отрицательный результат после выполнения арифметической или логической операции;
– разряд 3 (V) – флаг переполнения при вычислениях в дополнительных кодах (Two's complement Overflow); поддерживает арифметику дополнительных кодов (арифметика кодов с дополнением до двух); устанавливается, если при выполнении соответствующей операции происходит переполнение, в противном случае – сбрасывается;
– разряд 4 (S) – флаг знака (Sign); S = NOV – связь флагов N и V с помощью операции «Исключающее ИЛИ»; флаг знака может применяться для определения фактического результата арифметической операции;
– разряд 5 (Н) – флаг половинного переноса (Half Carry); указывает на переполнение в младшем полубайте (разряды 0...3 байта данных); устанавливается, когда происходит перенос из младшего полубайта в старший, в противном случае – сбрасывается;
– разряд 6 (Т) – флаг копирования (Transfer or Copy); предназначен для свободного применения программистом (например, в качестве буфера);
– разряд 7 (I) – общее разрешение прерываний (Global Interrupt); если прерывания, как таковые, должны быть разрешены, то должен быть установлен разряд 7 регистра состояния (в лог. 1).
Регистр-указатель стека хранит и формирует адрес при обращении к стеку типа LIFO (Last In, First Out). Указатель стека (старший байт) – SPH, указатель стека (младший байт) – SPL, SREG – регистр состояния. В МК типа t1l, t12, t15, 1200 и t28 в качестве стека используется специальное ЗУ (аппаратный стек). Этот стек используется только для хранения адресов возврата при прерываниях и обращениях к подпрограммам.
