Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. Ревич Ю. В. 2008

Изложены основные принципы функционирования и особенности архитектуры микроконтроллеров Atmel AVR. Подробно описаны приемы программирования микросхем этого семейства и их отдельных узлов. Вы найдете готовые рецепты для программирования большинства основных функций современной микроэлектронной аппаратуры: от реакции на нажатие кнопки или построения динамической индикации до сложных протоколов записи данных во внешнюю память или особенностей подключения часов реального времени. В книге учтены особенности современных моделей AVR и сопутствующих микросхем последних лет выпуска. Особое внимание уделяется обмену данными микроэлектронных устройств с персональным компьютером, приводятся примеры программ на Delphi. Приложение содержит основные параметры микроконтроллеров AVR, перечень команд и тексты программ для них, а также список используемых терминов и аббревиатур.

Год выпуска: 2008
Автор: Ревич Ю. В.
Жанр:
Издательство: СПб.: БХВ-Петербург
Формат: DjVu
Размер: 5,3 МБ
Качество: Отсканированные страницы
Количество страниц: 384

Скачать книгу >>>>> Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. Ревич Ю. В. 2008

Программа для чтения книги: DjVuReader

Скачать книгу - Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера. Ревич Ю. В. 2008


Оглавление

Введение. Микроконтроллеры, их возникновение и применение 9
Предыстория микроконтроллеров 10
Электроника в греческом стиле 13
Почему AVR? 15
Что дальше? 17

ЧАСТЬ I. ОБЩИЕ ПРИНЦИПЫ УСТРОЙСТВА И ФУНКЦИОНИРОВАНИЯ ATMEL AVR 19

Глава 1. Обзор микроконтроллеров Atmel AVR 21

Семейства AVR " 23
Особенности практического использования МК AVR 25
О потреблении 26
Некоторые особенности применения AVR в схемах 28

Глава 2. Общее устройство, организация памяти, тактирование, сброс 30
Память программ 30
Память данных (ОЗУ, SRAM) 32
Энергонезависимая память данных (EEPROM) 34
Способы тактирования 36
Сброс 38

Глава 3. Знакомство с периферийными устройствами 41
Порты ввода-вывода 42
Таймеры-счетчики 44
Аналогово-цифровой преобразователь 45
Последовательные порты - 47
UART 48
Интерфейс SPI '. 52
Интерфейс TWI (12С) 55
Универсальный последовательный интерфейс USI 56

Глава 4. Прерывания и режимы энергосбережения 58
Прерывания '. 58
Разновидности прерываний 62
Режимы энергосбережения : 64

ЧАСТЬ II. ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ ATMEL AVR 67

Глава 5. Общие принципы программирования МК семейства AVR 69

Ассемблер или С? o 69
Способы и средства программирования AVR 74
Редактор кода 74
Об AVR Studio 75
Обустройство ассемблера 77
Программаторы 78
О hex-файлах 83
Команды, инструкции и нотация AVR-ассемблера 86
Числа и выражения 87
Директивы и функции 89
Общая структура AVR-программы 93
Обработка прерываний 95
RESET 98
Простейшая программа o ЮО
Задержка 102
Программа счетчика 104
Использование прерываний 107
Задержка по таймеру 108
Программа счетчика с использованием прерываний 109
О конфигурационных битах 112

Глава 6. Система команд AVR 116
Команды передачи управления и регистр SREG 116
Команды проверки-пропуска 123
Команды логических операций 126
Команды сдвига и операции с битами 127
Команды арифметических операций 129
Команды пересылки данных 131
Команды управления системой 136
Выполнение типовых процедур на ассемблере 137
О стеке, локальных и глобальных переменных 139

Глава 7. Арифметические операции 140
Стандартные арифметические операции 141
Умножение многоразрядных чисел 142
Деление многоразрядных чисел 145
Операции с дробными числами 148
Генератор случайных чисел 150
Операции с числами в формате BCD 153
Отрицательные числа в МК 158

Глава 8. Программирование таймеров 161
8- и 16-разрядные таймеры 161
Формирование заданного значения частоты 164
Отсчет времени 167
Точная коррекция времени 173
Частотомер и периодомер 176
Частотомер 176
Периодомер 180
Управление динамической индикацией 184
ЬЕРгИндикаторы и их подключение 184
Программирование динамической индикации 189
Таймеры в режиме PWM 191

Глава 9. Использование EEPROM 198
Еще раз о сохранности данных в EEPROM 199
Запись и чтение EEPROM 200
Хранение констант в EEPROM 203

Глава 10. Аналоговый компаратор и АЦП 207
Аналого-цифровые операции и их погрешности 207
Работа с аналоговым компаратором 210
Интегрирующий АЦП на компараторе 214
Принцип работы и расчетные формулы 215
Программа интегрирующего АЦП 220
Встроенный АЦП ^ : : 223
Пример использования АЦП 227
Программа 229

Глава 11. Программирование SPI 237
Основные операции через SPI 'o 238
Аппаратный вариант 238
Программный вариант 240
О разновидностях энергонезависимой памяти o 242
Запись и чтение flash-памяти через SPI ,..,..244
Программа обмена с памятью 45DB01 IB по SPI 247
Запись и чтение flash-карт : 248
Подключение карт ММС 249
Подача команд и инициализация ММС 251
Запись и чтение ММС 256

Глава 12. Интерфейс TWI (12С) и его практическое
использование 261
Базовый протокол 12С 261
Программная эмуляция протокола !2С 264
Запись данных во внешнюю энергонезависимую память 266
Режимы обмена с памятью АТ24 266
Программа 268
Часы с интерфейсом 12С 273
Запись данных 281
Чтение данных ...286

Глава 13. Программирование UART/USART 288
Инициализация UART 289
Передача и прием данных 290
Пример установки часов DS1307 с помощью UART 294
Приемы защиты от сбоев при коммуникации 299
Проверка на четность 299
Как организовать корректный обмен 301
Дополнительные возможности USART 303
Реализация интерфейсов RS-232 и RS-485 305
Преобразователи уровня для RS-232 309
RS-485 313

Глава 14. Режимы энергосбережения и сторожевой таймер 315
Программирование режима энергосбережения 316
Пример прибора с батарейным питанием 317
Доработка программы 320
Использование сторожевого таймера 324

ПРИЛОЖЕНИЯ 331
Приложение 1. Основные параметры микроконтроллеров

Atmel AVR 333

Приложение 2. Команды Atmel AVR 341
Арифметические и логические команды 342
Команды операций с битами 343
Команды сравнения 345
Команды передачи управления 345
Команды безусловного перехода и вызова подпрограмм 346
Команды проверка-пропуск и команды условного перехода 346
Команды переноса данных 348
Команды управления системой 349

Приложение 3. Тексты программ 350
Демонстрационная программа обмена данными с flash-памятью 45DB011В
по интерфейсу SPI 350
Процедуры обмена по интерфейсу 12С 355

Приложение 4. Обмен данными с персональным компьютером и отладка программ через UART 362
Работа с СОМ-портом в Delphi 363
Установка линии RTS в DOS и Windows 369
Программа СОМ2000 371
Отладка программ с помощью эмулятора терминала 373

Приложение 5. Словарь часто встречающихся аббревиатур и терминов 375

Литература 381
Предметный указатель 383








© 2008 Электроника для начинающих | Programming V.Lasto | Povered by Nano-CMS | Designer S.Gordi