Мир книг по микроэлектронике
Книги авторства Белова Александра
На главнуюРеквизиты автора Сайт МирМК FUSE калькулятор Сайт "Симферополь вчера и сегодня"


А. В. Белов

Разработка устройств на микроконтроллерах AVR, шаг за шагом от "чайника" до профи

 

Содержание

Шаг 1. Учимся основам цифровой техники

1.1. Вначале был микропроцессор

Что же такое микропроцессор
Виды памяти
Различия между микропроцессорами и микроконтроллерами

1.2. Считаем по-другому

Десятичная система исчисления
Восьмиричная система исчисления
Шестнадцатиричная система исчисления
Двоичная система исчисления
Способы обозначения чисел в разных системах исчисления
Арифметическая операция сложения
Арифметическая операция умножения

1.3. Электронные цифры

Представление чисел на ПК
Двухуровневый сигнал

1.4. Логические элементы

Знакомство с логическими элементами
Простые логические элементы
Таблица истинности
Составные логические элементы

1.5. Простейший триггер

Что такое триггер
Устройство и работа RS-триггера
Борьба с дребезгом контактов

1.6. Хранение информации

Устройство и работа D-триггера
Параллельный регистр
Параллельный регистр с расширенными возможностями
Устройство и работа JK-триггера

1.7. Счетчики

Работа делителя частоты
Счетчики прямого счета
Счетчики с обратным отсчетом
Делители с переменным коэффициентом деления
Таймеры

1.8. Дешифраторы

Устройство и принцип действия дешифратора
Селектор памяти ячеек ОЗУ
Каскадирование дешифраторов

1.9. Мультиплексоры

Шаг 2. Переходим от цифровой техники к микропроцессору и микроконтроллеру

2.1. Типовая схема микропроцессорной системы

Структурная схема типичной микропроцессорной системы
Виды памяти
Порты ввода-вывода
Процессор и цифровые шины
Шина данных
Шина адреса
Шина управления
Принцип действия микропроцессорной системы

2.2. Алгоритм работы микропроцессорной системы

Возможности процессора
Программа
Процесс выполнения команды
Рабочие регистры
Команды микропроцессора
Команды условного и безусловного перехода
Команда организации цикла
Команды перехода к подпрограмме

2.3. Механизм прерываний
2.4. Прямой доступ к памяти
2.5. Микроконтроллеры

Шаг 3. А теперь ближе к практике: знакомьтесь — микроконтроллеры AVR

3.1. Общие сведения

Особенности новой серии микроконтроллеров
Состав серии AVR
Особенности серии AVR
Внутренняя память
Способы программирования Flash- и EEPROM-памяти
Порты ввода-вывода
Периферийные устройства
Другие устройства

3.2. Регистры общего назначения (РОН).
3.3. Регистры ввода-вывода
3.4. Память

Общие сведения
Память программ
Оперативная память микроконтроллеров AVR
Область памяти, совмещенная с набором регистров общего назначения (РОН)
Область памяти, совмещенная с регистрами ввода-вывода (РВВ)
Область внутреннего ОЗУ
Область внешнего ОЗУ
Энергонезависимая память данных (EEPROM)

3.5. Счетчик команд и стековая память
3.6. Подсистема ввода-вывода
3.7. Система прерываний

Назначение системы прерываний
Управление системой прерываний
Алгоритм работы системы прерываний

3.8. Таймеры-счетчики

Общие сведения
Режимы работы таймеров
Режим Normal
Режим «Захват» (Capture)
Режим «Сброс при совпадении» (CTC)
Режим «Быстродействующий ШИМ» (Fast PWM)
Режим «ШИМ с точной фазой» (Phase Correct PWM)
Асинхронный режим
Предделители таймеров/счетчиков

3.9. Другие встроенные периферийные устройства

Аналоговый компаратор
Аналого-цифровой преобразователь
Последовательный канал (UART/USART)
Последовательный периферийный интерфейс (SPI)
Последовательный двухпроводный интерфейс (TWI)

3.10. Другие ячейки

Конфигурационные ячейки
Ячейки защиты и идентификации

Шаг 4. Переходим непосредственно к разработке устройств и программ

4.1. Общие положения
4.2. Простейшая программа
4.3. Переключающийся светодиод
4.4. Боремся с дребезгом контактов
4.5. Мигающий светодиод
4.6. Бегущие огни
4.7. Использование таймера
4.8. Использование прерываний по таймеру
4.9. Формирование звука
4.10. Музыкальная шкатулка
4.11. Кодовый замок
4.12. Кодовый замок с музыкальным звонком

Шаг 5. Последний этап разработки — отладка и транслирование

5.1. Программная среда AVR Studio
5.1.1. Общие сведения
5.1.2. Описание интерфейса
5.1.3. Создание проекта
5.1.4. Трансляция программы
5.1.5. Отладка программы
5.1.6. Исправление ошибок
5.1.7. Создание проектов на языке СИ
5.2. Система программирования Code Vision AVR
5.2.1. Общие сведения
5.2.2. Интерфейс системы Code Vision AVR
5.3. Программаторы
5.3.1. Общие сведения
5.3.2. Схема программатора
5.3.3. Программа управления программатором

Шаг 6. осваиваем все возможности микроконтроллера ATtiny2313

6.1. Основные характеристики и возможности

Основные характеристики
Блок-схема микроконтроллера
Особенности микросхемы ATtiny2313
Описание выводов

6.2. Центральное ядро процессора

Введение
Краткая характеристика архитектуры
АЛУ — арифметико-логическое устройство
Регистр статуса
Файл регистров общего назначения
X-регистр, Y-регистр и Z-регистр
Указатель стека
Память ATtiny2313
Системная перепрограммируемая Flash-память программ
Память данных SRAM
Память данных EEPROM
Процесс чтения/записи EEPROM
Регистр адреса EEPROM — EEAR
Регистр данных EEPROM — EEDR
Регистр управления EEPROM — EECR
Атомарное программирование байта
Раздельное программирование байта
Стирание
Запись
Предотвращение ошибок при работе с EEPROM
Регистры ввода-вывода
Регистры ввода-вывода общего назначения

6.3. Тактовый генератор

Система синхронизации и варианты ее конфигурирования
Источники тактового сигнала
Источник сигнала по умолчанию
Кварцевый резонатор
Встроенный перестраиваемый RC-генератор
Регистр калибровки генератора — OSCCAL
Внешний тактовый сигнал
Внутренний генератор на 128 кГц
Регистр предварительного делителя частоты — CLKPR
Управления питанием и режимы сна
Регистр управления микроконтроллером — MCUCR
Режим Idle
Режим Power-down
Режим Standby
Советы по уменьшению потребляемой мощности

6.4. Система управления и сброса

Начальный сброс микроконтроллера AVR
Источники сигнала сброса
Сброс при включении питания
Внешний сброс
Сброс при снижении напряжения питания
Сброс от сторожевого таймера
Регистр статуса системы сброса — MCUSR

6.5. Сторожевой (охранный) таймер

Особенности
Блок-схема
Режимы работы
Регистр управления сторожевым таймером — WDTCSR (WDTCR)

6.6. Прерывания
6.7. Порты ввода-вывода

Введение
Использование портов для цифрового ввода-вывода
Конфигурация выводов
Переключение значения разряда порта
Переключение между выводом и вводом
Чтение значения на выводе порта
Разрешение цифрового ввода и режимы низкого потребления (режимы сна)
Дополнительные функции линий порта ввода-вывода
Регистр управления микроконтроллером — MCUCR
Альтернативные функции порта A
Альтернативные функции порта B
Детальное описание альтернативных функций каждого из выводов
Альтернативные функции порта D
Подробное описание альтернативных функций
Описание управляющих регистров портов ввода-вывода

6.8. Внешние прерывания

Назначение и режимы работы
Регистр управления микроконтроллером — MCUCR
Главный регистр маски прерываний — GIMSK
Регистр флагов внешних прерываний — EIFR
Регистр маски прерываний по изменению на любом из контактов — PCMSK

6.9. Восьмиразрядный таймер/счетчик с поддержкой режима ШИМ

Назначение и особенности
Упрощенная блок-схема
Регистры
Используемые обозначения
Источники тактового сигнала таймера/счетчика
Модуль счета
Модуль совпадения
Принудительное изменение состояния выхода совпадения
Блокировка режима совпадения в момент записи регистра 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

6.10. 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

6.11. Универсальный синхронно-асинхронный последовательный приемо-передатчик 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

6.12. Универсальный последовательный интерфейс — USI

Назначение и особенности
Краткое описание
Описание принципа работы в трехпроводном режиме
Пример операции SPI для ведущего устройства
Пример операции SPI для ведомого устройства
Принцип действия в двухпроводном режиме
Схема обнаружения стартового условия
Альтернативное использование USI
Полудуплексная асинхронная передача данных
Регистр данных USI — USIDR
Регистр состояния USI — USISR
Регистр управления USI — USICR

6.13. Аналоговый компаратор

Назначение и особенности
Регистр статуса и управления аналогового компаратора — ACSR
Регистр отключения цифрового ввода — DIDR

6.14. Встроенная система отладки программ debugWIRE

Основные особенности встроенной системы отладки
Назначение
Физический интерфейс
Точки останова программы
Ограничения режима debugWIRE
Специальный регистр ввода-вывода, предназначенный для debugWIRE
Регистр данных debugWire — DWDR
Автоматическое перепрограммирование памяти программ
Стирание страницы
Загрузка страницы (заполнение данными временного буфера)
Запись страницы
Адресация памяти программ при автоматическом перепрограммировании
Регистр статуса и управления загрузкой программной памяти — SPMCSR
Запись в EEPROM и работа с регистром SPMCSR
Чтение состояния fuse-переключателей и битов блокировки программным путем
Предотвращение ошибок при программировании Flash-памяти
Время программирования Flash-памяти при использовании команды SPM

6.15. Программирование памяти

Биты защиты памяти данных и программ
Fuse-переключатели
Фиксирование значений fuse-переключателей
Байты идентификации
Байт калибровки
Размер страницы
Приложение. Сводная таблица команд Ассемблера микроконтроллеров AVR
описание CD диска и видеокурса
Список литературы
Список полезных ссылок на ресурсы интернет

 

 

 

На главную www.mirmk.ru