Изменение пароля
Пользователь
anonymous
Текущий пароль
*
Новый пароль
*
Подтверждение
*
Запомнить меня
Забыли пароль?
Электронная библиотека (16+)
Впервые на сайте?
Вход
/
Регистрация
Национальный цифровой ресурс
Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 637335)
Для выхода нажмите Esc или
Микроконтроллеры AVR семейства Tinya : руководство пользователя (2000,00 руб.)
0
0
Первый автор
Евстифеев
Издательство
ДМК Пресс, Додэка-XXI
Страниц
427
Предпросмотр
ID
836277
Аннотация
Книга посвящена однокристальным микроконтроллерам AVR семейства Tiny фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей. Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
ISBN
978-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
Стр.3
Стр.4
Стр.5
Стр.6
Стр.7
Микроконтроллеры_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
Облако ключевых слов *
* - вычисляется автоматически