Название: Программирование микроконтроллеров AVR: от Arduino к ассемблеру Автор: Ревич Ю. В. Издательство: СПб.: БХВ-Петербург Серия: Электроника Год издания: 2020 Страниц: 448 ISBN: 978-5-9775-4076-6 Формат: DjVu Сканирование и обработка: Bookingolz Язык: русский Размер: 41 Мб Качество: отличное
Рассмотрено практическое программирование микроконтроллеров AVR, в том числе популярной платформы Arduino. Рассказано, как выйти за рамки ограничений Arduino, когда следует применять прямое программирование на ассемблере, а когда использовать языки высокого уровня. Изложены общие принципы устройства микроконтроллеров AVR и их программирования, система команд, программирование таймеров, арифметические операции, память, интерфейсы, режимы энергосбережения и сторожевой таймер, программы реального времени, обмен данными с персональным компьютером. Особое внимание уделено переносу типичных Arduino-проектов на ассемблер. Даны готовые рецепты для программирования большинства основных функций современной микроэлектронной аппаратуры. Для учащихся, инженерно-технических работников и радиолюбителей.
ЧАСТЬ I. ОБЩИЕ ПРИНЦИПЫ УСТРОЙСТВА И ФУНКЦИОНИРОВАНИЯ ATMEL AVR
Глава 1. Обзор микроконтроллеров AVR
AVR и другие Почему AVR? Краткий обзор возможностей AVR Семейства и модификации AVR Основные принципы маркировки AVR
Глава 2. Общее устройство, организация памяти, тактирование, сброс
Память программ Память данных (ОЗУ, SRAM) Энергонезависимая память данных (EEPROM) Способы тактирования Сброс
Глава 3. Периферийные устройства и прерывания
Порты ввода/вывода Таймеры-счетчики Аналого-цифровой преобразователь Последовательный порт Интерфейс UART (USART) Интерфейс SPI Интерфейс TWI (I2С) Универсальный последовательный интерфейс USI Прерывания Порядок выполнения прерываний Разновидности прерываний Об общих принципах использования прерываний
Глава 4. Микроконтроллеры AVR на практике
Особенности практического использования МК AVR Корпуса МК и их установка на плату Необходимое оборудование и приспособления Панельки Макетные платы Адаптер для UART Светодиоды-пробники Мультиметр Осциллограф Генератор Источники питания Потребление МК AVR Примеры AVR-контроллеров
Глава 5. Подготовка к программированию МК AVR
Ассемблер без излишних сложностей Редактор ASM Editor Ассемблер Avrasm Обустройство ассемблера Об AVR Studio Способы загрузки программ в контроллер ISP-программаторы Arduino как ISP-программатор Конфигурационные ячейки (fuse-биты)
ЧАСТЬ II. ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ AVR НА АССЕМБЛЕРЕ
Глава 6. Основы программирования МК AVR
Общая структура ассемблерной программы и ее выполнение Инструкции и нотация AVR-ассемблера Числа и выражения Директивы Оформление вызова подпрограмм Обработка прерываний Процедура RESET Использование макросов НЕХ-файлы и их загрузка в контроллер O Bootloader Простейшая программа Таймер без прерываний Задержка Программа счетчика Использование прерываний Программа счетчика с использованием прерываний Сравнение ассемблерной программы с программами Arduino и другими языками высокого уровня
Глава 7. Система команд AVR
Обзор команд Команды передачи управления и регистр SREG Команды проверки-пропуска Команды логических операций Команды сдвига и операции с битами Команды арифметических операций Команды пересылки данных Команды управления системой Выполнение на ассемблере типовых процедур О стеке, локальных и глобальных переменных Ассемблерное представление символов и строк
Глава 8. Арифметические операции и операции в двоично-десятичном формате
Стандартные арифметические операции Умножение многоразрядных чисел Деление многоразрядных чисел Операции с вещественными числами Генератор случайных чисел Операции с числами в двоично-десятичном формате (BCD) Отрицательные и вещественные числа в МК Представление отрицательных чисел Представление вещественных чисел
ЧАСТЬ III. ПРАКТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ AVR
Глава 9. Программирование таймеров
8-и 16-разрядные таймеры Формирование заданного значения частоты Отсчет времени Точная коррекция времени Частотомер и периодомер Частотомер Периодомер Управление динамической индикацией LED-индикаторы и их подключение Программирование динамической индикации Таймеры в режиме ШИМ Расчет режима ШИМ для инвертора Программная реализация ШИМ О схемотехнике инвертора Другие применения ШИМ
Глава 10. Использование EEPROM
Еще раз о сохранности данных в EEPROM Запись и чтение EEPROM Регулируемый светильник с запоминанием состояния Хранение констант в EEPROM
Глава 11. Аналоговый компаратор и АЦП
Аналоговые операции: понятие погрешности и построение градуировочных уравнений Среднее значение и градуировочные уравнения Аналого-цифровые операции и их погрешности Работа с аналоговым компаратором Устройство компаратора Система контроля батарейки Встроенный АЦП Питание и опорное напряжение Задание режима работы Простейшее использование АЦП Схема измерений с помощью АЦП Перевод результатов в физические величины
Глава 12. Интерфейс SPI
Основные операции через SPI Аппаратный вариант Программный вариант О разновидностях энергонезависимой памяти Запись и чтение flash-памяти через SPI Операции с микросхемой памяти 45DB011В Программа обмена с памятью 45DB011B по SPI Запись и чтение flash-карт Подключение карт ММС Подача команд и инициализация ММС Запись и чтение ММС
Глава 13. Интерфейс TWI (I2С) и его применение
Базовый протокол I2С Программная эмуляция протокола I2С Часы с интерфейсом I2С Особенности записи и чтения внешней памяти с I2С-интерфейсом Дисплей МТ-10Т11
Глава 14. Режимы энергосбережения и сторожевой таймер
В каком случае нужен режим энергосбережения? Программирование режима энергосбережения Выход по внешнему прерыванию Применение сторожевого таймера Инициализация, запуск и сброс WDT Примеры использования WDT О правильном построении малопотребляющих схем Экономичный термометр на батарейках
Глава 15. Программирование UART и обмен данными с персональным компьютером
Способы обмена данными с ПК Правила техники безопасности при подключении к ПК Программы для связи ПК с контроллером Дистанционная связь через UART Программирование UART Примеры использования UART в разных режимах Вывод и ввод символов через UART Программа установки часов DS1307 Как с помощью UART организовать выход из режима энергосбережения?
Глава 16. Некоторые Arduino-задачи на ассемблере
Дисплеи 4-разрядный цифровой дисплей на основе ТМ1637 Часы на дисплее ТМ1637 Ультразвуковой дальномер на дисплее ТМ1637 Термометр на дисплее ТМ1637 Знакосинтезирующие дисплеи на базе HD44780 и его аналогов Инициализация и вывод символов Пример управления ЖК-дисплеями конфигурации 16x2 Дисплей МТ-10S1 фирмы МЭЛТ OLED-дисплеи фирмы Winstar Часы с календарем на OLED-дисплее ИК-приемник Управление серводвигателем
Приложение 1. Ликбез
Десятичные, двоичные и шестнадцатеричные числа Запись чисел в различных форматах Двоично-десятичный формат BCD Перевод из одной системы счисления в другую Булевы операции Об обозначениях на принципиальных схемах
Приложение 2. Основные параметры некоторых микроконтроллеров AtmelAVR Литература Предметный указатель
Скачать Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.