Главная » Файлы » Книги » Книги по радиоэлектронике |
Самоучитель разработчика устройств на микроконтроллерах AVR
12.11.2011, 22:54 | |
Самоучитель раскрывает секреты микропроцессорной техники, затрагивает
основы цифровой логики, принципы программирования. Написан простым,
понятным языком, снабжен схемами, иллюстрациями и практическими
примерами. После популярной теоретической части автор переходит к практике реализации устройств на микроконтроллерах. В качестве примера используются микроконтроллеры AVR фирмы Atmel. Рассматриваются их принципы построения и особенности архитектуры. После описания микросхем в книге дается несколько практических уроков по их применению. В них на примерах читатель пошагово учится как способам построения электронных схем с применением микроконтроллеров, так и приемам программирования. Одновременно идет изучение языков программирования. Все программные примеры даны на Ассемблере и СИ. Самоучитель будет полезен начинающим разработчикам электронных устройств, радиолюбителям и студентам технических ВУЗов. СОДЕРЖАНИЕ: От редактора Глава 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. Память 3.4.1. Общие сведения 3.4.2. Память программ 3.4.3. Память данных Оперативная память микроконтроллеров AVR Область памяти, совмещенная с набором регистров общего назначения (РОН) Область памяти, совмещенная с регистрами ввода—вывода (РВВ) Область внутреннего ОЗУ Область внешнего ОЗУ 3.4.4. Энергонезависимая память данных (EEPROM) 3.5. Счетчик команд и стековая память 3.6. Подсистема ввода—вывода 3.7. Система прерываний Назначение системы прерываний Управление системой прерываний Алгоритм работы системы прерываний 3.8. Таймеры-счетчики 3.8.1. Общие сведения 3.8.2. Режимы работы таймеров Режим Normal Режим «Захват» (Capture) Режим «Сброс при совпадении» (CTC) Режим «Быстродействующий ШИМ» (Fast PWM) Режим «ШИМ с точной фазой» (Phase Correct PWM) Асинхронный режим Предделители таймеров/счетчиков 3.9. Другие встроенные периферийные устройства Аналоговый компаратор Аналого-цифровой преобразователь Последовательный канал (UART/USART) Последовательный периферийный интерфейс (SPI) Последовательный двухпроводный интерфейс (TWI) 3.10. Конфигурационные ячейки 3.11. Ячейки защиты и идентификации Глава 4. Написание программ для микроконтроллеров AVR 4.1. Общие положения 4.2. Простейшая программа Постановка задачи Принципиальная электрическая схема Алгоритм Программа на Ассемблере Директивы Операторы Описание программы (листинг 4.1) Программа на языке СИ Работа программы, написанной на языке СИ Описание программы (листинг 4.2) 4.3. Переключающийся светодиод Постановка задачи Принципиальная схема Алгоритм Программа на Ассемблере Описание программы (листинг 4.3) Программа на языке СИ Описание программы (листинг 4.4) 4.4. Боремся с дребезгом контактов Постановка задачи Схема Алгоритм Программа на Ассемблере Описание программы (листинг 4.5) Программа на языке СИ 4.5. Мигающий светодиод Постановка задачи Схема Алгоритм программы Программа на Ассемблере Описание программы (листинг 4.7) Программа на языке СИ 4.6. Бегущие огни Постановка задачи Схема Алгоритм Выполнение алгоритма сдвига Программа на Ассемблере Описание программы (листинг 4.9) Программа на языке СИ 4.7. Использование таймера Постановка задачи Схема Алгоритм Программа на Ассемблере Описание программы (листинг 4.11) Программа на языке СИ 4.8. Использование прерываний по таймеру Постановка задачи Схема Алгоритм Программа на Ассемблере Описание программы (листинг 4.13) Программа на языке СИ . Описание программы (листинг 4.14) 4.9. Формирование звука Постановка задачи Схема Алгоритм Программа на Ассемблере . Описание программы (листинг 4.15) Программа на языке СИ . Описание программы (листинг 4.16) 4.10. Музыкальная шкатулка Постановка задачи Схема Алгоритм Кодируем мелодии Алгоритм работы музыкальной шкатулки Программа на Ассемблере Описание программы (листинг 4.17) Процедура вычисления адреса Текст программы «шаг за шагом» Особенности программы Подрограмма формирования задержки Программа на языке СИ Описание программы (листинг 4.18) 4.11. Кодовый замок Постановка задачи Алгоритм Схема Программа на Ассемблере . Описание программы (листинг 4.19) Процедура записи ключевой комбинации в EEPROM Процедура проверки кода Процедура открывания замка Программа на языке СИ Описание программы (листинг 4.20) 4.12. Кодовый замок с музыкальным звонком Постановка задачи Алгоритм Схема Программа на Ассемблере Программа на языке СИ Глава 5. Отладка и трансляция программ 5.1. Программная среда AVR Studio 5.1.1. Общие сведения Отладка программы Программный отладчик Аппаратный отладчик Полнофункциональные программные имитаторы электронных устройств Внутренний отладчик микроконтроллеров AVR Программная среда «AVR Studio» 5.1.2. Описание интерфейса Главная панель программы «AVR Studio» 5.1.3. Создание проекта 5.1.4. Трансляция программы Форматы файлов Формат HEX-файла Процедура трансляции 5.1.5. Отладка программы Ошибки алгоритма и его реализации Этапы процесса отладки Применение точек останова . Просмотр и изменение содержимого введенных переменных 5.1.6. Исправление ошибок 5.1.7. Создание проектов на языке СИ 5.2. Система программирования Code Vision AVR 5.2.1. Общие сведения 5.2.2. Интерфейс системы Code Vision AVR Окно номер 1 Окно номер 2 Окно номер 3 . Создание проекта без использования мастера Отладка программы 5.3. Программаторы 5.3.1. Общие сведения 5.3.2. Схема программатора Универсальные и специализированные программаторы Способ подключения программатора к компьютеру Внутрисхемное программирование . Питание программатора 5.3.3. Программа управления программатором Знакомство с программой PonyProg Алгоритм действий Программирование микросхем Режимы работы программатора Глава 6. Микроконтроллер ATiny2313/V фирмы ATMEL 6.1. Основные характеристики и возможности Основные характеристики . Блок-схема микроконтроллера Особенности микросхемы ATtiny2313 Описание выводов 6.2. AVR — центральное ядро процессора Введение Краткая характеристика архитектуры АЛУ — арифметико-логическое устройство Регистр статуса Файл регистров общего назначения 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-переключателей Байты идентификации . Байт калибровки Размер страницы ПРИЛОЖЕНИЯ: Список литературы Список ссылок в Интернет Автор: Белов А.В Издательство: Наука и Техника Серия: «Радиолюбитель» Год издания: 2008 Страниц: 545 Формат: DJVU/rar Размер: 11.55 Mb http://letitbit.net/download/60030.6d9f1ed9e6a1d04599236e833467/below.rar.html | |
Просмотров : 3105 | Загрузок : 6 | Рейтинг : 0.0/0 |
Всего комментариев : 0 | |