Микроконтроллеры для систем автоматики

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Рассмотрены архитектурные принципы построения микроконтроллеров, процессорного ядра, подсистемы памяти, современного набора периферийных модулей и технологии их программирования. Предназначено для студентов технических вузов, может быть использовано также студентами средних профессиональных учебных заведений при изучении современных микроконтроллеров. Представляет интерес для инженерно-технических работников, занимающихся проектированием микропроцессорной техники.

Author(s): Александр Михайлович Водовозов
Edition: 2
Publisher: Инфра-Инженерия
Year: 2022

Language: Russian
Pages: 168
City: М., Вологда

Оглавление
Введение
1. Архитектура микроконтроллера
1.1. Обобщенная структура микроконтроллера
1.2. Микроконтроллеры с AVR-архитектурой
Стандартные семейства
Характеристики микроконтроллеров с AVR-архитектурой
Семейство tiny AVR
Семейство mega AVR
Семейство AVR XMEGA
Семейство AVR UC3
Контрольные вопросы
2. Память
2.1. Память программ
Однократно программируемая память
Репрограммируемая память
Память с электрическим стиранием
Флэш-память
Конфигурирование секции начальной загрузки (Boot Section)
2.2. Память данных
Статическая память
Память с электрическим стиранием
2.3. Специализированные ячейки флэш-памяти
Режимы защиты программной информации AVR
Контрольные вопросы
3. Процессорное ядро
3.1. Основные элементы
Программный счетчик
Регистры общего назначения
Регистры ввода/вывода
Регистр состояния
Стек
3.2. Система команд
Мнемонические обозначения
Адресация данных
Непосредственная адресация
Прямая адресация
Операции с одним регистром общего назначения
Операции с двумя регистрами общего назначения
Битовые операции с регистром общего назначения
Операции с регистром ввода/вывода
Битовые операции с регистром ввода/вывода
Операции с памятью данных
Операции с памятью программ
Косвенная адресация
Операции с памятью данных
Адресация памяти данных с постинкрементом
Адресация памяти данных с преддеккрементом
Адресация памяти данных со смещением
Косвенная адресация памяти программ
Относительная адресация
Классификация команд
Инструкции пересылки
Инструкции пересылки AVR-микроконтроллеров
Арифметические и логические инструкции
Арифметические и логические инструкции
Битовые инструкции
Битовые инструкции микроконтроллера ATmega16
Инструкции ветвления
Инструкции переходов микроконтроллера ATmega16
Инструкции управления
Инструкции управления микроконтроллера ATmega16
3.3. Язык ассемблера
Выражения
Операнды
Операторы
Операторы языка Atmel AVR Assembler
Функции
Директивы
Директивы языка Atmel AVR Assembler
Определение переменных
db
dw
def
equ
set
Управление файлами
include
Макросы
macro
endmacro
Управление листингом
list
listmac
nolist
Установка адресных счетчиков
org
Выход
exit
Контрольные вопросы
4. Системный тактовый генератор
Схемы тактовых генераторов
Внутренний тактовый генератор
Кристаллический осциллятор
Рекомендуемые значения fuse-битов при подключении кристаллических осцилляторов
RC-генератор
Режимы работы генератора с внешней RC-цепью
Калиброванный внутренний RC-генератор
Режимы работы внутреннего RC-генератора
Внешний генератор
Контрольные вопросы
5. Система сброса
Источники сброса
Программирование временной задержки при сбросе
Сторожевой таймер
Интервалы задержки сторожевого таймера
Контрольные вопросы
6. Система прерываний
Алгоритм обработки прерываний
Вектора прерываний
Вектора внешних прерываний контроллера ATmegal6
Регистры системы прерываний
Активизация параметров входа INT1 (INT0)
Контрольные вопросы
7. Порты ввода-вывода
Организация ввода/вывода
Программирование ввода/вывода
Контрольные вопросы
8. Таймеры-счетчики
Таймер/счетчик 0
Схема
Коммутация входа таймера/счетчика 0
Регистры
Режимы таймера/счетчикаТСМТ0
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Управление выходом сравнения ОС0 в режиме СТС
Быстрый режим ШИМ (Fast PWM Mode)
Управление выходом ОС0 в режиме FastPWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Таймер/счетчик 1
Схема
Регистры
Регистр маски прерываний TIMSK
Регистр флагов прерываний TIFR
Регистр управления TCCR1A
Конфигурирование выходов ОС1А и ОС1В
Режимы работы таймера/счетчика TCNT1
Регистр управления TCCR1B
Управление входом таймера/счетчика Т1
Регистры данных TCNT1H и TCNT1L
Регистр входа захвата
Регистры выходов сравнения
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Быстрый режим ШИМ (Fast PWM Mode)
Режим ШИМ с корректной фазой (Phase Correct PWM Mode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Управление входом таймера/счетчика Т1
Регистры данных TCNT1H и TCNT1L
Регистр входа захвата
Регистры выходов сравнения
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Быстрый режим ШИМ (Fast PWM Mode)
Режим ШИМ с корректной фазой (Phase Correct PWM Mode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Конфигурирование выходов ОС1А и ОС1В
Режимы работы таймера/счетчика TCNT1
Регистр управления TCCR1B
Управление входом таймера/счетчика Т1
Регистры данных TCNT1H и TCNT1L
Регистр входа захвата
Регистры выходов сравнения
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Быстрый режим ШИМ (Fast PWM Mode)
Режим ШИМ с корректной фазой (Phase Correct PWM Mode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Управление входом таймера/счетчика Т1
Регистры данных TCNT1H и TCNT1L
Регистр входа захвата
Регистры выходов сравнения
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Быстрый режим ШИМ (Fast PWM Mode)
Режим ШИМ с корректной фазой (Phase Correct PWM Mode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Регистр маски прерываний TIMSK
Регистр флагов прерываний TIFR
Регистр управления TCCR1A
Конфигурирование выходов ОС1А и ОС1В
Режимы работы таймера/счетчика TCNT1
Регистр управления TCCR1B
Управление входом таймера/счетчика Т1
Регистры данных TCNT1H и TCNT1L
Регистр входа захвата
Регистры выходов сравнения
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Быстрый режим ШИМ (Fast PWM Mode)
Режим ШИМ с корректной фазой (Phase Correct PWM Mode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Управление входом таймера/счетчика Т1
Регистры данных TCNT1H и TCNT1L
Регистр входа захвата
Регистры выходов сравнения
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Быстрый режим ШИМ (Fast PWM Mode)
Режим ШИМ с корректной фазой (Phase Correct PWM Mode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Конфигурирование выходов ОС1А и ОС1В
Режимы работы таймера/счетчика TCNT1
Регистр управления TCCR1B
Управление входом таймера/счетчика Т1
Регистры данных TCNT1H и TCNT1L
Регистр входа захвата
Регистры выходов сравнения
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Быстрый режим ШИМ (Fast PWM Mode)
Режим ШИМ с корректной фазой (Phase Correct PWM Mode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Управление входом таймера/счетчика Т1
Регистры данных TCNT1H и TCNT1L
Регистр входа захвата
Регистры выходов сравнения
Нормальный режим (Normal Mode)
Режим очистки таймера по совпадению (СТС Mode)
Быстрый режим ШИМ (Fast PWM Mode)
Режим ШИМ с корректной фазой (Phase Correct PWM Mode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Значения ТОР для режимов PWM, Phase Correct
Режим ШИМ с корректной фазой и частотой (Phase and Frequency Correct PWMMode)
Таймер/счетчик 2
Схема
Регистры
Режимы работы таймера/счетчика 2
Выбор тактового сигнала таймера/счетчика 2
Нормальный режим (Normal Mode)
Конфигурирование выхода ОС2 в режимах Normal и СТС
Режим очистки таймера по совпадению (CTCMode)
Быстрый режим ШИМ (Fast PWM Mode)
Конфигурирование выхода ОС2 в режиме Fast PWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме Fast PWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режимах Normal и СТС
Режим очистки таймера по совпадению (CTCMode)
Быстрый режим ШИМ (Fast PWM Mode)
Конфигурирование выхода ОС2 в режиме Fast PWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме Fast PWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Режимы работы таймера/счетчика 2
Выбор тактового сигнала таймера/счетчика 2
Нормальный режим (Normal Mode)
Конфигурирование выхода ОС2 в режимах Normal и СТС
Режим очистки таймера по совпадению (CTCMode)
Быстрый режим ШИМ (Fast PWM Mode)
Конфигурирование выхода ОС2 в режиме Fast PWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме Fast PWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режимах Normal и СТС
Режим очистки таймера по совпадению (CTCMode)
Быстрый режим ШИМ (Fast PWM Mode)
Конфигурирование выхода ОС2 в режиме Fast PWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме Fast PWM
Режим ШИМ с коррекцией фазы (Phase Correct PWM Mode)
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Конфигурирование выхода ОС2 в режиме PWM, Phase Correct
Контрольные вопросы
9. Аналого-цифровой преобразователь
Схема
Регистры
Регистр управления мультиплексорами ADMUX (ADC Multiplexer Selection Register)
Выбор источника опорного напряжения аналого-цифрового преобразователя
Выбор входного сигнала ADC
Регистр управления и состояния ADCSRA (ADC Control and Status Register)
Выбор коэффициента предварительного деления
Регистры данных ADCL и ADCH (ADC Data Register)
Регистр специальных функций ввода/вывода SFIOR (Special Function IO Register)
Выбор источника запуска ADC
Контрольные вопросы
10. Аналоговый компаратор
Схема
Регистры
Регистр управления ACSR (Analog Comparator Control And Status Register)
Установки битов ACIS1/ACIS0
Регистр специальных функций ввода/вывода SFIOR (Special Function Input Output Register)
Логика подключения отрицательного входа компаратора
Контрольные вопросы
11. Энергонезависимая память данных
Регистры
Регистры адреса EEPROM (EEPROM Address Registers)
Регистр данных EEDR (EEPROM Data Register)
Регистр управления EECR (EEPROM Control Register)
Контрольные вопросы
12. Последовательный ввод-вывод
12.1. Интерфейс USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter)
Регистры USART
Регистры данных UDR (USARTI/O Data Register)
Регистр управления и статуса UCSRA (USART Control and Status Register A)
Регистр управления и статуса UCSRB (USART Control and Status Register В)
Регистр управления и статуса UCSRC (USART Control and Status Register C)
Режимы работы схемы контроля четности
Формат посылки
Полярность тактового сигнала
Регистры скорости передачи данных UBRRL and UBRRH (USART Baud Rate Registers)
12.2. Интерфейс SPI
Регистры SPI
Регистр данных SPDR (SPI Data Register)
Регистр управления SPCR(SPI Control Register)
Частота синхронизации SPI
Регистр SPSR статуса (SPI Status Register)
12.3. Интерфейс I2C
Регистры TWI
Регистр адреса TWAR (2-wire Serial Interface (Slave) Address Register)
Регистр TWCR (2-wire Serial Interface Control Register)
Регистр данных TWDR (2-Wire Serial Interface Data Register)
Регистр TWSR (2-wire Serial Interface Status Register)
Предделитель TWI
Контрольные вопросы
13. Управление питанием и режимы энергосбережения
13.1. Режим Idle
13.2. Режим ADC Noise Reduction
13.3. Режим Power-down
13.4. Режим Power-save
13.5. Режим Standby
13.6. Extended Standby Mode
13.7. Регистр управления MCUCR (MCU Control Register)
Контрольные вопросы
14. Технологии программирования микроконтроллеров
14.1. Способы программирования энергонезависимой памяти
Параллельное программирование
Инструкции параллельного программирования микроконтроллера
Последовательное программирование
14.2. Программно-аппаратные средства поддержки программирования
14.3. Интегрированная отладочная среда
Запуск программы
Отладка программы
14.4. Стартовый набор STK 500
Состав набора
Программирование
Контрольные вопросы
15. Курсовой проект
Задание на курсовой проект
Примеры заданий
Задание 1 - Измеритель перемещения с потенциометрическим датчиком пути
Варианты заданий на разработку измерителя перемещения
Задание 2 - Измеритель скорости с импульсным датчиком
Варианты заданий на разработку измерителя скорости вращения с импульсным датчиком перемещения
Задание 3 - Разработка измерителя перемещения с кодовым датчиком угла
Варианты заданий на разработку измерителя угловых перемещений с кодовым датчиком угла
Задание 4 - Разработка контроллера клавиатуры
Варианты заданий на разработку схемы сопряжения микроконтроллера с клавиатурой
Задание 5 - Сопряжение микроконтроллера с индикатором
Варианты заданий на разработку схемы сопряжения микроконтроллера с индикатором
Задание 6 - Разработка системы управления широтно-импульсным регулятором постоянного напряжения
Варианты заданий на разработку системы управления широтно-импульсным регулятором постоянного напряжения
Задание 7 - Разработка системы управления однофазным автономным инвертором напряжения
Варианты заданий на разработку системы управления широтно-импульсным регулятором постоянного напряжения
Задание 8 - Система управления трехфазным автономным инвертором напряжения
Варианты заданий на разработку системы управления широтно-импульсным регулятором постоянного напряжения
Задание 9 - Разработка системы управления тиристорным выпрямителем
Варианты заданий на разработку системы управления тиристорным выпрямителем
Задание 10 - Разработка измерителя токов
Варианты заданий на разработку системы измерения тока
Методические указания
Разработка функциональной схемы изделия
Разработка алгоритма
Разработка программы
Отладка программы
Разработка принципиальной схемы
Библиографическим список
Приложения
Приложение 1. Регистры ввода/вывода микроконтроллера ATmega16
Приложение 2. Корпуса микроконтроллера ATmega16
Корпус DIP (Dual In Line pin Package)
Корпус TQFP (Thin Plastic Quad Flat Package)
Приложение 3. Вектора прерываний контроллера ATmega16
Глоссарий терминов и сокращений