Название: Программирование на языке С для AVR и PIC микроконтроллеров, 2-е издание + CD Издательство: МК-Пресс, КОРОНА-ВЕК Автор: Ю.А. Шпак ISBN: 978-966-8806-67-4, 978-5-7931-0842-3 Год: 2011 Страниц: 544 Формат: djvu Размер: 700 Мб Язык: русский
О книге: Книга Программирование на языке С для AVR и PIC микроконтроллеров посвящается программированию на языке C, как микроконтроллеров AVR с применением компиляторов CodeVisionAVR и WinAVR, так и микроконтроллеров PIC с применением mikroC, CCS-PICC и СЗО/32. В ней дано аппаратное обеспечение, архитектура и восьмиразрядных микроконтроллеров PIC и AVR, и семейств ATxmega, PIC32 и PIC24 и многое другое. На CD, прилагаемом к ней, приведены технические описания микроконтроллеров и устройств, представленных в книге, примеры программ и установочные пакеты программных средств.
ПРЕДИСЛОВИЕ КО 2-МУ ИЗДАНИЮ ВВЕДЕНИЕ ЧАСТЬ I. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ AVR ГЛАВА 1. ВОСЬМИРАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ AYR СЕМЕЙСТВА ВОСЬМИРАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ AVR ОТЛАДОЧНАЯ ПЛАТА Платы STK500 и STK600 СХЕМА БАЗОВОГО МОНТАЖА СТРУКТУРА МИКРОКОНТРОЛЛЕРОВ AYR Организация памяти Память SRAM Память программ Память данных типа EEPROM Порты Подтягивающее сопротивление Регистры управления портом Таймеры/счетчики Т/СО T/C1 Т/С2 Сторожевой таймер Обработка прерываний Управление прерываниями Сброс "Спящие" режимы процессора Последовательный ввод/вывод Приемопередатчик UART Приемопередатчик USART Синхронная передача данных по интерфейсу SPI Работа приемопередатчика US ART в режиме SPI Синхронная передача данных по интерфейсу I2C (TWI) Универсальный последовательный интерфейс USI Модули последовательного ввода/вывода в семействах AT90S, ATtiny и ATmega Аналого-цифровое преобразование Встроенный аналоговый компаратор ПРОГРАММИРОВАНИЕ ПАМЯТИ Разряды предохранения Параллельное программирование Переход в режим параллельного программирования Очистка кристалла Программирование и чтение памяти программ Программирование разрядов блокировки и предохранения Последовательное программирование ТЕХНОЛОГИЯ PICOPOWER ГЛАВА 2. СЕМЕЙСТВО AVR ATXMEGA ОБЗОР ВОЗМОЖНОСТЕЙ МИКРОКОНТРОЛЛЕРОВ ATXMEGA А ОРГАНИЗАЦИЯ ПАМЯТИ СЕМЕЙСТВА ATXMEGA Область ввода/вывода семейства ATxmega Арбитраж шины данных Память программ КОНТРОЛЛЕР ПРЯМОГО ДОСТУПА К ПАМЯТИ СИСТЕМА ОБРАБОТКИ СОБЫТИЙ Генерирование событий вручную Фильтрация Квадратурный дешифратор СИСТЕМА СИНХРОНИЗАЦИИ Выбор источника тактового сигнала системной синхронизации СЧЕТЧИКИ РЕАЛЬНОГО ВРЕМЕНИ Счетчик RTC Счетчик RTC32 МОДУЛЬ ПИТАНИЯ ОТ БАТАРЕИ ОБРАБОТКА ПРЕРЫВАНИЙ Немаскируемые прерывания Регистр управления контроллером прерываний АНАЛОГО-ЦИФРОВОЕ ПРЕОБРАЗОВАНИЕ Конфигурирование АЦП Выбор разрешения преобразования Выбор очередности преобразований в каналах Выбор режима измерения Выбор опорного напряжения Выбор коэффициента деления частоты тактирования Результаты измерения Прерывание от АЦП ЦИФРО-АНАЛОГОВОЕ ПРЕОБРАЗОВАНИЕ Начало преобразования Ограничения на время преобразования АНАЛОГОВЫЙ КОМПАРАТОР Режимы работы компаратора СРЕДСТВА ШИФРОВАНИЯ Модуль шифрования AES МОДУЛЬ ОБМЕНА ДАННЫМИ ПО ИНФРАКРАСНОМУ КАНАЛУ ЧАСТЬ II. КОМПИЛЯТОРЫ И СРЕДСТВА РАЗРАБОТКИ ДЛЯ МИКРОКОНТРОЛЛЕРОВ AVR ГЛАВА 3. КОМПИЛЯТОР WINAVR ГЛАВА 4. СРЕДА РАЗРАБОТКИ AVR STUDIO ЭМУЛЯЦИЯ Окно MEMORY Окно REGISTER Окно WATCH ОТЛАДКА ПРОГРАММЫ НАСТРОЙКА ПАРАМЕТРОВ ИМИТАТОРА СОЗДАНИЕ ПРОЕКТА И КОМПИЛЯЦИЯ ПРОГРАММЫ Компиляция проекта ГЛАВА 5. СРЕДА РАЗРАБОТКИ CODEVISIONAVR КОМПИЛЯЦИЯ И ПОСТРОЕНИЕ ПРОЕКТА СОЗДАНИЕ ПРОЕКТА С ПОМОЩЬЮ МАСТЕРА CODEWIZARDAVR Сохранение и открытие проекта CodeWizardAVR СОЗДАНИЕ НОВЫХ ФАЙЛОВ С ИСХОДНЫМ КОДОМ ОТЛАДКА ПРОГРАММЫ Использование терминала ГЛАВА 6. ПРОГРАММАТОРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ AVR ПРОГРАММНЫЕ СРЕДСТВА ДЛЯ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ Программирование устройства в среде A VR Studio 4 Программирование устройства в среде CodeVisionAVR ЧАСТЬ 111. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ PIC ГДАВА 7. ВОСЬМИРАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ PIC ОБЩИЕ АСПЕКТЫ АРХИТЕКТУРЫ ВОСЬМИРАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ PIC Организация памяти Организация тактирования Порты Таймеры TMR0 и сторожевой таймер TMR1 TMR2 Модуль ССР Обработка прерываний Микроконтроллеры серии Р1С17Сх Микроконтроллеры серии Р1С18Сх Сброс Последовательный обмен данными Приемопередатчик USART Синхронная передача данных по интерфейсу SPI Синхронная передача данных по интерфейсу 12С Аналого-цифровое преобразование Встроенный аналоговый компаратор СЕМЕЙСТВО МИКРОКОНТРОЛЛЕРОВ PIC16 Микроконтроллер 16F84A Регистр состояния Организация памяти Слово конфигурации Память EEPROM МИКРОКОНТРОЛЛЕРЫ СЕРИИ 12F50X ГЛАВА 8. СЕМЕЙСТВО PIC18F ОРГАНИЗАЦИЯ ПАМЯТИ Конфигурационные регистры ОРГАНИЗАЦИЯ ТАКТИРОВАНИЯ Внутренний осциллятор Переключение источника тактирования ТАЙМЕРЫ TMR0 TMR1 TMR3 АЦП: ОБРАБОТКА ПРЕРЫВАНИЙ ГЛАВА 9. СЕМЕЙСТВО PIC24 ПОРТЫ ТАЙМЕРЫ ПРЕРЫВАНИЯ Вложение прерываний Системные прерывания Окно PROGRAM SPACE VISIBILITY ИНТЕРФЕЙС SPI ПОРТ РМР АЦП МОДУЛЬ CTMU Измерение заряда конденсатора Измерение времени Формирование импульсных последовательностей и задержек ГЛАВА 10. СЕМЕЙСТВО PIC32 ПОРТЫ ТАЙМЕРЫ СИСТЕМНАЯ ШИНА ОРГАНИЗАЦИЯ ПАМЯТИ ПРЕРЫВАНИЯ И ИСКЛЮЧЕНИЯ СИСТЕМА ТАКТИРОВАНИЯ ИНТЕРФЕЙС SPI ПОРТ РМР АЦП МОДУЛЬ СРАВНЕНИЯ НА ВЫХОДЕ ЧАСТЬ IV. КОМПИЛЯТОРЫ И СРЕДСТВА РАЗРАБОТКИ ДЛЯ МИКРОКОНТРОЛЛЕРОВ PIC ГЛАВА 11. КОМПИЛЯТОР CCS-PICC СОЗДАНИЕ ПРОЕКТОВ CCS-PICC ВРУЧНУЮ СОЗДАНИЕ ПРОЕКТОВ CCS-PICC с помощью PIC WIZARD СОЗДАНИЕ ПРОЕКТОВ CCS-PICC с помощью PIC24 WIZARD ОТКРЫТИЕ И ДОБАВЛЕНИЕ В ПРОЕКТ ФАЙЛОВ С ИСХОДНЫМ КОДОМ КОМПИЛЯЦИЯ ПРОЕКТА МЕНЮ TOOLS ГЛАВА 12. ЭМУЛЯЦИЯ И ОТЛАДКА ПРОГРАММ В СРЕДЕ MPLAB РАБОЧАЯ ОБЛАСТЬ И ПРОЕКТ MPLAB КОМПИЛЯЦИЯ ПОД УПРАВЛЕНИЕМ MPLAB НАСТРОЙКА РЕЖИМА ОТЛАДКИ/ЭМУЛЯЦИИ РАБОТА В РЕЖИМЕ ОТЛАДКИ/ЭМУЛЯЦИИ ОКНА ОТЛАДЧИКА ГЛАВА 13. КОМПИЛЯТОР MIKROC СОЗДАНИЕ ПРОЕКТА MIKROC Компиляция ПРОЕКТА ДОБАВЛЕНИЕ В ПРОЕКТ ФАЙЛОВ С ИСХОДНЫМ КОДОМ ЭМУЛЯЦИЯ ВЫПОЛНЕНИЯ ПРОГРАММЫ ВСПОМОГАТЕЛЬНЫЕ ИНСТРУМЕНТЫ СРЕДЫ MIKROC ГЛАВА 14. КОМПИЛЯТОРЫ СЗО И С32 КОМПИЛЯТОР СЗО КОМПИЛЯТОР С32 ГЛАВА 15. ПРОГРАММАТОРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ PIC ПРОГРАММНЫЕ СРЕДСТВА ДЛЯ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ Программирование устройства в среде mikroC ЧАСТЬ V. ЯЗЫК С И ДИРЕКТИВЫ ПРЕПРОЦЕССОРА ГЛАВА 16. Основы ЯЗЫКА С ВВОДНЫЕ ПОНЯТИЯ СТРУКТУРА ПРОГРАММЫ НА С Типы ДАННЫХ, ПЕРЕМЕННЫЕ, КОНСТАНТЫ Правила преобразований из одной системы счисления в другую Тип char Пользовательские типы Переменные Область видимости переменных Константы Перечислимые типы Приведение типов Оператор sizeof ФУНКЦИИ Возвращаемые значения Прототипы функций Классы памяти при объявлении локальных переменных Рекурсия СТРУКТУРЫ УКАЗАТЕЛИ И АДРЕСА ПЕРЕМЕННЫХ Передача в функции параметров по ссылке Указатели на структуры МАССИВЫ И СТРОКИ Строки Многомерные массивы ОПЕРАТОРЫ ВЕТВЛЕНИЯ Оператор if-else Условные выражения Оператор switch-case ЦИКЛИЧЕСКИЕ КОНСТРУКЦИИ Конструкция while Конструкция for Конструкция do-while Организация бесконечных циклов Операторы break и continue СТАНДАРТНЫЕ ФУНКЦИИ ВВОДА/ВЫВОДА Ввод/вывод символов с помощью функций getcharQ и putcharQ Функции вывода строк putsQ и printfO Функции ввода строк getsQ и scanfO ДИРЕКТИВЫ ПРЕПРОЦЕССОРА Директива #include Директива Mefine Директивы условной компиляции Директива terror Директива ftpragma компилятора CodeVisionA VR Директивы, характерные для компилятора CCS-PICC. Директива #bit Директива #byte Директива #case Директива #device Директива #fiise Директива #locate Директива #org Директива #opt Директива #priority Директива #reserve Директива #г6ш Директива #type Директива #use delay Директива #use xxxjo Директива #use i2c Директива #use rs232 Директива #zero_ram ОБРАБОТКА ПРЕРЫВАНИЙ Обработка прерываний в среде WinA VR Обработка прерываний в среде CodeVisionAVR Обработка прерываний в среде CCS-PICC Обработка прерываний в среде mikroC Обработка прерываний в среде С30 Обработка прерываний в среде С32 ИСПОЛНЕНИЕ АССЕМБЛЕРНОГО КОДА Использование ассемблера в компиляторе WinAVR Ассемблерный код Входные и выходные операнды Резервирование регистров Использование ассемблера в компиляторе CodeVisionAVR Использование ассемблера в компиляторе CCS-PICC Использование ассемблера в компиляторе mikroC. Использование ассемблера в компиляторах СЗО и С32 ГЛАВА 17. ФУНКЦИИ И МАКРОСЫ ЯЗЫКА С для РАЗЛИЧНЫХ КОМПИЛЯТОРОВ СТАНДАРТНЫЕ ФУНКЦИИ ЯЗЫКА С Функции для работы со строками Функции для работы с символами Функции для работы со случайными числами Функции для работы с памятью ФУНКЦИИ И МАКРОСЫ КОМПИЛЯТОРА WIN AVR Математические макросы и функции Функции для работы со строками Функции для работы с символами Макросы и функции для организации ввода/вывода Функции управления микроконтроллером Макросы для работы со сторожевым таймером Функции для работы со случайными числами Функции для работы с памятью Макросы для обработки прерываний. Макросы и функции для работы с памятью EEPROM. ФУНКЦИИ И МАКРОСЫ КОМПИЛЯТОРА CODEVISIONAVR Математические макросы и функции Функции для работы со строками Функции для работы с символами Функции управления микроконтроллером Функции для организации ввода/вывода. Функции для работы с памятью Функции для работы с интерфейсом fC ФУНКЦИИ И МАКРОСЫ КОМПИЛЯТОРА CCS-PICC Математические макросы Функции для работы со строками Функции для организации ввода/вывода. Функции управления микроконтроллером Функции для работы с таймерами и модулем ССР Функции для работы с разрядами и памятью Функции для работы с памятью EEPROM Функции для работы с интерфейсом SPI Функции для работы с интерфейсом PSP Функции для работы с интерфейсом fC Функции для работы с аналоговыми сигналами ФУНКЦИИ КОМПИЛЯТОРА MIKROC Математические функции Функции для работы со строками Функции преобразований Функции управления микроконтроллером Функции для работы с периферийными устройствами Функции для работы с памятью EEPROMu Flash Функции для работы с интерфейсом fC Функции для работы с интерфейсом SPI ЧАСТЬ VI. ПРОГРАММНЫЕ ПРИМЕРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ AVR ГЛАВА 18. ПРИМЕРЫ ДЛЯ КОМПИЛЯТОРА WINAVR УПРАВЛЕНИЕ ЖК-ДИСПЛЕЕМ GPS-НАВИГАТОР ГЛАВА 19. ПРИМЕРЫ ДЛЯ КОМПИЛЯТОРА CODEVISIONAVR УПРАВЛЕНИЕ АНАЛОГО-ЦИФРОВЫМ ПРЕОБРАЗОВАНИЕМ ИЗМЕРЕНИЕ ТЕМПЕРАТУРЫ ЧАСТЬ VII. ПРОГРАММНЫЕ ПРИМЕРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ PIC ГЛАВА 20. ПРИМЕРЫ ДЛЯ КОМПИЛЯТОРА CCS-PICC ОТОБРАЖЕНИЕ СОСТОЯНИЯ ВЫВОДОВ ПОРТА УПРАВЛЕНИЕ ЧАСТОТОЙ МЕРЦАНИЯ СВЕТОДИОДОВ С ПОМОЩЬЮ РАЗЛИЧНЫХ ТАЙМЕРОВ УПРАВЛЕНИЕ СВЕТОФОРАМИ НА ПЕРЕКРЕСТКЕ ОБМЕН ДАННЫМИ В РЕЖИМЕ PSP КОНТРОЛЬ ПРЕДЕЛЬНОЙ СКОРОСТИ ВРАЩЕНИЯ ДВИГАТЕЛЯ ГЛАВА 21. ПРИМЕРЫ ДЛЯ КОМПИЛЯТОРА MIKROC ИГРАЛЬНЫЕ "КОСТИ" ВОЛЬТМЕТР С ЖК-ДИСПЛЕЕМ КАЛЬКУЛЯТОР ГЛАВА 22. ПРИМЕРЫ для КОМПИЛЯТОРА СЗО ИСПОЛЬЗОВАНИЕ ПОРТА РМР Небольшая библиотека функций для доступа к ЖК-модулю Расширенное управление ЖК-дисплеем РАБОТА С АЦП Считывание уровня напряжения с потенциометра Измерение температуры ГЛАВА 23. ПРИМЕРЫ ДЛЯ КОМПИЛЯТОРА С32 РАБОТА С ИНТЕРФЕЙСОМ SPI РАБОТА С МОДУЛЕМ UART ЧАСТЬ VID. ПРИЛОЖЕНИЯ ПРИЛОЖЕНИЕ А. ТАБЛИЦА СИМВОЛОВ ASCH ПРИЛОЖЕНИЕ Б. ПРЕОБРАЗОВАНИЕ ИЗ ОДНОЙ СИСТЕМЫ СЧИСЛЕНИЯ В ДРУГУЮ ПРИЛОЖЕНИЕ В. СИСТЕМА КОМАНД МИКРОКОНТРОЛЛЕРОВ AVR НАЛИЧИЕ КОМАНД В РАЗЛИЧНЫХ МИКРОКОНТРОЛЛЕРАХ AVR КОМАНДЫ ПО КАТЕГОРИЯМ ПРИЛОЖЕНИЕ Г. СИСТЕМА КОМАНД МИКРОКОНТРОЛЛЕРОВ PIC КОМАНДЫ ВОСЬМИРАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ (Команды по категориям) СИСТЕМА КОМАНД МИКРОКОНТРОЛЛЕРОВ PIC24 ПРИЛОЖЕНИЕ Д. ОБЛАСТЬ ВВОДА/ВЫВОДА МИКРОКОНТРОЛЛЕРОВ AVRATXMEGAA Список ЛИТЕРАТУРЫ
Скачать Программирование на языке С для AVR и PIC микроконтроллеров, 2-е издание + CD