Управление электронными устройствами на C++. Разработка практических приложений
Покупка
Тематика:
Программирование на C и C++
Издательство:
ДМК Пресс
Перевод:
Бакомчев И. В.
Год издания: 2016
Кол-во страниц: 442
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-97060-175-4
Артикул: 643192.02.99
К покупке доступен более свежий выпуск
Перейти
Книга предназначена всем, кому интересно изучение C++ и управление электронными устройствами на реальных и интересных примерах. Читателю предоставлена возможность научиться писать программы для выполнения конкретных задач, а не просто скучное изложение материала с картинками. Также рассказывается как создавать программы, взаимодействующие с внешними устройствами посредством специально разработанной интерфейсной платы. Книга, интерфейсная плата и предлагающееся программное обеспечение представляют собой набор простых и несложных для понимания устройств, таких как цифро-аналоговый преобразователь, аналого-цифровой преобразователь, устройство управления коллекторными и шаговыми электродвигателями, измерители температуры и напряжения, таймеры на базе компьютера и простое устройство сбора данных. Также материал книги содержит сведения из области автоматического управления, электроники и механотроники. Издание будет полезно студентам, инженерам и научным работникам, техникам и радиолюбителям.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 621: Общее машиностроение. Ядерная техника. Электротехника. Технология машиностроения в целом
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- 11.03.03: Конструирование и технология электронных средств
- 11.03.04: Электроника и наноэлектроника
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Управление электронными устройствами на C++ Разработка практических приложений Янта Катупития, Ким Бентли
Jayantha Katupitiya Kim Bentley Interfacing with C++ Programming Real-World Applications
Москва, 2016 Янта Катупития Ким Бентли Управление электронными устройствами на C++ Разработка практических приложений
УДК 621.3:004.438С++ ББК 31.26с К29 Янта Катупития, Ким Бентли. К29 Управление электронными устройствами на C++. Разработка практических приложений. / Перевод с англ. Бакомчев И. В. – М.: ДМК Пресс, 2016. – 442 с. ISBN 978-5-97060-175-4 Книга предназначена всем, кому интересно изучение C++ и управление элек тронными устройствами на реальных и интересных примерах. Читателю предоставлена возможность научиться писать программы для выполнения конкретных задач, а не просто скучное изложение материала с картинками. Также рассказывается как создавать программы, взаимодействующие с внешними устройствами посредством специально разработанной интерфейсной платы. Книга, интерфейсная плата и предлагающееся программное обеспечение представляют собой набор простых и несложных для понимания устройств, таких как цифро-аналоговый преобразователь, аналого-цифровой преобразователь, устройство управления коллекторными и шаговыми электродвигателями, измерители температуры и напряжения, таймеры на базе компьютера и простое устройство сбора данных. Также материал книги содержит сведения из области автоматического управления, электроники и механотроники. Издание будет полезно студентам, инженерам и научным работникам, техникам и радиолюбителям. УДК 621.3:004.438С++ ББК 31.26с Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-3-540-25378-5 (англ.) © Springer-Verlag Berlin Heidelberg ISBN 978-5-97060-175-4 (рус.) © Перевод, оформление, ДМК Пресс, 2016
Оглавление 1 Начало ...................................................................................... 11 1.1. Введение .......................................................................................................................... 11 1.2. Среда разработки программ ..................................................................................... 11 1.2.1. Редактирование ................................................................................................................ 12 1.2.2. Компилирование .............................................................................................................. 12 1.2.3. Редактирование связей .................................................................................................. 14 1.3. Программа на C++ ....................................................................................................... 14 1.3.1. Комментарии в программах ..........................................................................................15 1.3.2. Заголовочные файлы .......................................................................................................16 1.3.3. Синтаксис программы .....................................................................................................17 1.3.4. Служебные слова ..............................................................................................................17 1.3.5. Тип возвращаемого значения ........................................................................................18 1.3.6. Тело функции main() .......................................................................................................18 1.4. Функции ......................................................................................................................... 19 1.4.1. Программа с вызовом функции ...................................................................................20 1.5. Базовые типы данных ................................................................................................. 23 1.6. Функции с параметрами и возвращаемыми значениями .............................. 26 1.7. Заключение .................................................................................................................... 28 1.8. Литература ..................................................................................................................... 29 2 Базовые сведения о параллельном порте и работа с ним ............... 30 2.1. Введение .......................................................................................................................... 30 2.2. Что такое параллельный порт? ............................................................................... 30 2.2.1 Цифровые логические схемы .........................................................................................31 2.2.2. Устройство параллельного порта.................................................................................32 2.3. Представление данных ............................................................................................... 35 2.4. Программа для отображения шестнадцатеричных и десятичных чисел .....37 2.5. Заключение .................................................................................................................... 38 2.6. Литература ..................................................................................................................... 38 3 Тестирование параллельного порта ............................................. 39 3.1. Введение .......................................................................................................................... 39 3.2. Источник питания интерфейсной платы ............................................................ 39 3.3. Интерфейс параллельного порта ........................................................................... 42 3.3.1. Схема драйвера светодиодов .........................................................................................44 3.3.2. Работа светодиода .............................................................................................................44 3.4. Элементарный вывод через параллельный порт .............................................. 46 3.5. Ввод через параллельный порт ............................................................................... 48 3.6. Коррекция внутренней инверсии........................................................................... 52 3.6.1. Вывод данных .....................................................................................................................52
Оглавление 6 3.6.2. Работа в качестве входа ...................................................................................................55 3.7. Заключение .................................................................................................................... 56 3.8. Литература ..................................................................................................................... 57 4 Объектно-ориентированное программирование ........................... 58 4.1. Введение .......................................................................................................................... 58 4.2. Воображаемые и реальные объекты ...................................................................... 58 4.3. Реальные объекты ........................................................................................................ 59 4.3.1. Внешний интерфейс объекта ........................................................................................60 4.3.2. Создание и уничтожение объекта ...............................................................................61 4.4. Классы объектов ........................................................................................................... 61 4.5. Инкапсуляция ............................................................................................................... 62 4.5.1. Инстанцирование объектов ...........................................................................................63 4.6. Абстрактные классы ................................................................................................... 63 4.7. Иерархии классов ........................................................................................................ 64 4.8. Наследование ................................................................................................................ 64 4.9. Множественное наследование ................................................................................ 65 4.10. Полиморфизм ............................................................................................................. 66 4.11. Пример иерархии объектов .................................................................................... 66 4.12. Преимущества объектно-ориентированного программирования ............ 71 4.13. Недостатки объектно-ориентированного программирования .................. 71 4.14. Заключение .................................................................................................................. 72 4.15. Литература ................................................................................................................... 72 5 Объектно-ориентированное программирование ........................... 73 5.1. Введение .......................................................................................................................... 73 5.2. Правила обозначения ................................................................................................. 73 5.3. Разработка класса ........................................................................................................ 74 5.3.1. Данные-члены ....................................................................................................................75 5.3.2. Функции-члены .................................................................................................................75 5.3.3. Атрибуты доступа .............................................................................................................75 5.3.4. Определение класса .........................................................................................................76 5.3.5. Конструктор ........................................................................................................................77 5.3.6. Автоматический конструктор .......................................................................................78 5.3.7. Перегрузка конструкторов ............................................................................................78 5.3.8. Деструкторы........................................................................................................................78 5.4. Класс ParallelPort – этап 1 ........................................................................................ 79 5.4.1. Определение класса .........................................................................................................79 5.5. Программирование с классами ............................................................................... 83 5.5.1. Примеры с атрибутами доступа ...................................................................................86 5.6. Класс ParallelPort – этап 2 ........................................................................................ 89 5.7. Класс ParallelPort – этап 3 ........................................................................................ 93 5.7.1. Полнофункциональный класс ParallelPort ..............................................................93 5.8. Заключение .................................................................................................................... 96
Оглавление 5.9. Литература ..................................................................................................................... 97 6 Цифро-аналоговое преобразование ............................................ 98 6.1. Введение .......................................................................................................................... 98 6.2. Цифро-аналоговое преобразование....................................................................... 98 6.2.1. Основные сведения об операционном усилиетеле ................................................99 6.2.2. Принципы работы ЦАП............................................................................................... 101 6.2.3. Работа DAC0800 ............................................................................................................. 105 6.2.4. Характеристики и параметры ЦАП ......................................................................... 108 6.3. Работа с цифро-аналоговым преобразователем ..............................................109 6.4. Производные классы ................................................................................................112 6.5. Добавление членов к производному классу .....................................................119 6.5.1. Спецификаторы доступа ............................................................................................. 122 6.5.2. Полиморфные функции .............................................................................................. 124 6.6. Заключение ..................................................................................................................134 6.7. Литература ...................................................................................................................134 7 Управление светодиодами ........................................................ 135 7.1. Введение ........................................................................................................................135 7.2. Циклы ............................................................................................................................135 7.2.1. Цикл for ............................................................................................................................. 135 7.2.2. Циклы while и do-while ................................................................................................ 138 7.3. Переходы .......................................................................................................................139 7.3.1. Выражение if .................................................................................................................... 139 7.3.2. Выражения break и continue ....................................................................................... 141 7.3.3. Выражение switch-case ................................................................................................. 142 7.4. Массивы ........................................................................................................................143 7.5. Указатели ......................................................................................................................146 7.5.1. Объявление указателей ............................................................................................... 147 7.5.2. Указатели на скалярные величины .......................................................................... 148 7.5.3. Указатели на объекты классов ................................................................................... 149 7.5.4. Указатели на массивы ................................................................................................... 150 7.5.5. Массивы указателей ...................................................................................................... 152 7.5.6. Арифметические операции над указателями ....................................................... 152 7.5.7. Указатели на функции .................................................................................................. 155 7.5.8. Указатели на void ........................................................................................................... 158 7.5.9. Указатель this ................................................................................................................... 159 7.6. Работа с указателями ................................................................................................160 7.6.1. Массивы чисел для светодиодов .............................................................................. 160 7.7. Макросы ........................................................................................................................168 7.8. Динамическое выделение памяти ........................................................................169 7.9. Обработка исключений............................................................................................172 7.10. Заключение ................................................................................................................177 7.11. Литература .................................................................................................................178
Оглавление 8 8 Управление шаговыми и коллекторными электродвигателями ..... 179 8.1. Введение ........................................................................................................................179 8.2. Двигатели постоянного тока ..................................................................................179 8.2.1. Конструкция и характеристики двигателей постоянного тока ..................... 180 8.2.2. Управление коллекторным двигателем .................................................................. 181 8.3. Шаговые двигатели ...................................................................................................182 8.3.1. Конструкции шаговых двигателей........................................................................... 183 8.3.2. Устройство шаговых двигателей ............................................................................... 183 8.3.3. Управление шаговым двигателем ............................................................................. 189 8.3.4. Характеристики шаговых двигателей ..................................................................... 190 8.4. Иерархия классов для двигателей .......................................................................191 8.5. Введение в виртуальные функции .......................................................................193 8.5.1. Чистая виртуальная функция ................................................................................... 196 8.5.2. Формирование сигнала с ШИМ ............................................................................... 203 8.6. Виртуальные функции в приложении ...............................................................211 8.6.1. Виртуальные деструкторы .......................................................................................... 216 8.7. Ввод с клавиатуры .....................................................................................................232 8.8. Заключение ..................................................................................................................245 8.9. Литература ...................................................................................................................245 9 Методы программирования ...................................................... 247 9.1. Введение ........................................................................................................................247 9.2. Методы эффективного программирования ......................................................247 9.3. Модульные программы ............................................................................................255 9.3.1. Разбиение программы на модули ............................................................................. 255 9.3.2. Сборка многофайловой программы ........................................................................ 256 9.4. Пример программы управления двигателями .................................................261 9.5. Заключение ..................................................................................................................273 9.6. Литература ...................................................................................................................273 10 Измерение напряжения и температуры .................................. 274 10.1. Введение .....................................................................................................................274 10.2. Преобразование напряжения в последовательность импульсов ............274 10.3. Измерение температуры .......................................................................................275 10.4. Класс ГУН ..................................................................................................................276 10.5. Измерение напряжения с помощью ГУН .......................................................280 10.6. Работа с графикой – отображение прямоугольных импульсов ..............287 10.6.1. Работа с экраном .......................................................................................................... 288 10.7. Измерение температуры .......................................................................................292 10.7.1. Калибровка термистора ............................................................................................. 293 10.8. Заключение ................................................................................................................297 10.9. Литература .................................................................................................................297
Оглавление 11 Аналого-цифровое преобразование ........................................ 298 11.1. Введение .....................................................................................................................298 11.2. Аналого-цифровое пребразование ....................................................................298 11.3. Методы преобразования .......................................................................................301 11.4. Измерение напряжения при помощи АЦП ....................................................307 11.5. Класс АЦП .................................................................................................................313 11.6. Измерение напряжения при помощи АЦП ....................................................320 11.7. Измерение температуры при помощи АЦП ...................................................323 11.8. Заключение ................................................................................................................326 11.9. Литература .................................................................................................................326 12 Сбор данных с использованием перегрузки операторов........... 327 12.1. Введение .....................................................................................................................327 12.2. Перегрузка операторов ..........................................................................................327 12.2.1. Передача параметров функции по значению ..................................................... 329 12.2.2. Передача парметров функции по ссылке ............................................................ 330 12.2.3. Выбор способа передачи параметров .................................................................... 331 12.2.4. Конструктор копии ..................................................................................................... 335 12.2.5. Перегрузка операторов при помощи функций-членов .................................. 342 12.2.6. Перегрузка операторов при помощи обычных функций ............................... 344 12.2.7. Дружественные связи ................................................................................................. 346 12.2.8. Потоки ввода/вывода ................................................................................................. 348 12.2.9. Транзитные объекты ................................................................................................... 349 12.2.10. Оператор присвоения .............................................................................................. 351 12.3. Сбор данных ..............................................................................................................354 12.4. Заключение ................................................................................................................358 12.5. Литература .................................................................................................................358 13 Таймер персонального компьютера ........................................ 359 13.1. Введение .....................................................................................................................359 13.2. Устройство таймера персонального компьютера .........................................359 13.2.1. Конфигурирование счётчиков ................................................................................ 361 13.2.2. Регистр управления .................................................................................................... 362 13.2.3. Режимы работы таймеров ......................................................................................... 364 13.2.4. Чтение данных таймера ............................................................................................. 366 13.3. Работа с таймером ...................................................................................................367 13.3.1. Чтение текущего значения таймера 0 и количества тиков ............................ 368 13.4. Класс PCTimer ..........................................................................................................368 13.5. Измерение времени.................................................................................................374 13.6. Измерение скорости реакции человека ...........................................................376 13.7. Формирование развёртки во времени ..............................................................378 13.8. Сбор данных с метками времени ........................................................................381
Оглавление 10 13.8.1. Схема заряда/разряда ................................................................................................ 381 13.8.2. Сбор данных с метками времени ............................................................................ 382 13.9. Заключение ................................................................................................................387 13.10. Литература ...............................................................................................................388 A Приложение. Электронное оборудование ................................ 389 Принципиальная схема ................................................................................................... 389 Печатная плата ................................................................................................................... 389 Сборка ...................................................................................................................................390 Пайка ....................................................................................................................................392 Правила чтения принципиальной схемы ..................................................................393 Наладка .................................................................................................................................393 Демонтаж компонентов ...................................................................................................394 Соединительные кабели и провода .............................................................................395 Блок питания ......................................................................................................................396 Интерфейс параллельного порта .................................................................................399 Драйвер светодиодов ........................................................................................................402 Цифро-аналоговый преобразователь .........................................................................404 Схема управления двигателями ...................................................................................408 Управляемый напряжением генератор импульсов ................................................412 Аналого-цифровой преобразователь ..........................................................................415 Мультиплексор ...................................................................................................................418 Управляемый источник тока .........................................................................................421 Повторитель напряжения ...............................................................................................423 Схема заряда/разряда ......................................................................................................425 Пара светодиод-фотоприёмник ....................................................................................427 Кнопка, потенциометр, диод и стабилитрон ............................................................428 Перечень элементов и материалов интерфейсной платы ...................................430 B Приложение ........................................................................... 434 Служебные слова C++ .....................................................................................................434 Приоритет операторов .....................................................................................................435 Символы ASCII ..................................................................................................................436 Предметный указатель .................................................................. 437
К покупке доступен более свежий выпуск
Перейти