Главная| Трекер ▼| Поиск| Правила| FAQ| |
Автор | Сообщение |
---|---|
Искра
Модератор ![]() Сообщения: 30721 ![]() |
Программирование на языке С для AVR и PIC микроконтроллеров 2 издание
![]() Год: 2011 Автор: Шпак Ю.А. Жанр: Программирование, микроконтроллеры Издательство: Корона-Век, МК-Пресс ISBN: 978-5-7931-0842-3, 978-966-8806-67-4 Язык: Русский Формат: DjVu Качество: Отсканированные страницы Количество страниц: 546 CD-приложение к книге http://unionpeer.org/topic/204541-shpak ... lerov.html Описание: В книге рассмотрено программирование на языке С микроконтроллеров AVR с использованием компиляторов WinAVR и CodeVisionAVR, а также микроконтроллеров PIC с использованием компиляторов CCS-PICC, mikroC и СЗО/32. Кратко рассмотрена архитектура и аппаратное обеспечение как традиционных восьмиразрядных микроконтроллеров AVR и PIC, так и новых семейств ATxmega, PIC24 и PIC32. Дано описание средств программной разработки, включая эмуляцию программ с помощью AVR Studio и MPLAB. Кратко рассмотрен стандартный синтаксис языка С и директивы препроцессора, а также особенности программирования на этом языке для микроконтроллеров. Книга содержит программные примеры на С, а также — справочник с описанием системы ассемблерных команд микроконтроллеров AVR (включая ATxmega) и PIC (включая PIC24). Предисловие ко 2-му изданию..........................................................................13 Введение...............................................................................................................14 ЧАСТЬ I. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ AVR 15 Глава 1. Восьмиразрядные микроконтроллеры AVR....................................16 Семейства восьмиразрядных микроконтроллеров AVR..............................18 Отладочная плата..............................................................................................19 Платы STK500 и STK600.................................................................................. 19 Схема базового монтажа..................................................................................21 Структура микроконтроллеров AVR................................................................22 Организация памяти........................................................................................22 Память SRAM..........................................................................................................23 Память программ.....................................................................................................33 Память данных типа EEPROM................................................................................34 Порты...............................................................................................................36 Подтягивающее сопротивление..............................................................................37 Регистры управления портом..................................................................................39 Таймеры/счетчики............................................................................................39 Т/СО..........................................................................................................................40 Т/С1..........................................................................................................................41 Т/С2.........................................................................................................................47 Сторожевой таймер........................................................................................48 Обработка прерываний....................................................................................49 Управление прерываниями.....................................................................................52 Сброс.................................................................................................................54 "Спящие"режимы процессора........................................................................55 Последовательный ввод/вывод.........................................................................56 Приемопередатчик UART.......................................................................................57 Приемопередатчик USART.....................................................................................60 Синхронная передача данных по интерфейсу SPI..................................................65 Работа приемопередатчика US ART в режиме SPI..................................................69 Синхронная передача данных по интерфейсу I2C (TWI)........................................70 Универсальный последовательный интерфейс USI................................................75 Модули последовательного ввода/вывода в семействах AT90S, ATtiny и ATmega.................................................................................................................79 Аналого-цифровое преобразование..................................................................80 Встроенный аналоговый компаратор.............................................................86 Программирование памяти..............................................................................87 Разряды предохранения....................................................................................89 Параллельное программирование......................................................................89 Переход в режим параллельного программирования.............................................91 Очистка кристалла...................................................................................................91 Программирование и чтение памяти программ......................................................92 Программирование разрядов блокировки и предохранения..................................93 Последовательное программирование.............................................................93 технология PICOPOWER.......................................................................................96 Глава 2. Семейство AVR ATxmega.....................................................................97 Обзор возможностей микроконтроллеров ATxmega а.................................97 Организация памяти семейства ATxmega.....................................................99 Область ввода/вывода семейства ATxmega..................................................100 Арбитраж шины данных................................................................................100 Память программ,..........................................................................................101 контроллер прямого доступа к памяти........................................................ 102 Система обработки событий...........................................................................109 Генерирование событий вручную.................................................................../14 Фильтрация....................................................................................................114 Квадратурный дешифратор..........................................................................115 Система синхронизации.................................................................................117 Выбор источника тактового сигнала системной синхронизации................120 Счетчики реального времени..........................................................................122 Счетчик RTC....................................................................................:..............123 Счетчик RTC32...............................................................................................123 Модуль питания от батареи............................................................................123 Обработка прерываний.....................................................................................124 Немаскируемые прерывания...........................................................................125 Регистр управления контроллером прерываний............................................125 Аналого-цифровое преобразование..............................................................126 Конфигурирование АЦП.................................................................................127 Выбор разрешения преобразования......................................................................127 Выбор очередности преобразований в каналах....................................................127 Выбор режима измерения.....................................................................................127 Выбор опорного напряжения................................................................................129 Выбор коэффициента деления частоты тактирования..........................................130 Результаты измерения...................................................................................130 Прерывание от АЦП.......................................................................................130 цифро-аналоговое преобразование............................................................... 131 Начало преобразования..................................................................................132 Ограничения на время преобразования..........................................................133 аналоговый компаратор................................................................................. 134 Режимы работы компаратора.....................................................................135 Средства шифрования......................................................................................136 Модуль шифрования AES................................................................................137 Модуль обмена данными по инфракрасному каналу................................138 ЧАСТЬ II. КОМПИЛЯТОРЫ И СРЕДСТВА РАЗРАБОТКИ ДЛЯ МИКРОКОНТРОЛЛЕРОВ AVR 140 Глава 3. Компилятор WinAVR.........................................................................141 Глава 4. Среда разработки AVR Studio............................................................146 Эмуляция............................................................................................................148 Окно Memory.....................................................................................................151 окно register....................................................................................................152 Окно Watch........................................................................................................152 Отладка программы.........................................................................................152 настройка параметров имитатора................................................................153 Создание проекта и компиляция программы..............................................153 Компиляция проекта......................................................................................156 Глава 5. Среда разработки CodeVisionAVR....................................................158 компиляция и построение проекта............................................................... 159 Создание проекта с помощью мастера CodeWizardAVR.........................164 Сохранение и открытие проекта CodeWizardAVR.......................................171 Создание новых файлов с исходным кодом...............................................172 Отладка программы.........................................................................................173 Использование терминала..............................................................................174 Глава 6. Программаторы для микроконтроллеров AVR............................175 Программные средства для программирования микроконтроллеров.....179 Программирование устройства в среде A VR Studio 4...................................179 Программирование устройства в среде CodeVisionA VR..............................181 ЧАСТЬ III. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ PIC 184 Гдава 7. Восьмиразрядные микроконтроллеры PIC...................................185 Общие аспекты архитектуры восьмиразрядных микроконтроллеров pic....................,.............................................................. 186 Организация памяти......................................................................................186 Организация тактирования...........................................................................188 Порты.............................................................................................................190 Таймеры..........................................................................................................192 TMR0 и сторожевой таймер..................................................................................192 TMR1.....................................................................................................................194 TMR2.....................................................................................................................195 Модуль ССР...........................................................................................................197 Обработка прерываний..................................................................................198 Микроконтроллеры серии Р1С17Сх......................................................................199 Микроконтроллеры серии Р1С18Сх......................................................................200 Сброс...............................................................................................................202 Последовательный обмен данными...............................................................202 Приемопередатчик USART...................................................................................203 Синхронная передача данных по интерфейсу SP1................................................204 Синхронная передача данных по интерфейсу 12С................................................206 Аналого-цифровое преобразование................................................................207 Встроенный аналоговый компаратор................................*...................................209 Семейство микроконтроллеров PIC16...........................................................210 Микроконтроллер 16F84A..............................................................................211 Регистр состояния.................................................................................................212 Организация памяти..............................................................................................213 Слово конфигурации.............................................................................................215 Память eeprom.................................................................................................................215 микроконтроллеры серии 12F50X...................................................................216 Глава 8. Семейство PIC18F................................................................................219 Организация памяти........................................................................................221 Конфигурационные регистры........................................................................222 организация тактирования............................................................................225 Внутренний осциллятор.................................................................................226 Переключение источника тактирования......................................................226 таймеры..............................................................................................................227 TMR0...............................................................................................................227 TMR1...............................................................................................................228 TMR3...............................................................................................................228 АЦП:.....................................................................................................................229 Обработка прерываний.....................................................................................229 Глава 9. Семейство PIC24...................................................................................231 Порты..................................................................................................................234 Таймеры..............................................................................................................236 Прерывания........................................................................................................236 Вложение прерываний....................................................................................238 Системные прерывания..................................................................................239 Окно program Space visibility.......................................................................239 Интерфейс SPI....................................................................................................240 ПортРМР.............................................................................................................241 АЦП......................................................................................................................241 модуль CTMU....................................................................................................244 Измерение заряда конденсатора...................................................................245 Измерение времени.........................................................................................245 Формирование импульсных последовательностей и задержек....................246 Глава 10. Семейство PIC32.................................................................................248 Порты..................................................................................................................250 Таймеры..............................................................................................................251 Системная шина...............................................................................................251 Организация памяти........................................................................................252 Прерывания и исключения..............................................................................254 Система тактирования....................................................................................258 Интерфейс SPI....................................................................................................258 ПортРМР............................................................................................................258 АЦП......................................................................................................................259 Модуль сравнения на выходе.........................................................................259 ЧАСТЬ IV. КОМПИЛЯТОРЫ И СРЕДСТВА РАЗРАБОТКИ ДЛЯ МИКРОКОНТРОЛЛЕРОВ PIC 260 Глава 11. Компилятор CCS-PICC......................................................................261 Создание проектов CCS-PICC вручную.........................................................261 Создание проектов CCS-PICC с помощью PIC Wizard................................265 Создание проектов CCS-PICC с помощью PIC24 Wizard............................271 Открытие и добавление в проект файлов с исходным кодом...................272 Компиляция проекта........................................................................................272 Меню tools........................................................................................................274 Глава 12. Эмуляция и отладка программ в среде MPLAB.........................275 Рабочая область и проект mplab..................................................................276 компиляция под управлением mplab.........................................................277 Настройка режима отладки/эмуляции.........................................................277 Работа в режиме отладки/эмуляции.............................................................279 Окна отладчика................................................................................................280 Глава 13. Компилятор mikroC.......................................................................... 282 Создание проекта mikroC................................................................................283 Компиляция проекта........................................................................................285 Добавление в проект файлов с исходным кодом........................................287 Эмуляция выполнения программы...............................................................288 Вспомогательные инструменты среды mikroC...........................................290 Глава 14. Компиляторы СЗО и С32....................................................................294 Компилятор СЗО.................................................................................................294 Компилятор С32.................................................................................................296 Глава 15. Программаторы для микроконтроллеров PIC............................297 Программные средства для программирования микроконтроллеров.....298 Программирование устройства в среде mikroC............................................300 ЧАСТЬ У. ЯЗЫК С И ДИРЕКТИВЫ ПРЕПРОЦЕССОРА 302 Глава 16. Основы языка С..................................................................................303 Вводные понятия..............................................................................................303 Структура программы на С..............................................................................304 типы данных, переменные, константы.........................................................306 Правила преобразований из одной системы счисления в другую..................308 Тип char...........................................................................................................309 Пользовательские типы.................................................................................309 Переменные.....................................................................................................310 Область видимости переменных...........................................................................310 Константы.....................................................................................................311 Перечислимые типы.......................................................................................311 Приведение типов...........................................................................................312 Оператор sizeof...............................................................................................312 Функции..............................................................................................................312 Возвращаемые значения.................................................................................313 Прототипы функций......................................................................................314 Классы памяти при объявлении локальных переменных...............................314 Рекурсия..........................................................................................................315 Структуры...........................................................................................................316 Указатели и адреса переменных....................................................................318 Передача в функции параметров по ссылке..................................................318 Указатели на структуры...............................................................................319 массивы и строки.............................................................,...............................320 Строки............................................................................................................321 Многомерные массивы...................................................................:.........-......321 Операторы ветвления.......................................................................................321 Оператор if-else..............................................................................................322 Условные выражения.....................................................................................322 Оператор switch-case.....................................................................................322 Циклические конструкции..............................................................................323 Конструкция while..........................................................................................323 Конструкция for.......................................................................................:......324 Конструкция do-while.....................................................................................324 Организация бесконечных циклов...................................................................325 Операторы break и continue...........................................................................325 Стандартные функции ввода/вывода...........................................................325 Ввод/вывод символов с помощью функций getcharQ и putcharQ...................326 Функции вывода строк puts 0 и printfO..........................................................327 Функции ввода строк gets 0 и scanfO..............................................................328 Директивы препроцессора...............................................................................329 Директива ^include.........................................................................................329 Директива ttdefine...........................................................................................329 Директивы условной компиляции........................................................,..........331 Директива terror............................................................................................333 Директива ^pragma компилятора CodeVisionA VR........................................333 Директивы, характерные для компилятора CCS-PICC................................333 Директива #bit.......................................................................................................334 Директива #byte.....................................................................................................334 Директива #case.....................................................................................................334 Директива #device.................................................................................................334 Директива #fiise.....................................................................................................335 Директива #locate..................................................................................................336 Директива #org......................................................................................................336 Директива #opt.......................................................................................................337 Директива #priority................................................................................................337 Директива #reserve................................................................................................338 Директива #r6m.....................................................................................................338 Директива #type.....................................................................................................338 Директива #use delay.............................................................................................'338 Директива #use xxxjo...........................................................................................338 Директива #use i2c.................................................................................................339 Директива #use rs232.............................................................................................340 Директива #zero_ram.............................................................................................341 Обработка прерываний.....................................................................................341 Обработка прерываний в среде WinA VR.......................................................341 Обработка прерываний в среде CodeVisionAVR............................................343 Обработка прерываний в среде CCS-PICC....................................................343 Обработка прерываний в среде mikroC.........................................................345 Обработка прерываний в среде С30.............................................................. 345 Обработка прерываний в среде С32.............................................................. 347 Исполнение ассемблерного кода..................................................................353 Использование ассемблера в компиляторе WinAVR......................................353 Ассемблерный код.................................................................................................354 Входные и выходные операнды............................................................>...............355 Резервирование регистров.....................................................................................356 Использование ассемблера в компиляторе CodeVisionAVR..........................358 Использование ассемблера в компиляторе CCS-PICC..................................358 Использование ассемблера в компиляторе mikroC........................................359 Использование ассемблера в компиляторах СЗО и С32.................................360 Глава 17. Функции и макросы языка С для различных компиляторов. 361 Стандартные функции языка С.......................................................................361 Функции для работы со строками.................................................................363 Функции для работы с символами.......................... .......................................365 Функции для работы со случайными числами...............................................367 Функции для работы с памятью........................... .........................................367 Функции и макросы компилятора winAVR.................................................368 Математические макросы и функции...........................................................368 Функции для работы со строками.................................................................369 Функции для работы с символами.......................... ........................................373 Макросы и функции для организации ввода/вывода......................................373 Функции управления микроконтроллером.....................................................378 Макросы для работы со сторожевым таймером........................................379 Функции для работы со случайными числами...............................................380 Функции для работы с памятью....................................................................380 Макросы для обработки прерываний.............................................................381 Макросы и функции для работы с памятью EEPROM.................................382 Функции и макросы комдилятора CodeVisionAVR....................................383 Математические макросы и функции...........................................................383 Функции для работы со строками.................................................................384 Функции для работы с символами.......................... .......................................387 Функции управления микроконтроллером.....................................................387 Функции для организации ввода/вывода.........................................................387 Функции для работы с памятью....................................................................388 Функции для работы с интерфейсом fC......................................................389 Функции и макросы компилятора CCS-PICC...............................................389 Математические макросы.............................................................................389 Функции для работы со строками.................................................................390 Функции для организации ввода/вывода.........................................................391 Функции управления микроконтроллером.....................................................394 Функции для работы с таймерами и модулем ССР......................................396 Функции для работы с разрядами и памятью...............................................398 Функции для работы с памятью EEPROM...................................................400 Функции для работы с интерфейсом SPI......................................................401 Функции для работы с интерфейсом PSP.....................................................402 Функции для работы с интерфейсом fC......................................................402 Функции для работы с аналоговыми сигналами............................................403 Функции компилятора mikroC.......................................................................405 Математические функции.............................................................................405 Функции для работы со строками.................................................................405 Функции преобразований................................................................................407 Функции управления микроконтроллером.....................................................407 Функции для работы с периферийными устройствами...............................408 Функции для работы с памятью EEPROMu Flash.......................................409 Функции для работы с интерфейсом fC......................................................410 Функции для работы с интерфейсом SPI......................................................410 ЧАСТЬ VI. ПРОГРАММНЫЕ ПРИМЕРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ AVR 412 Глава 18. Примеры для компилятора WinAVR.............................................413 Управление ЖК-дисплеем...............................................................................413 GPS-навигатор...................................................................................................418 Глава 19. Примеры для компилятора CodeVisionavr................................430 Управление аналого-цифровым преобразованием....................................430 Измерение температуры...................................................................................433 ЧАСТЬ VII. ПРОГРАММНЫЕ ПРИМЕРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ PIC 435 Глава 20. Примеры для компилятора CCS-PICC...........................................436 Отображение состояния выводов порта......................................................436 Управление частотой мерцания светодиодов с помощью различных таймеров............................................................................................................437 Управление светофорами на перекрестке....................................................438 Обмен данными в режиме PSP.........................................................................442 Контроль предельной скорости вращения двигателя................................444 Глава 21. Примеры для компилятора mikroC...............................................446 Игральные "кости"............................................................................................446 Вольтметр с ЖК-дисплеем...............................................................................448 Калькулятор.......................................................................................................450 Глава 22. Примеры для компилятора C30......................................................453 Использование порта РМР..............................................................................453 Небольшая библиотека функций для доступа к ЖК-модулю.......................453 Расширенное управление ЖК-дисплеем.........................................................456 работа с АЦП.....................................................................................................460 Считывание уровня напряжения с потенциометра.....................................461 Измерение температуры...............................................................................465 Глава 23. Примеры для компилятора С32......................................................470 Работа с интерфейсом SPI................................................................................470 Работа с модулем UART..................................................................................473 ЧАСТЬ VIII. ПРИЛОЖЕНИЯ 477 Приложение А. Таблица символов ASCII......................................................478 Приложение Б. Преобразование из одной системы счисления в другую.....................................................................................479 Приложение В. Система команд микроконтроллеров AVR.....................482 Наличие команд в различных микроконтроллерах AVR...........................495 Команды по категориям............................................................................,.....497 Приложение Г. Система команд микроконтроллеров Р1С.......................,498 Команды восьмиразрядных микроконтроллеров........................................498 Команды по категориям1................................. ...............................................509 Система команд микроконтроллеров PIC24................................................510 Приложение д. Область ввода/вывода микроконтроллеров AVR ATXMEGA А........................................................................519 Список литературы...........................................................................................532 Содержимое прилагаемого к книге компакт-диска..................................533 Помоги нашему сайту на расходы за сервер и качай торренты НЕОГРАНИЧЕННО!Пожертвовать 100 ₽ ![]() Или 2204 1201 2214 8816, с комментарием "Помощь трекеру" Связь с администрацией |
Страница 1 из 1 |
![]() |
|