Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL

Покупка
Артикул: 065919.05.99
Доступ онлайн
300 ₽
В корзину
Книга посвящена вопросам практического применения однокристальных микроконтроллеров AVR семейств Tiny и Mega фирмы ATMEL. Рассмотрена архитектура, ее особенности. Приведены основные электрические параметры и временные характеристики. Подробно описано внутреннее устройство микроконтроллеров, системы команд, периферия, а также способы программирования с примерами реализации некоторых алгоритмов для конкретных цифровых устройств. Книга предназначена для разработчиков радиоэлектронной аппаратуры, инженеров,студентов вузов и радиолюбителей.
Евстифеев, А. В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL : практическое руководство / А. В. Евстифеев. - 6-е изд. - Москва : ДМК Пресс, 2023. - 560 с. - (Мировая электроника). - SBN 978-5-89818-589-3. - ISBN 978-5-89818-589-3. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107955 (дата обращения: 10.12.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
— 1 —

А. В. Евстифеев

Микроконтроллеры AVR
семейств Tiny и Mega
фирмы ATMEL

МИРОВАЯ
ЭЛЕКТРОНИКА

С Е Р И Я

Москва
ДМК Пресс, Додэка, 2023

6е издание, электронное

УДК 621.316.544.1 (035.5)
ББК 32.844.1-04я2
E26

E26
Евстифеев, А. В.
Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL / А. В. Евстифеев. — 6-е изд., эл. — 1 файл pdf : 560 с. — Москва : ДМК Пресс, ДодэкаXXI, 2023. — (Мировая электроника). — Систем. требования: Adobe Reader 
XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный.
ISBN 978-5-89818-589-3

Книга посвящена вопросам практического применения однокристальных микроконтроллеров AVR семейств Tiny и Mega фирмы ATMEL.
Рассмотрена архитектура, ее особенности. Приведены основные электрические 
параметры и временные характеристики. Подробно описано внутреннее устройство 
микроконтроллеров, системы команд, периферия, а также способы программирования с примерами реализации некоторых алгоритмов для конкретных цифровых 
устройств.
Книга предназначена для разработчиков радиоэлектронной аппаратуры, инженеров,студентов вузов и радиолюбителей.

УДК 621.316.544.1 (035.5) 
ББК 32.844.1-04я2

Электронное издание на основе печатного издания: Микроконтроллеры AVR семейств Tiny и 
Mega фирмы ATMEL / А. В. Евстифеев. — 5-е изд. — Москва : ДМК Пресс, Додэка-XXI, 2015. — 
558 с. — (Мировая электроника). — ISBN 978-5-97060-261-4. — Текст : непосредственный.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-589-3
© Издательский дом «Додэка XXI»
© Издание, ДМК Пресс, 2015
® Серия «Мировая электроника»

Оглавление

— 3 —

Оглавление

Предисловие...........................................................................................................9
Часть 1. Микроконтроллеры семейства Tiny

Глава 1. Знакомство с семейством Tiny
1.1. Общие сведения .......................................................................................12
1.2. Отличительные особенности...................................................................12
1.3. Характеристики процессора....................................................................13
1.4. Характеристики подсистемы ввода/вывода............................................13
1.5. Периферийные устройства ......................................................................14
1.6. Архитектура ядра......................................................................................14
1.7. Цоколевка и описание выводов...............................................................15
Глава 2. Архитектура микроконтроллеров семейства Tiny
2.1. Общие сведения .......................................................................................21
2.2. Организация памяти ................................................................................26
2.2.1. Память программ..............................................................................26
2.2.2. Память данных..................................................................................28
2.2.3. Энергонезависимая память данных (EEPROM) .............................38
2.3. Счетчик команд и выполнение программы............................................42
2.3.1. Функционирование конвейера ........................................................42
2.3.2. Задержки в конвейере.......................................................................43
2.3.3. Счетчик команд ................................................................................44
2.3.4. Команды типа «проверка/пропуск» (Test & Skip)............................44
2.3.5. Команды условного перехода...........................................................44
2.3.6. Команда безусловного перехода ......................................................45
2.3.7. Команда вызова подпрограмм .........................................................45
2.3.8. Команды возврата из подпрограмм .................................................46
2.4. Стек...........................................................................................................46
Глава 3. Устройство управления микроконтроллеров семейства Tiny
3.1. Общие сведения .......................................................................................48
3.2. Тактовый генератор..................................................................................49
3.2.1. Кварцевый генератор .......................................................................49
3.2.2. Внешний сигнал синхронизации.....................................................50
3.2.3. Встроенный генератор с внешней или внутренней 
RCцепочкой .....................................................................................50
3.3. Режимы пониженного энергопотребления ............................................52
3.3.1. Режим Idle ........................................................................................53
3.3.2. Режим Power Down ...........................................................................53
3.3.3. Режим ADC Noise Reduction ...........................................................54
3.4. Сброс ........................................................................................................54

Оглавление

— 4 —

3.4.1. Сброс по включению питания......................................................... 55
3.4.2. Аппаратный сброс............................................................................ 57
3.4.3. Сброс от сторожевого таймера ........................................................ 57
3.4.4. Сброс при снижении напряжения питания.................................... 58
3.4.5. Управление схемой сброса............................................................... 59
3.5. Прерывания ............................................................................................. 66
3.5.1. Таблица векторов прерываний ........................................................ 66
3.5.2. Обработка прерываний.................................................................... 67
3.5.3. Внешние прерывания. Регистры GIMSK и GIFR.......................... 69
3.5.4. Прерывания от таймеров. Регистры TIMSK и TIFR ...................... 71
3.5.5. Управление прерываниями в микроконтроллерах ATtiny28x. 
Регистры ICR и IFR.......................................................................... 73
Глава 4. Порты ввода/вывода
4.1. Общие сведения....................................................................................... 76
4.2. Обращение к портам ввода/вывода ........................................................ 77
4.3. Конфигурирование портов ввода/вывода .............................................. 78
4.4. Аппаратный модулятор ........................................................................... 81
Глава 5. Таймеры в микроконтроллерах семейства Tiny
5.1. Общие сведения....................................................................................... 86
5.2. Назначение выводов таймеров/счетчиков ............................................. 86
5.3. Таймер/счетчик T0................................................................................... 87
5.4. Таймер/счетчик T1................................................................................... 90
5.4.1. Выбор источника тактового сигнала............................................... 93
5.4.2. Режим таймера ................................................................................. 94
5.4.3. Режим ШИМ.................................................................................... 95
5.5. Сторожевой таймер ................................................................................. 97
Глава 6. Аналоговый компаратор
6.1. Общие сведения..................................................................................... 100
6.2. Функционирование компаратора ......................................................... 100
Глава 7. Аналогоцифровой преобразователь
7.1. Общие сведения..................................................................................... 104
7.2. Функционирование модуля АЦП ......................................................... 104
7.3. Повышение точности преобразования................................................. 111
7.4. Параметры АЦП .................................................................................... 112
Часть 2. Микроконтроллеры семейства Mega

Глава 8. Знакомство с семейством Mega
8.1. Общие сведения..................................................................................... 114
8.2. Отличительные особенности ................................................................ 114
8.3. Характеристики процессора ................................................................. 115
8.4. Характеристики подсистемы ввода/вывода ......................................... 115
8.5. Периферийные устройства.................................................................... 116

Оглавление

— 5 —

8.6. Архитектура ядра....................................................................................116
8.7. Цоколевка и описание выводов.............................................................117
Глава 9. Архитектура микроконтроллеров семейства Mega
9.1. Введение .................................................................................................148
9.2. Организация памяти ..............................................................................148
9.2.1. Память программ............................................................................150
9.2.2. Память данных................................................................................153
9.2.3. Энергонезависимая память данных (EEPROM) ...........................189
9.3. Счетчик команд и выполнение программы..........................................193
9.3.1. Счетчик команд ..............................................................................193
9.3.2. Функционирование конвейера ......................................................193
9.3.3. Команды типа «проверка/пропуск» (Test & Skip)..........................194
9.3.4. Команды условного перехода.........................................................195
9.3.5. Команды безусловного перехода ...................................................195
9.3.6. Команды вызова подпрограмм ......................................................197
9.3.7. Команды возврата из подпрограмм ...............................................198
9.4. Стек.........................................................................................................198
Глава 10. Тактирование, режимы пониженного энергопотребления и сброс
10.1. Общие сведения ...................................................................................200
10.2. Тактовый генератор..............................................................................200
10.2.1. Тактовый генератор с внешним резонатором..............................203
10.2.2. Низкочастотный кварцевый генератор........................................204
10.2.3. Внешний сигнал синхронизации.................................................205
10.2.4. Внешняя RCцепочка ...................................................................205
10.2.5. Встроенный генератор с внутренней RCцепочкой ....................206
10.2.6. Управление тактовой частотой.....................................................209
10.3. Режимы пониженного энергопотребления.........................................210
10.4. Сброс.....................................................................................................217
10.4.1. Сброс по включению питания .....................................................219
10.4.2. Аппаратный сброс.........................................................................221
10.4.3. Сброс от сторожевого таймера .....................................................221
10.4.4. Сброс при снижении напряжения питания ................................222
10.4.5. Управление схемой сброса............................................................223
Глава 11. Прерывания
11.1. Общие сведения ...................................................................................230
11.2. Таблица векторов прерываний ............................................................230
11.3. Обработка прерываний ........................................................................239
11.4. Внешние прерывания...........................................................................240
Глава 12. Порты ввода/вывода
12.1. Общие сведения ...................................................................................248
12.2. Регистры портов ввода/вывода............................................................249
12.3. Конфигурирование портов ввода/вывода...........................................250

Оглавление

— 6 —

Глава 13. Таймеры
13.1. Общие сведения................................................................................... 255
13.2. Назначение выводов таймеров/счетчиков ......................................... 256
13.3. Прерывания от таймеров/счетчиков................................................... 257
13.4. Предделители таймеров/счетчиков .................................................... 261
13.4.1. Управление предделителями........................................................ 262
13.4.2. Использование внешнего тактового сигнала.............................. 263
13.5. Таймеры/счетчики T0 и T2.................................................................. 264
13.5.1. Управление тактовым сигналом .................................................. 269
13.5.2. Режимы работы ............................................................................ 270
13.5.3. Асинхронный режим.................................................................... 276
13.6. Таймеры/счетчики T1и T3................................................................... 279
13.6.1. Обращение к 16разрядным регистрам ....................................... 287
13.6.2. Управление тактовым сигналом .................................................. 288
13.6.3. Режимы работы ............................................................................ 288
13.7. Сторожевой таймер.............................................................................. 300
Глава 14. Аналоговый компаратор
14.1. Введение............................................................................................... 305
14.2. Функционирование компаратора ....................................................... 306
Глава 15. Аналогоцифровой преобразователь
15.1. Общие сведения................................................................................... 310
15.2. Функционирование модуля АЦП ....................................................... 311
15.3. Результат преобразования ................................................................... 320
15.4. Повышение точности преобразования............................................... 321
15.5. Параметры АЦП .................................................................................. 323
Глава 16. Универсальный асинхронный (синхронный/асинхронный) 
приемопередатчик
16.1. Общие сведения................................................................................... 324
16.2. Использование модулей USART/UART............................................. 326
16.2.1. Скорость приема/передачи.......................................................... 333
16.2.2. Формат кадра................................................................................ 336
16.2.3. Передача данных .......................................................................... 338
16.2.4. Прием данных .............................................................................. 340
16.3. Мультипроцессорный режим работы ................................................. 345
Глава 17. Последовательный периферийный интерфейс SPI
17.1. Введение............................................................................................... 347
17.2. Функционирование модуля SPI.......................................................... 347
17.3. Режимы передачи данных ................................................................... 352
17.4. Использование вывода SS ................................................................... 353
Глава 18. Последовательный двухпроводный интерфейс
18.1. Общие сведения................................................................................... 355

Оглавление

— 7 —

18.2. Принципы обмена данными по шине TWI.........................................356
18.3. Обзор модуля TWI ................................................................................361
18.4. Взаимодействие прикладной программы с модулем TWI ..................367
18.5. Режимы работы модуля TWI................................................................370
18.5.1. Режим «Ведущий передатчик» .....................................................370
18.5.2. Режим «Ведущий приемник» .......................................................374
18.5.3. Режим «Ведомый приемник» .......................................................378
18.5.4. Режим «Ведомый передатчик» .....................................................382
18.5.5. Комбинирование различных режимов ........................................385
18.5.6. Арбитраж.......................................................................................386
18.6. Параметры интерфейса TWI................................................................387
Часть 3. Команды микроконтроллеров семейств Tiny и Mega

Глава 19. Общие сведения о системе команд
19.1. Введение в систему команд..................................................................390
19.2. Операнды..............................................................................................390
19.3. Типы команд.........................................................................................392
19.3.1. Команды логических операций....................................................392
19.3.2. Команды арифметических операций и команды сдвига.............393
19.3.3. Команды операций с битами........................................................393
19.3.4. Команды пересылки данных........................................................394
19.3.5. Команды передачи управления....................................................394
19.3.6. Команды управления системой....................................................397
19.4. Сводные таблицы команд ....................................................................397
Глава 20. Описание команд ................................................................................403
Часть 4. Программирование микроконтроллеров семейств Tiny и Mega

Глава 21. Введение в программирование микроконтроллеров AVR
21.1. Общие сведения ...................................................................................472
21.2. Защита кода и данных..........................................................................473
21.3. Конфигурационные ячейки.................................................................475
21.4. Идентификатор ....................................................................................479
21.5. Калибровочная ячейка.........................................................................480
21.6. Организация памяти программ и данных микроконтроллеров 
семейства Mega.....................................................................................480
Глава 22. Последовательное программирование при высоком напряжении
22.1. Общие сведения ...................................................................................482
22.2. Управление процессом программирования........................................483
Глава 23. Программирование по последовательному каналу
23.1. Общие сведения ...................................................................................489
23.2. Переключение в режим программирования .......................................492
23.3. Управлением процессом программирования FLASHпамяти...........496
23.4. Управление процессом программирования EEPROMпамяти..........497

Оглавление

— 8 —

Глава 24. Параллельное программирование
24.1. Общие сведения................................................................................... 498
24.2. Переключение в режим параллельного программирования.............. 504
24.3. Стирание кристалла............................................................................. 505
24.4. Программирование FLASHпамяти ................................................... 505
24.5. Программирование EEPROMпамяти ............................................... 508
24.6. Конфигурирование микроконтроллеров............................................ 510
24.6.1. Программирование конфигурационных ячеек........................... 510
24.6.2. Программирование ячеек защиты............................................... 511
24.6.3. Чтение конфигурационных ячеек и ячеек защиты..................... 511
24.6.4. Чтение ячеек идентификатора и калибровочной константы..... 512
Глава 25. Программирование по интерфейсу JTAG
25.1. Общие сведения................................................................................... 514
25.2. Использование интерфейса JTAG для программирования кристалла. 
Команды JTAG..................................................................................... 517
25.2.1. AVR_RESET (код команды $0C) ................................................. 518
25.2.2. PROG_ENABLE (код команды $04)............................................ 518
25.2.3. PROG_COMMANDS (код команды $05).................................... 518
25.2.4. PROG_PAGELOAD (код команды $06)....................................... 519
25.2.5. PROG_PAGEREAD (код команды $07) ...................................... 519
25.2.6. Алгоритм программирования ...................................................... 519
Глава 26. Самопрограммирование микроконтроллеров семейства Mega
26.1. Общие сведения................................................................................... 528
26.2. Области RWW и NRWW ...................................................................... 530
26.3. Функционирование загрузчика........................................................... 531
26.3.1. Управление процессом самопрограммирования ........................ 531
26.3.2. Изменение памяти программ ...................................................... 535
26.3.3. Изменение ячеек защиты загрузчика .......................................... 536
26.3.4. Чтение конфигурационных ячеек и ячеек защиты..................... 536
26.3.5. Пример реализации программызагрузчика............................... 537
Приложения

Приложение 1. Сводная таблица микроконтроллеров AVR семейства Tiny ....... 542
Приложение 2. Сводная таблица микроконтроллеров AVR семейства Mega ..... 544
Приложение 3. Чертежи корпусов микроконтроллеров AVR
семейств Tiny и Mega ............................................................... 549
Приложение 4. Электрические параметры микроконтроллеров AVR
семейств Tiny и Mega ............................................................... 552
Предметный указатель............................................................................... 554

— 9 —

Предисловие

Книга, которую вы держите в руках, — это вторая книга, посвященная микроконтроллерам AVR фирмы «Atmel». Эти 8разрядные
RISCмикроконтроллеры для встраиваемых приложений являются,
пожалуй, наиболее интересным и прогрессивным направлением, развиваемым фирмой. Микроконтроллеры этой серии представляют собой мощный инструмент, прекрасную основу для создания современных 
высокопроизводительных 
и 
экономичных 
встраиваемых

контроллеров многоцелевого назначения.

Популярность микроконтроллеров AVR постоянно увеличивается.

Не последнюю роль в этом играет соотношение показателей «цена/быстродействие/энергопотребление», являющееся одним из лучших на
рынке 8разрядных микроконтроллеров. Кроме того, постоянно растет
число выпускаемых сторонними производителями разнообразных
программных и аппаратных средств поддержки разработок устройств
на их основе. Все это позволяет говорить о микроконтроллерах AVR
как о новом индустриальном стандарте среди 8разрядных микроконтроллеров общего применения.

В рамках единой базовой архитектуры микроконтроллеры AVR

подразделяются на три семейства:

• Classic AVR;
• Mega AVR;
• Tiny AVR.
Микроконтроллеры семейства Classic были описаны в первой

книге серии, а данная книга посвящена двум последним семействам — Tiny и Mega.

Микроконтроллеры семейства Tiny имеют небольшие объемы

памяти программ (1…2 Кбайта) и весьма ограниченную периферию.
Практически все они выпускаются в 8выводных корпусах и предна
Предисловие

— 10 —

значены для т. н. «бюджетных» решений, принимаемых в условиях жестких финансовых ограничений. Область применения этих микроконтроллеров — интеллектуальные датчики различного назначения
(контрольные, пожарные, охранные), игрушки, зарядные устройства,
различная бытовая техника и другие подобные устройства.
Микроконтроллеры семейства Mega, напротив, имеют наиболее
развитую периферию, наибольшие среди всех микроконтроллеров
AVR объемы памяти программ и данных. Они предназначены для использования в мобильных телефонах, контроллерах различного периферийного оборудования (принтеры, сканеры, современные дисковые
накопители, приводы CDROM/DVDROM и  т. п.), сложной офисной
технике и т. д. 
Микроконтроллеры обоих семейств поддерживают несколько режимов пониженного энергопотребления, имеют блок прерываний,
сторожевой таймер и допускают программирование непосредственно в
готовом устройстве.
В предлагаемой вашему вниманию книге представлена вся информация, необходимая для изучения микроконтроллеров AVR семейств
Tiny и Mega. Однако следует заметить, что всеобъемлющим справочником данная книга не является, хотя и написана на основе документации, предоставляемой фирмой «Atmel». Поэтому, прежде чем приступить 
к 
практическому 
использованию 
рассматриваемых
микроконтроллеров, настоятельно рекомендуется обратиться к официальной 
информации, 
размещенной 
на 
Webсайтах 
фирмы
(www.atmel.com, www.atmel.ru).

Доступ онлайн
300 ₽
В корзину