Микроконтроллеры AVR
Информация\Микроконтроллеры\Микроконтроллеры фирмы Atmel\AVR-RISC микроконтроллеры
Здесь представлена информация по микроконтроллерам фирмы Atmel, в основном по микроконтроллерам AVR. Представлены для свободного скачивания книги и справочники. Вы можете здесь же заказать бумажный вариант книги.
AVR-RISC микроконтроллеры. Архитектура, аппаратные ресурсы, система команд, программирование, применение. Трамперт В., 2006г.
В книге дано исчерпывающее описание базовой серии микроконтроллеров семейства AVR от компании Amtel, построенных на базе прогрессивной архитектуры RISC, с применением программируемой памятью ERROM. Кроме того, подробно рассматривается программирование микроконтрол-леров данной серии на языке ассемблера, а также среда отладки AVR-Studio и программно-аппаратный набор STK200. Книга предназначена для всех, кто уже обладает основными познаниями в области построения и функционирования микрокомпьютеров, желает изучить однокристальные микроконтроллеры AVR и успешно претворять в жизнь задачи внутриплатного управления.
Год выпуска: 2006
Изд-во: МК-Пресс
ISBN: 966-8806-07-7
464 страниц
Содержание
ПРЕДИСЛОВИЕ..17
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ..19
1. ВВЕДЕНИЕ..20
АРХИТЕКТУРА RISC..20
ПРЕДСТАВИТЕЛИ БАЗОВОЙ СЕРИИ AVR..23
2. ОБЗОР..24
ОСНОВНЫЕ ХАРАКТЕРИСТИКИ СЕМЕЙСТВА МИКРОКОНТРОЛЛЕРОВ AVR..24
Арифметико-логическое устройство..25
Структура команд..25
Время выполнения команды..25
Архитектура памяти..25
Область ввода/вывода..26
Прерывания и подпрограммы..26
Периферийные функции..27
БЛОК-СХЕМА МИКРОКОНТРОЛЛЕРОВ AT90S1200 И AT90S8515..28
КОНСТРУКТИВНОЕ ИСПОЛНЕНИЕ КОРПУСОВ И РАСПОЛОЖЕНИЕ выводов..28
ГЕНЕРИРОВАНИЕ ТАКТА СИСТЕМНОЙ СИНХРОНИЗАЦИИ В МИКРОКОНТРОЛЛЕРАХ AVR..33
Интегрированный кварцевый осциллятор базовой серии микроконтроллеров AVR..33
Генерирование такта системной синхронизации с помощью контура RC-осциллятора..34
ПРОГРАММИРОВАНИЕ ДЛЯ AVR НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ С..35
СТЕНДОВЫЕ ИСПЫТАНИЯ ДЛЯ СРАВНЕНИЯ МИКРОКОНТРОЛЛЕРОВ AVR С ГЛАВНЫМИ КОНКУРЕНТАМИ..36
3. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР И ВНУТРЕННЯЯ ПАМЯТЬ..41
СИСТЕМА УПРАВЛЕНИЯ и АЛУ..41
СТАТИЧЕСКАЯ ПАМЯТЬ RAM (SRAM)..41
Организация статической памяти SRAM семейства микроконтроллеров AVR..43
Регистровый файл..44
Регистры двойной длины X, Y и Z..44 Область ввода/вывода..45
Регистр состояния (SREG)..48
Регистр управления MCU (MCUCR)..49
Внутренняя память SRAM..57
Внешняя память SRAM..52
Стек базовой серии микроконтроллеров AVR..54
Указатель стека..55
ПАМЯТЬ КОМАНД (ТЕХНОЛОГИЯ FLASH-EPROM)..59
Физическая организация флэш-памяти базовой серии микроконтроллеров
семейства AVR..60
Технологии памяти Flash-EPROM..60
Процесс программирования..61
Процесс стирания..63
ПАМЯТЬ ДЛЯ ЭНЕРГОНЕЗАВИСИМЫХ ДАННЫХ (ТЕХНОЛОГИЯ EEPROM)..64
Память данных типа EEPROM..64
Технология памяти EEPROM..64
Доступ ЦП к памяти EEPROM на запись/чтение..65
Регистр адреса EEAR памяти EEPROM..66
Регистр данных EEDR памяти EEPROM..66
Регистр управления EECR памяти EEPROM..66
Чтение памяти EEPROM (для всех типов микроконтроллеров базовой серии семейства AVR)..67
Запись в память EEPROM в микроконтроллерах AT90S2313,
AT90S4414uAT90S8515..67
Запись в память EEPROM в микроконтроллере A T90S1200..70
РАЗЛИЧНЫЕ СПОСОБЫ АДРЕСАЦИИ КОМАНД и ДАННЫХ..72
Прямая адресация одного регистра..72
Прямая адресация двух регистров Rd и Rr..73
Прямая адресация области ввода/вывода..73
Прямая адресация памяти данных (SRAM)..74
Косвенная адресация памяти данных (SRAM)..75
Косвенная адресация регистров в микроконтроллере A T90S1200..76
Косвенная адресация памяти данных с последующим приращением адреса..77
Косвенная адресация памяти данных с предварительным
уменьшением адреса..77
Относительная адресация памяти данных..78
Адресация констант в памяти программ..79
Прямая адресация памяти программ (команды jmp и call)..80
Косвенная адресация памяти программ (команды ijmp и icall)..81
Относительная адресация памяти программ (команды г jmp и rcall). 82
Время доступа к памяти и время выполнения команд..83
СБРОС и ОБРАБОТКА ПРЕРЫВАНИЙ..84
Сброс по включению питания..87
Внешний сброс..90
Сброс от сторожевого таймера..91
Обработка прерываний..91
Время ответа на прерывание..92
Внешние прерывания..92
Регистры GIMSK GIFR TIMSK TIFR..93
"СПЯЩИЕ" РЕЖИМЫ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА..97
4. ТАЙМЕРЫ/СЧЕТЧИКИ МИКРОКОНТРОЛЛЕРОВ БАЗОВОЙ СЕРИИ СЕМЕЙСТВА AVR..100
ПРЕДВАРИТЕЛЬНЫЙ ДЕЛИТЕЛЬ ЧАСТОТЫ И СХЕМА УПРАВЛЕНИЯ ТАЙМЕРОМ 100
ВОСЬМИРАЗРЯДНЫЙ ТАЙМЕР/СЧЕТЧИК Т/СО..102
Регистр управления TCCR0 таймера/счетчика Т/СО..104
Счетный регистр TCNT0 таймера/счетчика Т/СО..104
Области применения таймера/счетчика Т/СО..104
ШЕСТНАДЦАТИРАЗРЯДНЫЙ ТАЙМЕР/СЧЕТЧИК Т/С 1..104
Счетный регистр TCNT1..107
Регистр управления TCCR1A..108
Регистр управления TCCR1B..109
Регистр захвата на входе ICR1..113
Регистры сравнения на выходе OCR1A и OCR1B..113
Таймер/счетчик Т/С1 как широтно-импульсный модулятор..114
Области применения таймера/счетчика Т/С1..118
5. СТОРОЖЕВОЙ ТАЙМЕР..120
РЕГИСТР УПРАВЛЕНИЯ WDTCR..121
6. АСИНХРОННАЯ ПЕРЕДАЧА ДАННЫХ ЧЕРЕЗ ПРИЕМОПЕРЕДАТЧИК UART..123
РАСПРОСТРАНЕННЫЕ СТАНДАРТЫ АСИНХРОННОЙ ПЕРЕДАЧИ ДАННЫХ..123
ФОРМАТ ПЕРЕДАЧИ по АСИНХРОННОМУ ИНТЕРФЕЙСУ..127 ФИЗИЧЕСКОЕ УСТРОЙСТВО ПРИЕМОПЕРЕДАТЧИКА UART..129 Передающий элемент UART (трансмиттер)..130 Принимающий элемент приемопередатчика UART (ресивер)..131 РЕГИСТРЫ UART, ввода/вывода данных UDR, состояния USR, управления UCR ..134
Регистр скорости передачи данных UBRR..137
7. СИНХРОННАЯ ПЕРЕДАЧА ДАННЫХ ЧЕРЕЗ ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС (SPI)..139
ВХОДЫ И ВЫХОДЫ ИНТЕРФЕЙСА SPI..141
ПРОТОКОЛ ПЕРЕДАЧИ..144
СИСТЕМНЫЕ КОНФЛИКТЫ SPI..147
РЕГИСТР УПРАВЛЕНИЯ SPCR..148
РЕГИСТР состояния SPSR..149
РЕГИСТР ДАННЫХ SPDR..149
8. ПОСЛЕДОВАТЕЛЬНАЯ ПЕРЕДАЧА ДАННЫХ ПО ШИНЕ I2С..151
ПРИНЦИП ДЕЙСТВИЯ шины 12С..152
Линия SCL..152
Линия SDA..153
РЕЖИМЫ РАБОТЫ БЛОКОВ, ПОДСОЕДИНЕННЫХ С ПОМОЩЬЮ ШИНЫ 12С..154
ЭЛЕКТРИЧЕСКИЕ СВОЙСТВА..155
ПРОТОКОЛ шины..155
Занятость шины..755
Условие начала передачи..156
Процесс передачи данных..156
Бит подтверждения..156
Освобождение шины передачи данных..157
Условие завершения передачи..158
АДРЕСАЦИЯ ВЕДОМЫХ УСТРОЙСТВ..158
Адрес ведомого устройства..158
Постоянная часть адреса ведомого устройства..159
Переменная часть адреса ведомого устройства..159
Разряд направления передачи данных..159
ОСОБЫЕ СЛУЧАИ..161
Повторение условия начала передачи..161
Чтение-модификация-записъ..161
Задержка такта..162
Синхронизация такта..162
АРБИТРАЖ ШИНЫ ПРИ РАБОТЕ С НЕСКОЛЬКИМИ ВЕДУЩИМИ УСТРОЙСТВАМИ. 164
СИНХРОНИЗАЦИЯ ШИНЫ 12С..165
ОБРАЩЕНИЕ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА AVR к ШИНЕ 12С..165
9. ИНТЕГРИРОВАННЫЙ АНАЛОГОВЫЙ КОМПАРАТОР..166
РЕГИСТР УПРАВЛЕНИЯ и состояния
10. ПОРТЫ ВВОДА/ВЫВОДА..169
ПОРТА..172
Регистр данных порта А..172
Регистр направления передачи данных DDRA..172
Адреса порта А ? выводы PINA..172
ПОРТ В..173
Регистр данных порта В..173
Регистр направления передачи данных DDRB..175
Адреса порта В ? выводы PINB..775
ПОРТ С..175
Регистр данных порта С..775
Регистр направления передачи данных DDRC..776
Адреса порта С ? выводы PINC..776
ПОРТБ..176
Регистр данных порта D..776
Регистр направления передачи данных DDRD..177
Адреса порта D ? выводы PIND..178
ВЫХОД С ОТКРЫТЫМ КОЛЛЕКТОРОМ..178
11. ПРОГРАММИРОВАНИЕ ПАМЯТИ..179
РАЗРЯДЫ БЛОКИРОВКИ ПАМЯТИ ПРОГРАММ LB1 и LB2..179
РАЗРЯДЫ ПРЕДОХРАНЕНИЯ RCEN, FSTRT и SPIEN..179
БАЙТЫ СИГНАТУРЫ..180
ПРОЦЕСС ПРОГРАММИРОВАНИЯ..180
Параллельный режим программирования..181
Считывание запрограммированных данных из флэш-памяти..187
Программирование памяти EEPROM..188
Чтение памяти EEPROM..188
Программирование разрядов предохранения..190
Программирование разрядов блокировки..190
Считывание разрядов предохранения и блокировки..190
Считывание байтов сигнатурны..191
Параметры параллельного режима программирования..191
Последовательный режим программирования..192
Алгоритм последовательного программирования..194
Опрос для установления окончания процесса программирования..197
Параметры последовательного режима программирования..197
12. СИСТЕМА КОМАНД..199
РАЗРЯДЫ УСЛОВИЙ (ФЛАГИ) МИКРОКОНТРОЛЛЕРОВ AVR..200
Разряд 0 С (флаг переноса)..201
Разряд 1 Z (нулевой флаг)..203
Разряд 2 N (флаг отрицательного результата)..203
Разряд 3 V (переполнение при вычислениях в дополнительных кодах). 203
Разряд 4 S (флаг знака)..204
Разряд 5 Н (флаг половинного переноса)..204
Разряд 6 Т (флаг копирования)..205
Разряд 7 I (общее разрешение прерываний)..205
Условный переход в программе..205
ОБЗОР КОМАНД МИКРОКОНТРОЛЛЕРОВ AVR..206
ОПИСАНИЕ КОМАНД МИКРОКОНТРОЛЛЕРОВ AVR..222
ADC, ADD, ADIW, AND, ANDI, ASR, BCLR, BLD, BRBC, BRBS, BRCC, BRCS, BREQ- BST..222
CALL- LD(LDD)..237
Косвенная загрузка из SRAM в регистр с помощью указателя X..248
Косвенная загрузка из SRAM в регистр с помощью указателя Y..249
Косвенная загрузка из SRAM в регистр с помощью указателя Z..250
LDI.--- ST(STD)..251
Косвенное сохранение содержимого регистра в SRAM с помощью указателя X ..269
Косвенное сохранение содержимого регистра в SRAM с помощью указателя Y ..270
Косвенное сохранение содержимого регистра в SRAM с помощью указателя Z..271
STS-- WDR..272
13. АССЕМБЛЕР..275
УСТАНОВКА AVR-АССЕМБЛЕРА..279
СИНТАКСИС АССЕМБЛЕРА..280
РАБОТА С AVR-АССЕМБЛЕРОМ..281
Кнопки панели инструментов..281
Меню AVR-ассемблера WAVRASM..282
Меню Window..283
ПОИСК ОШИБОК..283
ДИРЕКТИВЫ АССЕМБЛЕРА..284
Директива .BYTE, CSEG, DB, DEF, DEVICE, DSEG, DW, ENDMACRO, EQU ..285
Директива .ESEG, EXIT, INCLUDE, LIST, LISTMAC, MACRO, NOLIST, ORG, SET..289
ВЫРАЖЕНИЯ..293
Операнды..293
Функции..293
Операторы..294
14. ОТЛАДКА ПРОГРАММ В СРЕДЕ AVR-STUDIO..298
УСТАНОВКА AVR-STUDIO..298
ОБЗОР..299
ОКНА AVR-STUDIO..300
Окно исходного кода..300
Окно Registers, Processor, Memory, 10, Watch, Trace, Message..301
МЕНЮ AVR-STUDIO..308
Меню File..308
Меню правки Edit, Debug, Breakpoint, Trace & Triggers, Watch, Options, Views ..309
Меню Debug для управления ходом программы..309
Меню Window и Help..312
МОДУЛИ ВВОДА/ВЫВОДА СИМУЛЯТОРА..312
15. НАБОР STK200 ДЛЯ ТЕСТИРОВАНИЯ И ЗАПИСИ В ПАМЯТЬ СОБСТВЕННЫХ ПРОГРАММ..314
ОПИСАНИЕ АППАРАТНОЙ ЧАСТИ STK200..315
Организация питания STK200..316
Обнаружение провалов напряжения в STK200..316
Функции перемычек STK200..317
Подключения портов STK200..318
Интерфейс ISP STK200..319
RS232-интерфейс STK200..319
ЖКИ-интерфейс STK200..320
Встроенный кварцевый осциллятор STK200..322
Восемь индикаторных светодиодов на STK200..322
Восемь кнопочных выключателей на STK200..323
Расширение памяти в STK200..323
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ STK200..323
Меню программного обеспечения ISP..324
Панель инструментов среды 1SP..326
16. ПРИМЕНЕНИЕ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА AVR..327
СРЕДСТВА ДВОИЧНО-ДЕСЯТИЧНОЙ АРИФМЕТИКИ..327
Преобразование шестнадцатеричного числа в BCD-число..332
Преобразование простой двоичной дроби в BCD-дробь..332
Преобразование BCD-числа в шестнадцатеричное число..332
Сложение BCD-чисел..333
Вычитание BCD-чисел..334
БАЗОВЫЕ ОПЕРАЦИИ ВВОДА/ВЫВОДА..334
ПОДКЛЮЧЕНИЕ ЖК-МОДУЛЕЙ..341
Подключение модуля HD44780..341
Регистры модуля HD44780..342
Память модуля HD44780..343
Знакогенератор модуля HD44780..344
Разработка собственных символов..344
Сброс табло..345
Система команд HD44780..347
Пример для подключения двухстрочного табло по 16 знаков в строке. 350
Описание подпрограмм..356
Описание главной программы..357
ФОРМИРОВАНИЕ ИМПУЛЬСОВ ОПРЕДЕЛЕННОЙ ДЛИНЫ С ПОМОЩЬЮ Т/СО..357
Описание программы..358
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АВТОМАТИЧЕСКОЙ ПЕРЕЗАГРУЗКИ Т/СО..360
Описание подпрограммы обработки прерывания..362
Время выполнения подпрограммы обработки прерывания таймера 0..363
Описание главной программы..363
ВЫРАБОТКА С ПОМОЩЬЮ Т/С1 ИМПУЛЬСОВ С ЧАСТОТОЙ 50 ГЦ И
КОЭФФИЦИЕНТОМ ЗАПОЛНЕНИЯ 0,025..364
Описание подпрограммы обработки прерывания..367
Описание главной программы..367
ТРЕХКАНАЛЬНЫЙ ЦАП С РАЗРЕШЕНИЕМ 10 РАЗРЯДОВ..369
Описание подпрограммы обработки прерывания от Т/СО..378
Время выполнения подпрограммы обработки прерывания от таймера 0. 379
Описание главной программы..380
Измерения..380
ЧЕТЫРЕХКАНАЛЬНЫЙ АЦП С ДВОЙНЫМ ИНТЕГРИРОВАНИЕМ И РАЗРЕШЕНИЕМ 11 РАЗРЯДОВ..381
Описание подпрограмм..388
Описание главной программы..388
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ПРИЕМОПЕРЕДАТЧИКА UART для
МИКРОКОНТРОЛЛЕРА AT90S1200..392
ПОДКЛЮЧЕНИЕ К МИКРОКОНТРОЛЛЕРУ AT90S8515 МИКРОСХЕМЫ ЦАП
МАХ5154 ЧЕРЕЗ ИНТЕРФЕЙС SPI..399
РАСШИРЕНИЕ ПОРТОВ ВВОДА/ВЫВОДА МИКРОКОНТРОЛЛЕРА AT90S4414
с помощью ИНТЕРФЕЙСА SPI..407
Описание подпрограммы..411
Описание главной программы..412
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ИНТЕРФЕЙСА SPI для МОДЕЛИ AT90S1200
ПРИ ПОДКЛЮЧЕНИИ АЦП..413
Описание программы..418
ПОДКЛЮЧЕНИЕ к ШИНЕ 12С ДАТЧИКА ТЕМПЕРАТУРЫ LM75..419
ПОДКЛЮЧЕНИЕ К ШИНЕ 12С СХЕМЫ SAA1064 УПРАВЛЕНИЯ
ЧЕТЫРЕХРАЗРЯДНЫМ СВЕТОДИОДНЫМ ТАБЛО..424
ИСПОЛЬЗОВАНИЕ МИКРОКОНТРОЛЛЕРА AVR в КАЧЕСТВЕ ВЕДУЩЕГО
УСТРОЙСТВА 12С..429
Описание подпрограмм..438
Описание главной программы..441
17. ПРИЛОЖЕНИЕ..443
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА AVR 443
ДОКУМЕНТИРОВАННЫЕ КОМПАНИЕЙ ATMEL ОШИБКИ И ПУТИ ИХ УСТРАНЕНИЯ..443
18. СОДЕРЖИМОЕ ПРИЛАГАЕМОГО К КНИГЕ КОМПАКТ-ДИСКА..445
ПАПКА DATEN..445
ПАПКА ATMEL..446
Подпапка Sheets..446 Подпапка Applicat..446
Подпапка Software..441
Подпапка Tools..448
ПАПКА PROGRAMM..449
INTERNET-ССЫЛКИ..450
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ..451
Комментарии