• формат pdf
  • размер 73,66 МБ
  • добавлен 22 ноября 2012 г.
Белов А.В. Разработка устройств на микроконтроллерах AVR: шагаем от чайника до профи
СПб.: Наука и техника, 2013. - 528 с.
Этот популярный самоучитель поможет вам всего за шесть шагов пройти путь от «чайника», изучающего азы цифровой техники, до вполне готового специалиста, умеющего самостоятельно разрабатывать схемы любых устройств на микроконтроллерах и составлять для них программы.
Познав основы цифровой логики, поймете, как работают более сложные элементы цифровой техники. Затем освоите основы микропроцессорной техники, поймете, как работает микропроцессор и микроконтроллер. Узнаете подробности внутреннего устройства, архитектуру и возможности семейства микроконтроллеров AVR, освоите основы схемотехники и конструирования микроэлектронных устройств. Научитесь ставить задачу на разработку устройства и выбирать стратегию ее решения. Изучите сразу два языка программирования для микроконтроллеров (язык Ассемблера и язык СИ), научитесь транслировать, отлаживать программы, прошивать их в память микроконтроллера. Теперь вы уже самостоятельно сможете разработать собственное микроконтроллерное устройство.
Видеокурс на CD проиллюстрирует и позволит закрепить материал основного курса. На том же диске вы найдете всю необходимую для обучения информацию (инсталляционные пакеты программ, справочные материалы, обучающие примеры). Книга предназначена для широкого круга читателей.
CD. Часть 1
CD. Часть 2
CD. Часть 3
Содержание:
Шаг 1 - Учимся основам цифровой техники
Вначале был микропроцессор
Что же такое микропроцессор
Виды памяти
Различия между микропроцессорами и микроконтроллерами
Считаем по-другому
Десятичная система исчисления
Восьмиричная система исчисления
Шестнадцатиричная система исчисления
Двоичная система исчисления
Способы обозначения чисел в разных системах исчисления
Арифметическая операция сложения
Арифметическая операция умножения
Электронные цифры
Представление чисел на ПК
Двухуровневый сигнал
Логические элементы
Знакомство с логическими элементами
Простые логические элементы
Таблица истинности
Составные логические элементы
Простейший триггер
Что такое триггер
Устройство и работа RS-триггера
Борьба с дребезгом контактов
Хранение информации
Устройство и работа D-триггера
Параллельный регистр
Параллельный регистр с расширенными возможностями
Устройство и работа JK-триггера
Счетчики
Работа делителя частоты
Счетчики прямого счета
Счетчики с обратным отсчетом
Делители с переменным коэффициентом деления
Таймеры
Дешифраторы
Устройство и принцип действия дешифратора
Селектор памяти ячеек ОЗУ
Каскадирование дешифраторов
Мультиплексоры
Шаг 2 - Переходим от цифровой техники к микропроцессору и микроконтроллеру
Типовая схема микропроцессорной системы
Структурная схема типичной микропроцессорной системы
Виды памяти
Порты ввода-вывода
Процессор и цифровые шины
Шина данных
Шина адреса
Шина управления
Принцип действия микропроцессорной системы
Алгоритм работы микропроцессорной системы
Возможности процессора
Программа
Процесс выполнения команды
Рабочие регистры
Команды микропроцессора
Команды условного и безусловного перехода
Команда организации цикла
Команды перехода к подпрограмме
Механизм прерываний
Прямой доступ к памяти
Микроконтроллеры
Шаг 3 - А теперь ближе к практике: знакомьтесь — микроконтроллеры AVR
Общие сведения
Особенности новой серии микроконтроллеров
Состав серии AVR
Особенности серии AVR
Внутренняя память
Способы программирования Flash- и EEPROM-памяти
Порты ввода-вывода
Периферийные устройства
Другие устройства
Регистры общего назначения (РОН).
Регистры ввода-вывода
Память
Общие сведения
Память программ
Оперативная память микроконтроллеров AVR
Область памяти, совмещенная с набором регистров общего назначения (РОН)
Область памяти, совмещенная с регистрами ввода-вывода (РВВ)
Область внутреннего ОЗУ
Область внешнего ОЗУ
Энергонезависимая память данных (EEPROM)
Счетчик команд и стековая память
Подсистема ввода-вывода
Система прерываний
Назначение системы прерываний
Управление системой прерываний
Алгоритм работы системы прерываний
Таймеры-счетчики
Общие сведения
Режимы работы таймеров
Режим Normal
Режим «Захват» (Capture)
Режим «Сброс при совпадении» (CTC)
Режим «Быстродействующий ШИМ» (Fast PWM)
Режим «ШИМ с точной фазой» (Phase Correct PWM)
Асинхронный режим
Предделители таймеров/счетчиков
Другие встроенные периферийные устройства
Аналоговый компаратор
Аналого-цифровой преобразователь
Последовательный канал (UART/USART)
Последовательный периферийный интерфейс (SPI)
Последовательный двухпроводный интерфейс (TWI)
Другие ячейки
Конфигурационные ячейки
Ячейки защиты и идентификации
Шаг 4 - Переходим непосредственно к разработке устройств и программ
Общие положения
Простейшая программа
Переключающийся светодиод
Боремся с дребезгом контактов
Мигающий светодиод
Бегущие огни
Использование таймера
Использование прерываний по таймеру
Формирование звука
Музыкальная шкатулка
Кодовый замок
Кодовый замок с музыкальным звонком
Шаг 5 - Последний этап разработки — отладка и транслирование
Программная среда AVR Studio
Общие сведения
Описание интерфейса
Создание проекта
Трансляция программы
Отладка программы
Исправление ошибок
Создание проектов на языке СИ
Система программирования Code Vision AVR
Общие сведения
Интерфейс системы Code Vision AVR
Программаторы
Общие сведения
Схема программатора
Программа управления программатором
Шаг 6 - осваиваем все возможности микроконтроллера ATtiny2313
Основные характеристики и возможности
Основные характеристики
Блок-схема микроконтроллера
Особенности микросхемы ATtiny2313
Описание выводов
Центральное ядро процессора
Введение
Краткая характеристика архитектуры
АЛУ — арифметико-логическое устройство
Регистр статуса
Файл регистров общего назначения
X-регистр, Y-регистр и Z-регистр
Указатель стека
Память ATtiny2313
Системная перепрограммируемая Flash-память программ
Память данных SRAM
Память данных EEPROM
Процесс чтения/записи EEPROM
Регистр адреса EEPROM — EEAR
Регистр данных EEPROM — EEDR
Регистр управления EEPROM — EECR
Атомарное программирование байта
Раздельное программирование байта
Стирание
Запись
Предотвращение ошибок при работе с EEPROM
Регистры ввода-вывода
Регистры ввода-вывода общего назначения
Тактовый генератор
Система синхронизации и варианты ее конфигурирования
Источники тактового сигнала
Источник сигнала по умолчанию
Кварцевый резонатор
Встроенный перестраиваемый RC-генератор
Регистр калибровки генератора — OSCCAL
Внешний тактовый сигнал
Внутренний генератор на 128 кГц
Регистр предварительного делителя частоты — CLKPR
Управления питанием и режимы сна
Регистр управления микроконтроллером — MCUCR
Режим Idle
Режим Power-down
Режим Standby
Советы по уменьшению потребляемой мощности
Система управления и сброса
Начальный сброс микроконтроллера AVR
Источники сигнала сброса
Сброс при включении питания
Внешний сброс
Сброс при снижении напряжения питания
Сброс от сторожевого таймера
Регистр статуса системы сброса — MCUSR
Сторожевой (охранный) таймер
Особенности
Блок-схема
Режимы работы
Регистр управления сторожевым таймером — WDTCSR (WDTCR)
Прерывания
Порты ввода-вывода

Введение
Использование портов для цифрового ввода-вывода
Конфигурация выводов
Переключение значения разряда порта
Переключение между выводом и вводом
Чтение значения на выводе порта
Разрешение цифрового ввода и режимы низкого потребления (режимы сна)
Дополнительные функции линий порта ввода-вывода
Регистр управления микроконтроллером — MCUCR
Альтернативные функции порта A
Альтернативные функции порта B
Детальное описание альтернативных функций каждого из выводов
Альтернативные функции порта D
Подробное описание альтернативных функций
Описание управляющих регистров портов ввода-вывода
Внешние прерывания
Назначение и режимы работы
Регистр управления микроконтроллером — MCUCR
Главный регистр маски прерываний — GIMSK
Регистр флагов внешних прерываний — EIFR
Регистр маски прерываний по изменению на любом из контактов — PCMSK
Восьмиразрядный таймер/счетчик с поддержкой режима ШИМ
Назначение и особенности
Упрощенная блок-схема
Регистры
Используемые обозначения
Источники тактового сигнала таймера/счетчика
Модуль счета
Модуль совпадения
Принудительное изменение состояния выхода совпадения
Блокировка режима совпадения в момент записи регистра TCNT0
Использование модуля совпадения
Модуль вывода сигнала совпадения
Режим вывода сигнала совпадения и генерация сигналов
Режимы работы
Режим «Normal»
Режим сброса при совпадении (CTC)
Режим Fast PWM (быстрый ШИМ)
ШИМ, корректный по фазе (Phase Correct PWM)
Регистр A управления таймера/счетчика 0 — TCCR0A
Регистр B управления таймера/счетчика 0 — TCCR0B
Счетный регистр таймера/счетчика 0 — TCNT0.
Регистр совпадения (канал A) — OCR0A
Регистр совпадения (канал B) — OCR0B
Регистр маски таймера/счетчика 0 — TIMSK
Регистр флагов таймера/счетчика 0 — TIFR
Предварительные делители таймера/счетчика 0 и таймера/счетчика 1
Внутренний источник тактового сигнала
Сброс предварительного делителя
Внешний источник тактового сигнала
Главный регистр управления Таймерами — GTCCR
16-разрядный таймер/счетчик (таймер/счетчик 1)
Основные особенности
Регистры
Терминология
Совместимость
Доступ к 16-разрядным регистрам
Источники тактового сигнала таймера/счетчика
Модуль счета
Модуль захвата
Источники сигнала запуска в режиме захвата
Схема подавления помех
Использование модуля захвата
Модуль совпадения
Принудительное изменение сигнала на выходе совпадения
Блокировка режима совпадения в момент записи регистра TCNT1
Использование модуля совпадения
Модуль вывода сигнала совпадения
Режимы работы 16-разрядного таймера/счетчика
Режим Normal
Режим сброса при совпадении (CTC)
Режим Fast PWM
Режим phase correct PWM
Режим phase and frequency correct PWM
Регистр A управления таймером/счетчиком — TCCR1A
Регистр B управления таймером/счетчиком — TCCR1B
Регистр C управления таймером/счетчиком– TCCR1C
Счетный регистр таймера/счетчика 1 — TCNT1H и TCNT1L
Регистр совпадения A — OCR1AH и OCR1AL
Регистр совпадения B — OCR1BH и OCR1BL
Регистр захвата — ICR1H и ICR1L
Регистр маски прерываний таймера/счетчика — TIMSK
Регистр флагов таймера/счетчика 1 — TIFR
Универсальный синхронно-асинхронный последовательный приемо-передатчик USART
Особенности
Краткий обзор
Совместимость режимов AVR USART и AVR UART
Тактовый генератор
Внутренняя генерация тактового сигнала — генератор скорости передачи информации
Режим удвоенной скорости (U2X)
Внешний тактовый сигнал
Синхронизация процесса передачи данных
Форматы кадра
Расчет значения бита четности
Инициализация USART
Передача данных — передатчик USART
Посылка кадра данных длиной от 5 до 8 бит
Посылка кадра данных длиной 9 бит
Флаги и прерывания передатчика
Генератор сигнала четности
Отключение передатчика
Прием данных — приемник USART
Прием кадра данных длиной от 5 до 8 битов
Прием кадра данных длиной 9 бит
Флаг готовности приемника и вызов прерывания
Флаги ошибки приемника
Схема контроля четности
Выключение приемника
Освобождение буфера приемника
Асинхронный прием данных
Восстановление тактового сигнала в асинхронном режиме
Восстановление данных в асинхронном режиме
Допустимые отклонения в асинхронном режиме
Режим мультипроцессорного обмена
Регистр ввода-вывода USART — UDR
Регистр «A» статуса и управления USART — UCSRA
Регистр «B» статуса и управления USART — UCSRB
Регистр C статуса и управления USART — UCSRC
Регистры скорости обмена информации USART — UBRRL и UBRRH
Универсальный последовательный интерфейс — USI
Назначение и особенности
Краткое описание
Описание принципа работы в трехпроводном режиме
Пример операции SPI для ведущего устройства
Пример операции SPI для ведомого устройства
Принцип действия в двухпроводном режиме
Схема обнаружения стартового условия
Альтернативное использование USI
Полудуплексная асинхронная передача данных
Регистр данных USI — USIDR
Регистр состояния USI — USISR
Регистр управления USI — USICR
Аналоговый компаратор
Назначение и особенности
Регистр статуса и управления аналогового компаратора — ACSR
Регистр отключения цифрового ввода — DIDR
Встроенная система отладки программ debugWIRE
Основные особенности встроенной системы отладки
Назначение
Физический интерфейс
Точки останова программы
Ограничения режима debugWIRE
Специальный регистр ввода-вывода, предназначенный для debugWIRE
Регистр данных debugWire — DWDR
Автоматическое перепрограммирование памяти программ
Стирание страницы
Загрузка страницы (заполнение данными временного буфера)
Запись страницы
Адресация памяти программ при автоматическом перепрограммировании
Регистр статуса и управления загрузкой программной памяти — SPMCSR
Запись в EEPROM и работа с регистром SPMCSR
Чтение состояния fuse-переключателей и битов блокировки программным путем
Предотвращение ошибок при программировании Flash-памяти
Время программирования Flash-памяти при использовании команды SPM
Программирование памяти
Биты защиты памяти данных и программ
Fuse-переключатели
Фиксирование значений fuse-переключателей
Байты идентификации
Байт калибровки
Размер страницы
Приложение. Сводная таблица команд Ассемблера микроконтроллеров AVR
описание CD диска и видеокурса
Список литературы
Список полезных ссылок на ресурсы интернет