Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 610373)
Контекстум

Микроконтроллеры AVR семейства Tinya (2000,00 руб.)

0   0
Первый авторЕвстифеев А. В.
ИздательствоМ.: Додэка-XXI
Страниц427
ID795084
АннотацияКнига посвящена однокристальным микроконтроллерам AVR семейства Tiny фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей.
Кому рекомендованоПредназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
ISBN978-5-97060-262-1
УДК621.316.544.1(035.5)
ББК32.844.1-04я2
Евстифеев, А.В. Микроконтроллеры AVR семейства Tinya : руководство пользователя / А.В. Евстифеев .— Москва : ДМК Пресс : Додэка-XXI, 2015 .— 427 с. : ил. — (Программируемые системы) .— ISBN 978-5-97060-262-1 .— URL: https://rucont.ru/efd/795084 (дата обращения: 05.04.2025)

Предпросмотр (выдержки из произведения)

Микроконтроллеры_AVR_семейства_Tinya__руководство_пользователя.pdf
УДК 621.316.544.1 (035.5) ББК 32.844.104я2 Е26 Евстифеев А.В. Е26 Микроконтроллеры AVR семейства Tiny. Руководство пользователя. — М.: ДМК Пресс, 2015. — 426 с.: ил. (Серия «Программируемые системы»). ISBN 9785970602621 Книга посвящена однокристальным микроконтроллерам AVR семейства Tiny фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей. Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов. УДК 621.316.544.1 (035.5) ББК 32.844.104я2 Главный редактор Мовчан Д. А. dmkpress@gmail.com Главный редактор В. М. Халикеев Ответственный редактор Т. Е. Брод Верстка И. С. Кайнова График А. Н. Клочков Гарнитура «NewtonC». Печать офсетная. Усл. печ. л. 22,0. Веб-сайт издательства: www.дмк.рф Формат 60х90/16. Бумага типографская № 2. ISBN 9785941201167 (Додэка) ISBN 9785970602621 (ДМКПресс) © Издательский дом «ДодэкаXXI» ® Серия «Программируемые системы» © Издание, ДМК Пресс, 2015
Стр.3
Оглавление IJ 3 ОГЛАВЛЕНИЕ Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Глава 1. Знакомство с семейством Tiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 1.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2. Отличительные особенности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3. Характеристики процессора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4. Характеристики подсистемы ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5. Периферийные устройства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.6. Архитектура ядра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.7. Цоколевка и описание выводов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Глава 2. Архитектура микроконтроллеров семейства Tiny . . . . . . . . . . . . . . . . . . .32 2.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2. Организация памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.1. Память программ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.2.2. Память данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.2.3. Энергонезависимая память данных (EEPROM) . . . . . . . . . . . . . . . . . . . . . . . . 67 2.3. Счетчик команд и выполнение программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 2.3.1. Счетчик команд. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 2.3.2. Функционирование конвейера. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 2.3.3. Команды типа «проверка/пропуск» (Test & Skip) . . . . . . . . . . . . . . . . . . . . . . . 74 2.3.4. Команды условного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 2.3.5. Команды безусловного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 2.3.6. Команды вызова подпрограмм. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 2.3.7. Команды возврата из подпрограмм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 2.4. Стек . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Глава 3. Система команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80 3.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.2. Операнды . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.3. Типы команд. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.3.1. Команды логических операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.3.2. Команды арифметических операций и команды сдвига . . . . . . . . . . . . . . . . . 83 3.3.3. Команды битовых операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Стр.4
4 IJ Оглавление 3.3.4. Команды пересылки данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.3.5. Команды передачи управления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 3.3.6. Команды управления системой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.4. Сводные таблицы команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 3.5. Описание команд. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Глава 4. Тактирование, режимы пониженного энергопотребления и сброс . . . .156 4.1. Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 4.2. Тактовый генератор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 4.2.1. Генератор с внешним резонатором . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.2.2. Низкочастотный кварцевый генератор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.2.3. Внешний сигнал синхронизации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 4.2.4. Генератор с внешней RCцепочкой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 4.2.5. Внутренний калиброванный RCгенератор . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 4.2.6. Внутренний RCгенератор на 128 кГц. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 4.2.7. Схема ФАПЧ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 4.2.8. Управление тактовой частотой. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 4.3. Управление электропитанием. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.3.1. Режимы пониженного энергопотребления . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.3.2. Управление тактовыми сигналами модулей. . . . . . . . . . . . . . . . . . . . . . . . . . . 172 4.3.3. Общие рекомендации по уменьшению энергопотребления . . . . . . . . . . . . . 173 4.4. Сброс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 4.4.1. Сброс по включению питания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.4.2. Аппаратный сброс . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 .4.4.3. Сброс от сторожевого таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 4.4.4. Сброс при снижении напряжения питания . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 4.4.5. Управление схемой сброса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Глава 5. Прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195 5.1. Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.2. Таблица векторов прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.3. Обработка прерываний. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 5.4. Внешние прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Глава 6. Порты ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207 6.1. Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 6.2. Регистры портов ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 6.3. Конфигурирование портов ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 6.4. Аппаратный модулятор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 Глава 7. Таймеры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225 7.1. Общие сведения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 7.2. Назначение выводов таймеров/счетчиков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 7.3. Прерывания от таймеров/счетчиков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 7.4. Предделители таймеров/счетчиков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Стр.5
Оглавление IJ 5 7.4.1. Управление предделителями. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 7.4.2. Использование внешнего тактового сигнала. . . . . . . . . . . . . . . . . . . . . . . . . . 233 7.5. Таймер/счетчик T0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 7.5.1. Управление тактовым сигналом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 7.5.2. Режимы работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 7.6. Таймер/счетчик T1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 7.6.1. Таймер/счетчик T1 в модели ATtiny15L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 7.6.2. Таймер/счетчик T1 в моделях ATtiny2313x и ATtiny24x/44x/84x . . . . . . . . . 253 7.6.3. Таймер/счетчик T1 в моделях ATtiny25x/45x/85x и ATtiny26x . . . . . . . . . . . 271 7.7. Сторожевой таймер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Глава 8. Аналоговый компаратор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291 8.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 8.2. Функционирование компаратора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Глава 9. Аналогоцифровой преобразователь . . . . . . . . . . . . . . . . . . . . . . . . . . . .297 9.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 9.2. Функционирование модуля АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 9.3. Результат преобразования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 9.4. Повышение точности преобразования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 9.5. Параметры АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Глава 10.Универсальный синхронный/асинхронный приемопередатчик . . . . .317 10.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 10.2. Использование модуля USART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 10.2.1. Скорость приема/передачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 10.2.2. Формат кадра . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 10.2.3. Передача данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 10.2.4. Прием данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 10.3. Мультипроцессорный режим работы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Глава 11.Универсальный последовательный интерфейс USI . . . . . . . . . . . . . . .335 11.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 11.2. Основные сведения об интерфейсе SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 11.3. Основные сведения об интерфейсе TWI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 11.4. Использование модуля USI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 11.5. Режимы работы модуля USI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 11.5.1. Трехпроводный режим. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 11.5.2. Двухпроводный режим. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 11.5.3. Альтернативное использование модуля USI . . . . . . . . . . . . . . . . . . . . . . . . . 355 Глава 12.Программирование микроконтроллеров AVR семейства Tiny . . . . . . .356 12.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 12.1.1. Защита кода и данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 12.1.2. Конфигурационные ячейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Стр.6

Облако ключевых слов *


* - вычисляется автоматически