Меню 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
Программирование устройства в среде mikroC............................................300
ЧАСТЬ У. ЯЗЫК С И ДИРЕКТИВЫ ПРЕПРОЦЕССОРА_302
Глава 16. Основы языка С..................................................................................303
Вводные понятия..............................................................................................303
Структура программы на С..............................................................................304
ТИПЫ ДАННЫХ, ПЕРЕМЕННЫЕ, КОНСТАНТЫ.........................................................306
Тип 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