Центральный Дом Знаний - Шпак Ю.А. Программирование на языке C для AVR и PIC микроконтроллеров

Информационный центр "Центральный Дом Знаний"

Заказать учебную работу! Жми!



ЖМИ: ТУТ ТЫСЯЧИ КУРСОВЫХ РАБОТ ДЛЯ ТЕБЯ

      cendomzn@yandex.ru  

Наш опрос

Я учусь (закончил(-а) в
Всего ответов: 2691

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Форма входа

Шпак Ю.А. Программирование на языке C для AVR и PIC микроконтроллеров

Программирование на языке C для AVR и PIC микроконтроллеров


Год: 2011
Автор: Ю.А. Шпак
Издательство: К.: "МК-Пресс", СПб.: "КОРОНА-ВЕК"
Количество страниц: 544
В книге рассмотрено программирование на языке С микроконтроллеров 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
T/C1..........................................................................................................................41
T/C2.........................................................................................................................47
Сторожевой таймер........................................................................................48
Обработка прерываний....................................................................................49
Управление прерываниями.....................................................................................52
Сброс.................................................................................................................54
"Спящие" режимы процессора........................................................................J J
Последовательный ввод/вывод.........................................................................56
Приемопередатчик UART.......................................................................................57
Приемопередатчик USART.....................................................................................60
Синхронная передача данных по интерфейсу SPI..................................................65
Работа приемопередатчика US ART в режиме SPI..................................................69
Синхронная передача данных по интерфейсу I2C (TWI)........................................70
Универсальный последовательный интерфейс US1................................................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
Генерирование событий вручную...................................................................114
Фильтрация....................................................................................................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
ЧАСТЬ 111. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ 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
Синхронная передача данных по интерфейсу SPI................................................204
Синхронная передача данных по интерфейсу 12С................................................206
Аналого-цифровое преобразование................................................................207
Встроенный аналоговый компаратор................................k...................................209
СЕМЕЙСТВО МИКРОКОНТРОЛЛЕРОВ PIC 16...........................................................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
Функции вывода строкputsQ иprintfO..........................................................327
Функции ввода строк getsQ и scanfQ........................................................,.....328
Директивы препроцессора...............................................................................329
Директива ^include.........................................................................................329
Директива ttdefine...........................................................................................329
Директивы условной компиляции........................................................,..........331
Директива terror............................................................................................333
Директива ttpragma компилятора 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 xxxio...........................................................................................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
Использование ассемблера в компиляторе Сос1еУ1яюпАУК..........................358
Использование ассемблера в компиляторе СС8-Р1СС..................................358
Использование ассемблера в компиляторе тИсгоС........................................359
Использование ассемблера в компиляторах СЗО и С32.................................360
Глава 17. Функции и макросы языка С для различных компиляторов. 361
Стандартные функции языка С.......................................................................361
Функции для работы со строками.................................................................363
Функции для работы с символами.................................................................365
Функции для работы со случайными числами...............................................367
Функции для работы с памятью....................................................................367
Функции и макросы компилятора >УпчАУЯ.................................................368
Математические макросы и функции...........................................................368
Функции для работы со строками.................................................................369
Функции для работы с символами.................................................................373
Макросы и функции для организации ввода/вывода......................................373
Функции управления микроконтроллером.....................................................378
Макросы для работы со сторожевым таймером........................................379
Функции для работы со случайными числами...............................................380
Функции для работы с памятью....................................................................380
Макросы для обработки прерываний.............................................................381
Макросы и функции для работы с памятью ЕЕРКОМ.................................382
Функции и макросы комдилятора СоэеУекжАУИ....................................383
Математические макросы и функции...........................................................383
Функции для работы со строками.................................................................384
Функции для работы с символами.................................................................387
Функции управления микроконтроллером.....................................................387
Функции для организации ввода/вывода.........................................................387
Функции для работы с памятью....................................................................388
Функции для работы с интерфейсом (С......................................................389
Функции и макросы компилятора СС8-Р1СС...............................................389
Математические макросы.............................................................................389
Функции для работы со строками.................................................................390
Функции для организации ввода/вывода.........................................................391
Функции управления микроконтроллером.....................................................394
Функции для работы с таймерами и модулем ССР......................................396
Функции для работы с разрядами и памятью...............................................398
Функции для работы с памятью ЕЕРЯОМ...................................................400
Функции для работы с интерфейсом ......................................................401
Функции для работы с интерфейсом Р£Р.....................................................402
Функции для работы с интерфейсом (С.....................................,................402
Функции для работы с аналоговыми сигналами............................................403
Функции компилятора многое.......................................................................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. Примеры для компилятора СЗО......................................................453
Использование порта РМР..............................................................................453
Небольшая библиотека функций для доступа к ЖК-модулю.......................453
Расширенное управление ЖК-дисплеем.........................................................456
Работа с АЦП.....................................................................................................460
Считывание уровня напряжения с потенциометра.....................................461
Измерение температуры...............................................................................465
Глава 23. Примеры для компилятора С32......................................................470
Работа с интерфейсом SPI................................................................................470
Работа с модулем UART..................................................................................473
ЧАСТЬ VIII. ПРИЛОЖЕНИЯ_477
Приложение А. Таблица символов ASCII......................................................478
Приложение Б. Преобразование из одной системы счисления в другую.....................................................................................479
Приложение В. Система команд микроконтроллеров AVR.....................482
Наличие команд в различных микроконтроллерах AVR...........................495
Команды по категориям..................................................................................497
Приложение Г. Система команд микроконтроллеров PIC.......................,498
Команды восьмиразрядных микроконтроллеров........................................498
Команды по категориям1................................................................................509
Система команд микроконтроллеров PIC24................................................510
Приложение Д. Область ввода/вывода микроконтроллеров
AVR ATXMEGA А........................................................................519
Список литературы...........................................................................................532
Содержимое прилагаемого к книге компакт-диска..................................533
Loading

Календарь

«  Октябрь 2024  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031

Архив записей

Друзья сайта

  • Заказать курсовую работу!
  • Выполнение любых чертежей
  • Новый фриланс 24