СОДЕРЖАНИЕ
Глава 1
Принятые обозначения и сокращения 13
Глава 2
Основные характеристики микроконтроллеров PICmicro® 15
Глава 3
Корпуса PIC-микроконтроллеров и назначение выводов 19
Микроконтроллеры младшего подсемейства 20
Микроконтроллеры среднего подсемейства 22
Микроконтроллеры PIC 1 7Схх 25
Микроконтроллеры PIC 18Схх 26
Глава 4
Система команд микроконтроллеров PICmicro® 37
Параметры 38
Системы команд PIC-микроконтроллеров младшего и среднего подсемейств 38
Система команд микроконтроллеров подсемейства PIC 17Схх 46
Система команд микроконтроллеров подсемейства PIC 18Схх 56
Мнемоника специальных команд 69
Ассемблер фирмы Parallax Inc для PIC-микроконтроллеров 72
Глава 5
Архитектура процессора микроконтроллеров PICmicro№ 79
Арифметико-логическое устройство PIC-микроконтроллеров Микроконтроллеры PlCmicro® младшего подсемейства 80
Доступ к регистрам 83
Регистр состояния 84
Счетчик команд 84
Микроконтроллеры среднего подсемейства 86
Доступ к регистрам 87
Регистр состояния 88
Счетчик команд 88
Управление прерываниями 88
Основные компоненты программы обработки прерываний 90
Микроконтроллеры PIC 1 7Схх 90
Доступ к регистрам 92
Регистр состояния 93
Счетчик команд 93
Выполнение прерываний 94
Основные компоненты программы обработки прерываний 95
Микроконтроллеры PIC 1 8Схх 96
Доступ к регистрам 97
Регистры состояния 99
Счетчик команд 99
Выполнение прерываний 102
Общий вид программы обработки прерываний 102
Глава 6
Управляющие регистры PIC-микроконтроллеров 103
Микроконтроллеры младшего подсемейства 104
Микроконтроллеры среднего подсемейства 106
Микроконтроллеры PIC 17Схх 121
Микроконтроллеры PIC 18Схх 135
Глава 7
Функциональные узлы 149
Регистры конфигурации 150
Генераторы тактовых импульсов 151
Режим ожидания 155
Регистр OPTION 156
Порты ввода/вывода и регистры TRIS 158
Сторожевой таймер 161
Таймер TMR0 162
Прескалер 164
Таймер TMR1 164
Таймер TMR2 167
Модуль ССР 168
Модуль универсального синхронно-асинхронного приемопередатчика 172
Модуль SSP 178
Интерфейс SPI 178
Интерфейс JC 1 82
Встроенный аналого-цифровой преобразователь 188
Встроенные компараторы напряжения 194
Управляемый параллельный порт 197
Доступ к EEPROM данных 199
Доступ к программной памяти EPROM 204
Доступ к программной флэш-памяти 205
Внешняя память 207
Глава 8
Взаимодействие PIC-микроконтроллеров с внешними устройствами 211
Схема для подключения микроконтроллеров к источнику питания 212
Схема перезапуска микроконтроллеров 215
Цифровые уровни 215
Использование параллельной шины 216
Взаимодействие с кнопками 217
Взаимодействие с матричной клавиатурой 219
Объединение входов и выходов 222
Схема эмуляции вывода с открытым коллектором/открытым стоком 223
Управление светодиодными индикаторами 224
Многосегментные светодиодные индикаторы 224
Управление жидкокристаллическим дисплеем 227
Интерфейс 12С в режиме MASTER 258
Интерфейс RS-232 262
Интерфейсы RS-485/RS-422 267
Подпрограммы для последовательного асинхронного обмена 269
Однопроводный интерфейс фирмы Dallas Semiconductor 276
Измерение сопротивлений с помощью цифровых входов/выходов 280
Схемы для управления двигателями 283
Управление серводвигателями 287
Схема формирования звуковых сигналов 288
Управление мощностью нагрузки переменного тока 289
Схемы датчиков на основе эффекта Холла 290
Дистанционное управление телевизионными приемниками фирмы Sony 290
Глава 9
Программирование PIC-микроконтроллеров 295
Нех-файлы 296
Программирование Р1С-микроконтроллера младшего подсемейства 297
Последовательное программирование микроконтроллеров среднего подсемейства 300
Программирование PIC 1 7Схх 308
Внутрисхемное программирование PIC 1 7Схх 311
Программирование PIC 1 8Схх 314
Разъем для внутрисхемного программирования 316
Глава 10
Интерфейсы ПК 319
Распределение оперативной памяти 320
Пространство ввода/вывода 320
Функции прерываний 332
Шина ISA 332
Контакты и линии шины ISA 334
Прорывания 337
Порты клавиатуры и мыши 338
Разъемы 338
Временные диаграммы интерфейса клавиатуры 339
Скан-коды клавиатуры 340
Команды контроллера клавиатуры 343
Интерфейсы BIOS 344
Команды клавиатуры 344
Последовательный порт 346
Выводы разъема 346
Блок-схема УАПП 8250 347
Базовые адреса последовательного порта 348
Регистры УАПП 8250 348
Прерывания 350
Функции прерывания I4h BIOS интерфейса RS-232 352
Параллельный порт 354
Блок-схема и разъем параллельного порта 354
Базовые регистры 356
Регистры 356
Функции BIOS параллельного порта 358
Глава 11
Полезные подпрограммы 359
Переход за пределы текущей страницы 360
Таблицы 360
Ветвление по условию 362
Временные задержки 362
Получение дополнительного кода содержимого регистра (изменение знака) 364
Инкрементирование/декрементирование содержимого регистра w 365
«Вращение на месте» 365
Копирование битов из одного регистра в другой 366
Преобразование полубайта в код ASCII 366
Преобразование байта кода ASCII в шестнадцатеричный полубайт 366
Использование входа Т0СК1 в качестве источника прерывания 367
Деление на три 367
Измерение длительности импульса с 16-разрядной точностью 368
Регистрация изменений 368
Проверка диапазона 369
Преобразование символов ASCII в верхний регистр 369
Перестановка содержимого регистра и рабочего регистра w 369
Перестановка содержимого двух регистров 370
Сравнение и перестановка, если Y < X 370
Подсчет числа 1 в байте 370
Генерация бита четности для байта 371
Удержание переменной внутри диапазона 371
Перестановка четных и нечетных битов 371
Побитовые операции 371
Умножение на константу 372
Деление на константу 373
Глава 12
16-разрядные числа 375
Определение 16-разрядных чисел 376
Инкрементирование и декрементирование 376
Сложение/вычитание 377
Побитовые операции с константами и переменными 379
Сравнение 16-разрядных переменных 380
Умножение 382
Деление 384
Глава 13
Рабочие характеристики PIC-микроконтроллеров 387
Токи нагрузок выходов и портов 388
Значения компонентов RC-генератора 388
Рабочие характеристики в режиме LP-генератора 391
Рабочие характеристики в режиме ХТ-генератора 391
Рабочие характеристики в режиме HS-генератора 392
Глава 14
Возможные неисправности устройств с Р1С-микроконтроллерами 393
Глава 15
Средства разработки приложений 399
Функции клавиш текстового редактора 400
Файл MPSIM.INI 400
Среда разработки MPLAB 401
Файлы стимулов 406
Директивы ассемблера 406
Включаемые файлы 406
Компоновка приложений 414
Шаблон программы приложения 416
Язык Basic 416
Расширенная версия Basic 418
PlcBasic 418
Visual Basic 442
Управление вводом/выводом с помощью MSComm 444
Язык С 449
Объявления 449
Операторы 451
Операции 453
Директивы 453
Управляющие последовательности 456
Функции С 457
Функции С для PIC-микраконтроллерав 460
Глава 16
Постоянные и таблицы данных 461
Математические и физические постоянные 462
Код ASCII 462
Управляющие символы кода ASCII 462
Управляющие ANSI-последовательности 465
Расширенный набор символов кода ASCII 467
Символы кода ASCII для Windows 467
Код EBCDIC 470
Ноты 470
Частоты телефонов с тональным набором 470
АТ-команды модема 471
Регистры модема 471
Код Морзе 477
Фонетический алфавит 478
Теп-радиокод 478
Глава 17
Справочная информация по электронике 481
Цветовое кодирование резисторов 482
Электромагнитный спектр 482
Диапазоны радара 482
Цифровая логика 484
Вентили 484
Триггеры 484
Глава 18
Формулы 487
Формулы постоянного тока 488
Формулы переменного тока 489
Физические формулы 490
Булева алгебра 490
Соответствия единиц измерения 491
Глава 19
Библиография 493
Информация о компании Microchip 494
Web-сайты, посвященные PIC-микроконтроллерам 494
Периодические издания 496
Полезные Web-сайты 496
Seattle Robotics Society 496
List of Stamp Applications (L O S A) 496
Adobe PDF Viewers 497
PKZip и PKUnZ.p 497
Часто задаваемые вопросы по аппаратному обеспечению 497
Поставщики комплектующих 497
Предметный указатель 500