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

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

0   0
Первый авторЕвстифеев
ИздательствоДМК Пресс, Додэка-XXI
Страниц427
ID836277
АннотацияКнига посвящена однокристальным микроконтроллерам AVR семейства Tiny фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей. Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
ISBN978-5-89818-431-5
Евстифеев, А.В. Микроконтроллеры AVR семейства Tinya : руководство пользователя / А.В. Евстифеев .— : ДМК Пресс, Додэка-XXI, 2023 .— 427 с. — ISBN 978-5-89818-431-5 .— URL: https://rucont.ru/efd/836277 (дата обращения: 02.06.2024)

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

Микроконтроллеры_AVR_семейства_Tinya__руководство_пользователя.pdf
УДК 621.316.544.1 (035.5) ББК 32.844.1-04я2 Е26 Е26 Евстифеев, А. В. Микроконтроллеры AVR семейства Tinya : руководство пользователя / А. В. Евстифеев. — 2-е изд., эл. — 1 файл pdf : 427 с. — Москва : ДМК Пресс, Додэка-XXI, 2023. — (Программируемые системы). — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-431-5 Книга посвящена однокристальным микроконтроллерам AVR семейства Tiny фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей. Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов. УДК 621.316.544.1 (035.5) ББК 32.844.1-04я2 Электронное издание на основе печатного издания: Микроконтроллеры AVR семейства Tinya : руководство пользователя / А. В. Евстифеев. — Москва : ДМК Пресс, Додэка-XXI, 2015. — 426 с. — (Программируемые системы). — ISBN 978-5-97060-262-1. — Текст : непосредственный. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-431-5 © Издательский дом «Додэка 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
6 IJ Оглавление 12.1.3. Идентификатор. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 12.1.4. Калибровочные ячейки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 12.1.5. Страничная организация памяти программ и данных . . . . . . . . . . . . . . . . . 363 12.2. Последовательное программирование при высоком напряжении . . . . . . . . . . . . . 364 12.2.1. Управление процессом программирования. . . . . . . . . . . . . . . . . . . . . . . . . . 366 12.3. Программирование по последовательному каналу . . . . . . . . . . . . . . . . . . . . . . . . . . 377 12.3.1. Переключение в режим программирования . . . . . . . . . . . . . . . . . . . . . . . . . 384 12.3.2. Управление процессом программирования FLASHпамяти . . . . . . . . . . . 384 12.3.3. Управлением процессом программирования EEPROMпамяти . . . . . . . . 385 12.4. Параллельное программирование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 12.4.1. Переключение в режим параллельного программирования . . . . . . . . . . . . 392 12.4.2. Стирание кристалла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 12.4.3. Программирование FLASHпамяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 12.4.4. Программирование EEPROMпамяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 12.4.5. Программирование конфигурационных ячеек . . . . . . . . . . . . . . . . . . . . . . . 396 12.4.6. Программирование ячеек защиты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 12.4.7. Чтение конфигурационных ячеек и ячеек защиты. . . . . . . . . . . . . . . . . . . . 398 12.4.8. Чтение ячеек идентификатора и калибровочных ячеек. . . . . . . . . . . . . . . . 399 12.5. Самопрограммирование микроконтроллеров семейства Tiny . . . . . . . . . . . . . . . . 400 12.5.1. Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 12.5.2. Функционирование загрузчика . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 Приложение 1. Сводная таблица микроконтроллеров AVR семейства Tiny . . . . . . . . . 404 Приложение 2. Чертежи корпусов микроконтроллеров AVR семейства Tiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 Приложение 3. Электрические параметры микроконтроллеров AVR семейства Tiny . 415
Стр.7

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


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст