МИКРОПРОЦЕССОРЫ

 

 

 

Мортон Д. Микроконтроллеры AVR. Вводный курс.

Евстифеев А. В. Микроконтроллеры AVR семейства Classic фирмы ATMEL.

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

СКАЧАТЬ 1,4 Mb

ОБСУДИТЬ НА ФОРУМЕ




Rambler's Top100

СОДЕРЖАНИЕ


ПРЕДИСЛОВИЕ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

ГЛАВА 1. ЗНАКОМСТВО С СЕМЕЙСТВОМ CLASSIC . . . . . . . . . . . . . . . . . .. . . . . . . . . . .9
1.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
1.2. ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. ХАРАКТЕРИСТИКИ ЯДРА МИКРОКОНТРОЛЛЕРА  . . . . . . . . . . . . . . . . . . . . . . . . .10
1.4. ХАРАКТЕРИСТИКИ ПОДСИСТЕМЫ ВВОДА/ВЫВОДА . . . . . . . . . . . . . . . . . . . . . . 10
1.5. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6. АРХИТЕКТУРА ЯДРА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7. ЦОКОЛЕВКА И ОПИСАНИЕ ВЫВОДОВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

ГЛАВА 2. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ
СЕМЕЙСТВА CLASSIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
2.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
2.2. ОРГАНИЗАЦИЯ ПАМЯТИ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.1. Память программ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
2.2.2. Память данных  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
2.2.2.1. Статическое ОЗУ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2.2.2. Регистры общего назначения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
2.2.2.3. Регистры ввода/вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.2.2.4. Способы адресации памяти данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.2.3. Энергонезависимая память данных  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.2.3.1. Организация доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.2.3.2. Меры предосторожности при работе  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
2.3. СЧЕТЧИК КОМАНД И ВЫПОЛНЕНИЕ ПРОГРАММЫ . . . . . . . . . . . . . . . . . . . . . . .. 67
2.3.1. Функционирование конвейера  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .67
2.3.2. Задержки в конвейере  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .69
2.3.3. Счетчик команд  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
2.3.4. Kоманды типа «проверка/пропуск»  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
2.3.5. Kоманды условного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.3.6. Kоманды безусловного перехода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
2.3.7. Kоманды вызова подпрограмм  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
2.3.8. Kоманды возврата из подпрограмм . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
2.4. СТЕК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
2.4.1. Стек в микроконтроллере AT90S1200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
2.4.2. Стек в старших моделях микроконтроллеров . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

ГЛАВА 3. СИСТЕМА КОМАНД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
3.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
3.2. ОПЕРАНДЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
3.3. ТИПЫ КОМАНД  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.3.1. Kоманды логических операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
3.3.2. Kоманды арифметических операций и команды сдвига . . . . . . . . . . . . . . . . . . . . . . . 80
3.3.3. Kоманды операций с битами  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.3.4. Kоманды пересылки данных  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3.5. Kоманды передачи управления  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3.6. Kоманды управления системой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
3.4. СВОДНЫЕ ТАБЛИЦЫ КОМАНД  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.5. ОПИСАНИЕ КОМАНД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

ГЛАВА 4. УСТРОЙСТВО УПРАВЛЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
4.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4.2. ТАКТОВЫЙ ГЕНЕРАТОР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
4.3. РЕЖИМЫ ПОНИЖЕННОГО ЭНЕРГОПОТРЕБЛЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . 150
4.3.1. Режим Idle  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4.3.2 Режим Power Down  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
4.3.3 Режим Power Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.4. СБРОС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
4.4.1. Сброс по включении питания  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
4.4.2. Аппаратный сброс  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
4.4.3. Сброс от сторожевого таймера . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..157
4.4.4. Сброс при снижении напряжения питания (BrownOut)  . . . . . . . . . . . . . . . . . . . . . . 158
4.4.5. Управление схемой сброса  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
4.5. ПРЕРЫВАНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
4.5.1. Таблица векторов прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4.5.2. Обработка прерываний  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168
4.5.3. Внешние прерывания; регистры GIMSK и GIFR  . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.5.4. Прерывания от таймеров; регистры TIMSK и TIFR  . . . . . . . . . . . . . . . . . . . . . . . . .172

ГЛАВА 5. ПОРТЫ ВВОДА/ВЫВОДА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
5.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
5.2. ОБРАЩЕНИЕ К ПОРТАМ ВВОДА/ВЫВОДА . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .178
5.3. KОНФИГУРИРОВАНИЕ ПОРТОВ ВВОДА/ВЫВОДА  . . . . . . . . . . . . . . . . . . . . . . . .182

ГЛАВА 6. ТАЙМЕРЫ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
6.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
6.2. НАЗНАЧЕНИЕ ВЫВОДОВ ТАЙМЕРОВ/СЧЕТЧИКОВ . . . . . . . . . . . . . . . . . . . . . . . 184
6.3. ТАЙМЕР/СЧЕТЧИК T0  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
6.4. ТАЙМЕР/СЧЕТЧИК T1  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
6.4.1. Выбор источника тактового сигнала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
6.4.2. Режим таймера  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
6.4.2.1. Функция захвата (Capture)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193
6.4.2.2. Функция сравнения (Compare)  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195
6.4.3. Режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197
6.5. ТАЙМЕР/СЧЕТЧИК T2  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200
6.5.1. Управление тактовым сигналом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.5.2. Режим таймера  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
6.5.3. Режим ШИМ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203
6.5.4. Асинхронный режим работы  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
6.6. СТОРОЖЕВОЙ ТАЙМЕР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208

ГЛАВА 7. АНАЛОГОВЫЙ КОМПАРАТОР  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211
7.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
7.2. ФУНКЦИОНИРОВАНИЕ КОМПАРАТОРА  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212

ГЛАВА 8. АНАЛОГОЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ  . . . . . . . . . . . . . . . . . . . . . . . . .215
8.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
8.2. ФУНКЦИОНИРОВАНИЕ МОДУЛЯ АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
8.3. ПОВЫШЕНИЕ ТОЧНОСТИ ПРЕОБРАЗОВАНИЯ  . . . . . . . . . . . . . . . . . . . . . . . . . . .221
8.4. ПАРАМЕТРЫ АЦП  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..223

ГЛАВА 9. УНИВЕРСАЛЬНЫЙ АСИНХРОННЫЙ
ПРИЕМОПЕРЕДАТЧИК . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.2. УПРАВЛЕНИЕ РАБОТОЙ UART  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226
9.3. ПЕРЕДАЧА ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229
9.4. ПРИЕМ ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230
9.5. МУЛЬТИПРОЦЕССОРНЫЙ РЕЖИМ РАБОТЫ UART  . . . . . . . . . . . . . . . . . . . . . . .233
9.6. СКОРОСТЬ ПРИЕМА/ПЕРЕДАЧИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

ГЛАВА 10. ПОСЛЕДОВАТЕЛЬНЫЙ ПЕРИФЕРИЙНЫЙ
ИНТЕРФЕЙС SPI  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
10.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
10.2. ФУНКЦИОНИРОВАНИЕ МОДУЛЯ SPI  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .238
10.3. РЕЖИМЫ ПЕРЕДАЧИ ДАННЫХ  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .242
10.4. ИСПОЛЬЗОВАНИЕ ВЫВОДА F65 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .244

ГЛАВА 11. ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ . . . . . . . . . . . . . . . . . . . 245
11.1. ОБЩИЕ СВЕДЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
11.2. ЗАЩИТА КОДА И ДАННЫХ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
11.3. KОНФИГУРАЦИОННЫЕ ЯЧЕЙКИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .246
11.4. ИДЕНТИФИКАТОР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .247
11.5. РЕЖИМ ПАРАЛЛЕЛЬНОГО ПРОГРАММИРОВАНИЯ  . . . . . . . . . . . . . . . . . . . . . . 248
11.5.1. Переключение в режим параллельного программирования . . . . . . . . . . . . . . . . . . . 252
11.5.2. Стирание кристалла   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253
11.5.3. Программирование FLASH памяти  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .254
11.5.4. Программирование EEPROM памяти  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
11.5.5. Kонфигурирование микроконтроллера  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .256
11.6. РЕЖИМЫ ПОСЛЕДОВАТЕЛЬНОГО ПРОГРАММИРОВАНИЯ  . . . . . . . . . . . . . . . 258
11.6.1. Режим последовательного программирования при высоком
напряжении (модели AT90S/LS2323 и AT90S/LS2343)  . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
11.6.2. Программирование по последовательному каналу  . . . . . . . . . . . . . . . . . . . . . . . . . 264

ПРИЛОЖЕНИЯ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Приложение I. Сводная таблица микроконтроллеров AVR семейства Classic . . . . . . . . . . 272
Приложение II. Чертежи корпусов микроконтроллеров AVR семейства Classic . . . . . . . . . 276
Приложение III. Электрические параметры микроконтроллеров AVR семейства Classic. . .279
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282


По всем вопросам, замечаниям и предложениям обращаться по этому адресу mister-grey@narod.ru

Copyright® Grey 2004-2007

Hosted by uCoz